fetch-json-cache 1.3.13 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Cache.d.cts +5 -2
- package/dist/cjs/Cache.d.ts +5 -2
- package/dist/cjs/Cache.js +1 -1
- package/dist/cjs/Cache.js.map +1 -1
- package/dist/cjs/get.d.cts +1 -1
- package/dist/cjs/get.d.ts +1 -1
- package/dist/cjs/get.js +2 -2
- package/dist/cjs/get.js.map +1 -1
- package/dist/cjs/types.d.cts +3 -3
- package/dist/cjs/types.d.ts +3 -3
- package/dist/cjs/update.d.cts +1 -1
- package/dist/cjs/update.d.ts +1 -1
- package/dist/cjs/update.js +23 -18
- package/dist/cjs/update.js.map +1 -1
- package/dist/esm/Cache.d.ts +5 -2
- package/dist/esm/Cache.js +1 -1
- package/dist/esm/Cache.js.map +1 -1
- package/dist/esm/get.d.ts +1 -1
- package/dist/esm/get.js +2 -2
- package/dist/esm/get.js.map +1 -1
- package/dist/esm/types.d.ts +3 -3
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/update.d.ts +1 -1
- package/dist/esm/update.js +21 -16
- package/dist/esm/update.js.map +1 -1
- package/package.json +11 -11
package/dist/cjs/Cache.d.cts
CHANGED
|
@@ -3,7 +3,10 @@ export default class Cache {
|
|
|
3
3
|
cachePath: string;
|
|
4
4
|
options: CacheOptions;
|
|
5
5
|
constructor(cachePath: string, options?: CacheOptions);
|
|
6
|
-
get<T>(endpoint: string,
|
|
6
|
+
get<T>(endpoint: string, callback: GetCallback<T>): void;
|
|
7
|
+
get<T>(endpoint: string, options: GetOptions, callback: GetCallback<T>): void;
|
|
8
|
+
get<T>(endpoint: string, options?: GetOptions): Promise<T | null>;
|
|
7
9
|
getSync<T>(endpoint: string): T | null;
|
|
8
|
-
clear(callback
|
|
10
|
+
clear(callback: ClearCallback): void;
|
|
11
|
+
clear(): Promise<void>;
|
|
9
12
|
}
|
package/dist/cjs/Cache.d.ts
CHANGED
|
@@ -3,7 +3,10 @@ export default class Cache {
|
|
|
3
3
|
cachePath: string;
|
|
4
4
|
options: CacheOptions;
|
|
5
5
|
constructor(cachePath: string, options?: CacheOptions);
|
|
6
|
-
get<T>(endpoint: string,
|
|
6
|
+
get<T>(endpoint: string, callback: GetCallback<T>): void;
|
|
7
|
+
get<T>(endpoint: string, options: GetOptions, callback: GetCallback<T>): void;
|
|
8
|
+
get<T>(endpoint: string, options?: GetOptions): Promise<T | null>;
|
|
7
9
|
getSync<T>(endpoint: string): T | null;
|
|
8
|
-
clear(callback
|
|
10
|
+
clear(callback: ClearCallback): void;
|
|
11
|
+
clear(): Promise<void>;
|
|
9
12
|
}
|
package/dist/cjs/Cache.js
CHANGED
|
@@ -72,7 +72,7 @@ var Cache = /*#__PURE__*/ function() {
|
|
|
72
72
|
if (typeof callback === 'function') return worker.call(this, callback);
|
|
73
73
|
return new Promise(function(resolve, reject) {
|
|
74
74
|
return worker.call(_this, function(err) {
|
|
75
|
-
err ? reject(err) : resolve(
|
|
75
|
+
err ? reject(err) : resolve();
|
|
76
76
|
});
|
|
77
77
|
});
|
|
78
78
|
};
|
package/dist/cjs/Cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/Cache.ts"],"sourcesContent":["import { safeRm } from 'fs-remove-compat';\n\nimport get from './get.ts';\nimport getSync from './getSync.ts';\nimport hash from './hash.ts';\nimport type { CacheOptions, ClearCallback, GetCallback, GetOptions } from './types.ts';\nimport update from './update.ts';\n\nexport default class Cache {\n cachePath: string;\n options: CacheOptions;\n\n constructor(cachePath: string, options: CacheOptions = {}) {\n if (!(this instanceof Cache)) throw new Error('Cache needs to be called with new');\n if (!cachePath) throw new Error('Cache needs cachePath');\n this.cachePath = cachePath;\n this.options = options;\n if (!this.options.hash) this.options.hash = hash;\n }\n\n get<T>(endpoint: string, options?: GetOptions | GetCallback<T>, callback?: GetCallback<T>):
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/Cache.ts"],"sourcesContent":["import { safeRm } from 'fs-remove-compat';\n\nimport get from './get.ts';\nimport getSync from './getSync.ts';\nimport hash from './hash.ts';\nimport type { CacheOptions, ClearCallback, GetCallback, GetOptions } from './types.ts';\nimport update from './update.ts';\n\nexport default class Cache {\n cachePath: string;\n options: CacheOptions;\n\n constructor(cachePath: string, options: CacheOptions = {}) {\n if (!(this instanceof Cache)) throw new Error('Cache needs to be called with new');\n if (!cachePath) throw new Error('Cache needs cachePath');\n this.cachePath = cachePath;\n this.options = options;\n if (!this.options.hash) this.options.hash = hash;\n }\n\n get<T>(endpoint: string, callback: GetCallback<T>): void;\n get<T>(endpoint: string, options: GetOptions, callback: GetCallback<T>): void;\n get<T>(endpoint: string, options?: GetOptions): Promise<T | null>;\n get<T>(endpoint: string, options?: GetOptions | GetCallback<T>, callback?: GetCallback<T>): void | Promise<T | null> {\n if (typeof options === 'function') {\n callback = options as GetCallback<T>;\n options = null;\n }\n options = options || {};\n\n function worker(endpoint, options, callback) {\n (options as GetOptions).force ? update.call(this, endpoint, callback) : get.call(this, endpoint, callback);\n }\n\n if (typeof callback === 'function') return worker.call(this, endpoint, options, callback);\n return new Promise((resolve, reject) => worker.call(this, endpoint, options, (err, json) => (err ? reject(err) : resolve(json))));\n }\n\n getSync<T>(endpoint: string): T | null {\n // TODO: add async fetching\n return getSync.call(this, endpoint);\n }\n\n clear(callback: ClearCallback): void;\n clear(): Promise<void>;\n clear(callback?: ClearCallback): void | Promise<void> {\n function worker(callback) {\n // ignore errors since it is fine to delete a directory that doesn't exist from a cache standpoint\n safeRm(this.cachePath, callback.bind(null, null));\n }\n\n if (typeof callback === 'function') return worker.call(this, callback);\n return new Promise((resolve, reject) =>\n worker.call(this, (err) => {\n err ? reject(err) : resolve();\n })\n );\n }\n}\n"],"names":["Cache","cachePath","options","Error","hash","get","endpoint","callback","worker","force","update","call","Promise","resolve","reject","err","json","getSync","clear","safeRm","bind"],"mappings":";;;;;;;eAQqBA;;;8BARE;4DAEP;gEACI;6DACH;+DAEE;;;;;;;;;;;;;;;;;;AAEJ,IAAA,AAAMA,sBAAN;;aAAMA,MAIPC,SAAiB;YAAEC,UAAAA,iEAAwB,CAAC;gCAJrCF;QAKjB,IAAI,CAAE,AAAI,YAAJ,IAAI,EALOA,QAKa,MAAM,IAAIG,MAAM;QAC9C,IAAI,CAACF,WAAW,MAAM,IAAIE,MAAM;QAChC,IAAI,CAACF,SAAS,GAAGA;QACjB,IAAI,CAACC,OAAO,GAAGA;QACf,IAAI,CAAC,IAAI,CAACA,OAAO,CAACE,IAAI,EAAE,IAAI,CAACF,OAAO,CAACE,IAAI,GAAGA,eAAI;;iBAT/BJ;IAenBK,OAAAA,GAaC,GAbDA,SAAAA,IAAOC,QAAgB,EAAEJ,OAAqC,EAAEK,QAAyB;;QACvF,IAAI,OAAOL,YAAY,YAAY;YACjCK,WAAWL;YACXA,UAAU;QACZ;QACAA,UAAUA,WAAW,CAAC;QAEtB,SAASM,OAAOF,QAAQ,EAAEJ,OAAO,EAAEK,QAAQ;YACxCL,QAAuBO,KAAK,GAAGC,iBAAM,CAACC,IAAI,CAAC,IAAI,EAAEL,UAAUC,YAAYF,cAAG,CAACM,IAAI,CAAC,IAAI,EAAEL,UAAUC;QACnG;QAEA,IAAI,OAAOA,aAAa,YAAY,OAAOC,OAAOG,IAAI,CAAC,IAAI,EAAEL,UAAUJ,SAASK;QAChF,OAAO,IAAIK,QAAQ,SAACC,SAASC;mBAAWN,OAAOG,IAAI,QAAOL,UAAUJ,SAAS,SAACa,KAAKC;uBAAUD,MAAMD,OAAOC,OAAOF,QAAQG;;;IAC3H;IAEAC,OAAAA,OAGC,GAHDA,SAAAA,QAAWX,QAAgB;QACzB,2BAA2B;QAC3B,OAAOW,kBAAO,CAACN,IAAI,CAAC,IAAI,EAAEL;IAC5B;IAIAY,OAAAA,KAYC,GAZDA,SAAAA,MAAMX,QAAwB;;QAC5B,SAASC,OAAOD,QAAQ;YACtB,kGAAkG;YAClGY,IAAAA,sBAAM,EAAC,IAAI,CAAClB,SAAS,EAAEM,SAASa,IAAI,CAAC,MAAM;QAC7C;QAEA,IAAI,OAAOb,aAAa,YAAY,OAAOC,OAAOG,IAAI,CAAC,IAAI,EAAEJ;QAC7D,OAAO,IAAIK,QAAQ,SAACC,SAASC;mBAC3BN,OAAOG,IAAI,QAAO,SAACI;gBACjBA,MAAMD,OAAOC,OAAOF;YACtB;;IAEJ;WAjDmBb"}
|
package/dist/cjs/get.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { GetCallback } from './types.js';
|
|
2
|
-
export default function getCache<T>(endpoint: string, callback: GetCallback<T>):
|
|
2
|
+
export default function getCache<T>(endpoint: string, callback: GetCallback<T>): void;
|
package/dist/cjs/get.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { GetCallback } from './types.js';
|
|
2
|
-
export default function getCache<T>(endpoint: string, callback: GetCallback<T>):
|
|
2
|
+
export default function getCache<T>(endpoint: string, callback: GetCallback<T>): void;
|
package/dist/cjs/get.js
CHANGED
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
|
-
var
|
|
12
|
+
var _getfilecompat = require("get-file-compat");
|
|
13
13
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
14
|
var _updatets = /*#__PURE__*/ _interop_require_default(require("./update.js"));
|
|
15
15
|
function _interop_require_default(obj) {
|
|
@@ -28,7 +28,7 @@ function getCache(endpoint, callback) {
|
|
|
28
28
|
});
|
|
29
29
|
} else {
|
|
30
30
|
var record = JSON.parse(contents.toString());
|
|
31
|
-
(0,
|
|
31
|
+
(0, _getfilecompat.head)(endpoint, function(err, res) {
|
|
32
32
|
// not accessible
|
|
33
33
|
if (err) {
|
|
34
34
|
if (err.code === 'ENOTFOUND' || err.message.indexOf('routines:SSL23_GET_SERVER_HELLO') >= 0) return callback(null, record.body);
|
package/dist/cjs/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/get.ts"],"sourcesContent":["import fs from 'fs';\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/get.ts"],"sourcesContent":["import fs from 'fs';\nimport { head } from 'get-file-compat';\nimport path from 'path';\n\nimport update from './update.ts';\n\ninterface GetError {\n code?: string;\n}\n\ninterface GetHeaders {\n etag?: string;\n}\n\nimport type { GetCallback } from './types.ts';\n\nexport default function getCache<T>(endpoint: string, callback: GetCallback<T>): void {\n const fullPath = path.join(this.cachePath, `${this.options.hash(endpoint)}.json`);\n fs.readFile(fullPath, (err, contents) => {\n // doesn't exist so create\n if (err) {\n update.call(this, endpoint, (err, json) => {\n err ? callback(err) : callback(null, json);\n });\n }\n // check existing if etag changed and if so, recache\n else {\n const record = JSON.parse(contents.toString());\n head(endpoint, (err, res) => {\n // not accessible\n if (err) {\n if ((err as GetError).code === 'ENOTFOUND' || err.message.indexOf('routines:SSL23_GET_SERVER_HELLO') >= 0) return callback(null, record.body);\n return callback(err);\n }\n if ((res.headers as GetHeaders).etag === record.headers.etag) return callback(null, record.body);\n update.call(this, endpoint, (err, json) => {\n err ? callback(err) : callback(null, json);\n });\n });\n }\n });\n}\n"],"names":["getCache","endpoint","callback","fullPath","path","join","cachePath","options","hash","fs","readFile","err","contents","update","call","json","record","JSON","parse","toString","head","res","code","message","indexOf","body","headers","etag"],"mappings":";;;;+BAgBA;;;eAAwBA;;;yDAhBT;6BACM;2DACJ;+DAEE;;;;;;AAYJ,SAASA,SAAYC,QAAgB,EAAEC,QAAwB;;IAC5E,IAAMC,WAAWC,aAAI,CAACC,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE,AAAC,GAA8B,OAA5B,IAAI,CAACC,OAAO,CAACC,IAAI,CAACP,WAAU;IAC1EQ,WAAE,CAACC,QAAQ,CAACP,UAAU,SAACQ,KAAKC;QAC1B,0BAA0B;QAC1B,IAAID,KAAK;YACPE,iBAAM,CAACC,IAAI,QAAOb,UAAU,SAACU,KAAKI;gBAChCJ,MAAMT,SAASS,OAAOT,SAAS,MAAMa;YACvC;QACF,OAEK;YACH,IAAMC,SAASC,KAAKC,KAAK,CAACN,SAASO,QAAQ;YAC3CC,IAAAA,mBAAI,EAACnB,UAAU,SAACU,KAAKU;gBACnB,iBAAiB;gBACjB,IAAIV,KAAK;oBACP,IAAI,AAACA,IAAiBW,IAAI,KAAK,eAAeX,IAAIY,OAAO,CAACC,OAAO,CAAC,sCAAsC,GAAG,OAAOtB,SAAS,MAAMc,OAAOS,IAAI;oBAC5I,OAAOvB,SAASS;gBAClB;gBACA,IAAI,AAACU,IAAIK,OAAO,CAAgBC,IAAI,KAAKX,OAAOU,OAAO,CAACC,IAAI,EAAE,OAAOzB,SAAS,MAAMc,OAAOS,IAAI;gBAC/FZ,iBAAM,CAACC,IAAI,QAAOb,UAAU,SAACU,KAAKI;oBAChCJ,MAAMT,SAASS,OAAOT,SAAS,MAAMa;gBACvC;YACF;QACF;IACF;AACF"}
|
package/dist/cjs/types.d.cts
CHANGED
|
@@ -8,6 +8,6 @@ export interface CacheOptions {
|
|
|
8
8
|
export interface GetOptions {
|
|
9
9
|
force?: boolean;
|
|
10
10
|
}
|
|
11
|
-
export type GetCallback<T> = (error?: Error, result?: T) =>
|
|
12
|
-
export type ClearCallback = (error?: Error) =>
|
|
13
|
-
export type UpdateCallback<T> = (error?: Error, result?: T) =>
|
|
11
|
+
export type GetCallback<T> = (error?: Error, result?: T) => void;
|
|
12
|
+
export type ClearCallback = (error?: Error) => void;
|
|
13
|
+
export type UpdateCallback<T> = (error?: Error, result?: T) => void;
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ export interface CacheOptions {
|
|
|
8
8
|
export interface GetOptions {
|
|
9
9
|
force?: boolean;
|
|
10
10
|
}
|
|
11
|
-
export type GetCallback<T> = (error?: Error, result?: T) =>
|
|
12
|
-
export type ClearCallback = (error?: Error) =>
|
|
13
|
-
export type UpdateCallback<T> = (error?: Error, result?: T) =>
|
|
11
|
+
export type GetCallback<T> = (error?: Error, result?: T) => void;
|
|
12
|
+
export type ClearCallback = (error?: Error) => void;
|
|
13
|
+
export type UpdateCallback<T> = (error?: Error, result?: T) => void;
|
package/dist/cjs/update.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { UpdateCallback } from './types.js';
|
|
2
|
-
export default function update<T>(endpoint: string, callback: UpdateCallback<T>):
|
|
2
|
+
export default function update<T>(endpoint: string, callback: UpdateCallback<T>): void;
|
package/dist/cjs/update.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { UpdateCallback } from './types.js';
|
|
2
|
-
export default function update<T>(endpoint: string, callback: UpdateCallback<T>):
|
|
2
|
+
export default function update<T>(endpoint: string, callback: UpdateCallback<T>): void;
|
package/dist/cjs/update.js
CHANGED
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
12
|
var _fsremovecompat = require("fs-remove-compat");
|
|
13
|
-
var
|
|
13
|
+
var _getfilecompat = require("get-file-compat");
|
|
14
14
|
var _mkdirpclassic = /*#__PURE__*/ _interop_require_default(require("mkdirp-classic"));
|
|
15
15
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
16
16
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
@@ -24,24 +24,29 @@ function update(endpoint, callback) {
|
|
|
24
24
|
var fullPath = _path.default.join(this.cachePath, "".concat(this.options.hash(endpoint), ".json"));
|
|
25
25
|
(0, _mkdirpclassic.default)(this.cachePath, function(err) {
|
|
26
26
|
if (err && err.code !== 'EEXIST') return callback(err);
|
|
27
|
-
(0,
|
|
27
|
+
(0, _getfilecompat.getContent)(endpoint, 'utf8', function(err, res) {
|
|
28
28
|
if (err) return callback(err);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
29
|
+
try {
|
|
30
|
+
var body = JSON.parse(res.content);
|
|
31
|
+
var record = {
|
|
32
|
+
headers: res.headers,
|
|
33
|
+
body: body
|
|
34
|
+
};
|
|
35
|
+
var tempFile = "".concat(fullPath, "-").concat((0, _tempsuffix.default)());
|
|
36
|
+
var queue = new _queuecb.default(1);
|
|
37
|
+
queue.defer(_fs.default.writeFile.bind(null, tempFile, JSON.stringify(record), 'utf8'));
|
|
38
|
+
queue.defer(function(cb) {
|
|
39
|
+
return (0, _fsremovecompat.rm)(fullPath, cb.bind(null, null));
|
|
40
|
+
});
|
|
41
|
+
queue.defer(_fs.default.rename.bind(null, tempFile, fullPath));
|
|
42
|
+
queue.await(function(err) {
|
|
43
|
+
if (!err) return callback(null, record.body);
|
|
44
|
+
// cleanup the temp file if the operation failed
|
|
45
|
+
(0, _fsremovecompat.rm)(tempFile, callback.bind(err));
|
|
46
|
+
});
|
|
47
|
+
} catch (err) {
|
|
48
|
+
return callback(err);
|
|
49
|
+
}
|
|
45
50
|
});
|
|
46
51
|
});
|
|
47
52
|
}
|
package/dist/cjs/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/update.ts"],"sourcesContent":["import fs from 'fs';\nimport { rm } from 'fs-remove-compat';\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/update.ts"],"sourcesContent":["import fs from 'fs';\nimport { rm } from 'fs-remove-compat';\nimport { getContent } from 'get-file-compat';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport tempSuffix from 'temp-suffix';\n\nimport type { Record, UpdateCallback } from './types.ts';\n\nexport default function update<T>(endpoint: string, callback: UpdateCallback<T>): void {\n const fullPath = path.join(this.cachePath, `${this.options.hash(endpoint)}.json`);\n\n mkdirp(this.cachePath, (err) => {\n if (err && err.code !== 'EEXIST') return callback(err);\n\n getContent(endpoint, 'utf8', (err, res) => {\n if (err) return callback(err);\n\n try {\n const body = JSON.parse(res.content);\n const record = { headers: res.headers, body } as Record<T>;\n const tempFile = `${fullPath}-${tempSuffix()}`;\n\n const queue = new Queue(1);\n queue.defer(fs.writeFile.bind(null, tempFile, JSON.stringify(record), 'utf8'));\n queue.defer((cb) => rm(fullPath, cb.bind(null, null)));\n queue.defer(fs.rename.bind(null, tempFile, fullPath));\n queue.await((err) => {\n if (!err) return callback(null, record.body);\n // cleanup the temp file if the operation failed\n rm(tempFile, callback.bind(err));\n });\n } catch (err) {\n return callback(err);\n }\n });\n });\n}\n"],"names":["update","endpoint","callback","fullPath","path","join","cachePath","options","hash","mkdirp","err","code","getContent","res","body","JSON","parse","content","record","headers","tempFile","tempSuffix","queue","Queue","defer","fs","writeFile","bind","stringify","cb","rm","rename","await"],"mappings":";;;;+BAUA;;;eAAwBA;;;yDAVT;8BACI;6BACQ;oEACR;2DACF;8DACC;iEACK;;;;;;AAIR,SAASA,OAAUC,QAAgB,EAAEC,QAA2B;IAC7E,IAAMC,WAAWC,aAAI,CAACC,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE,AAAC,GAA8B,OAA5B,IAAI,CAACC,OAAO,CAACC,IAAI,CAACP,WAAU;IAE1EQ,IAAAA,sBAAM,EAAC,IAAI,CAACH,SAAS,EAAE,SAACI;QACtB,IAAIA,OAAOA,IAAIC,IAAI,KAAK,UAAU,OAAOT,SAASQ;QAElDE,IAAAA,yBAAU,EAACX,UAAU,QAAQ,SAACS,KAAKG;YACjC,IAAIH,KAAK,OAAOR,SAASQ;YAEzB,IAAI;gBACF,IAAMI,OAAOC,KAAKC,KAAK,CAACH,IAAII,OAAO;gBACnC,IAAMC,SAAS;oBAAEC,SAASN,IAAIM,OAAO;oBAAEL,MAAAA;gBAAK;gBAC5C,IAAMM,WAAW,AAAC,GAAcC,OAAZlB,UAAS,KAAgB,OAAbkB,IAAAA,mBAAU;gBAE1C,IAAMC,QAAQ,IAAIC,gBAAK,CAAC;gBACxBD,MAAME,KAAK,CAACC,WAAE,CAACC,SAAS,CAACC,IAAI,CAAC,MAAMP,UAAUL,KAAKa,SAAS,CAACV,SAAS;gBACtEI,MAAME,KAAK,CAAC,SAACK;2BAAOC,IAAAA,kBAAE,EAAC3B,UAAU0B,GAAGF,IAAI,CAAC,MAAM;;gBAC/CL,MAAME,KAAK,CAACC,WAAE,CAACM,MAAM,CAACJ,IAAI,CAAC,MAAMP,UAAUjB;gBAC3CmB,MAAMU,KAAK,CAAC,SAACtB;oBACX,IAAI,CAACA,KAAK,OAAOR,SAAS,MAAMgB,OAAOJ,IAAI;oBAC3C,gDAAgD;oBAChDgB,IAAAA,kBAAE,EAACV,UAAUlB,SAASyB,IAAI,CAACjB;gBAC7B;YACF,EAAE,OAAOA,KAAK;gBACZ,OAAOR,SAASQ;YAClB;QACF;IACF;AACF"}
|
package/dist/esm/Cache.d.ts
CHANGED
|
@@ -3,7 +3,10 @@ export default class Cache {
|
|
|
3
3
|
cachePath: string;
|
|
4
4
|
options: CacheOptions;
|
|
5
5
|
constructor(cachePath: string, options?: CacheOptions);
|
|
6
|
-
get<T>(endpoint: string,
|
|
6
|
+
get<T>(endpoint: string, callback: GetCallback<T>): void;
|
|
7
|
+
get<T>(endpoint: string, options: GetOptions, callback: GetCallback<T>): void;
|
|
8
|
+
get<T>(endpoint: string, options?: GetOptions): Promise<T | null>;
|
|
7
9
|
getSync<T>(endpoint: string): T | null;
|
|
8
|
-
clear(callback
|
|
10
|
+
clear(callback: ClearCallback): void;
|
|
11
|
+
clear(): Promise<void>;
|
|
9
12
|
}
|
package/dist/esm/Cache.js
CHANGED
|
@@ -27,7 +27,7 @@ let Cache = class Cache {
|
|
|
27
27
|
}
|
|
28
28
|
if (typeof callback === 'function') return worker.call(this, callback);
|
|
29
29
|
return new Promise((resolve, reject)=>worker.call(this, (err)=>{
|
|
30
|
-
err ? reject(err) : resolve(
|
|
30
|
+
err ? reject(err) : resolve();
|
|
31
31
|
}));
|
|
32
32
|
}
|
|
33
33
|
constructor(cachePath, options = {}){
|
package/dist/esm/Cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/Cache.ts"],"sourcesContent":["import { safeRm } from 'fs-remove-compat';\n\nimport get from './get.ts';\nimport getSync from './getSync.ts';\nimport hash from './hash.ts';\nimport type { CacheOptions, ClearCallback, GetCallback, GetOptions } from './types.ts';\nimport update from './update.ts';\n\nexport default class Cache {\n cachePath: string;\n options: CacheOptions;\n\n constructor(cachePath: string, options: CacheOptions = {}) {\n if (!(this instanceof Cache)) throw new Error('Cache needs to be called with new');\n if (!cachePath) throw new Error('Cache needs cachePath');\n this.cachePath = cachePath;\n this.options = options;\n if (!this.options.hash) this.options.hash = hash;\n }\n\n get<T>(endpoint: string, options?: GetOptions | GetCallback<T>, callback?: GetCallback<T>):
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/Cache.ts"],"sourcesContent":["import { safeRm } from 'fs-remove-compat';\n\nimport get from './get.ts';\nimport getSync from './getSync.ts';\nimport hash from './hash.ts';\nimport type { CacheOptions, ClearCallback, GetCallback, GetOptions } from './types.ts';\nimport update from './update.ts';\n\nexport default class Cache {\n cachePath: string;\n options: CacheOptions;\n\n constructor(cachePath: string, options: CacheOptions = {}) {\n if (!(this instanceof Cache)) throw new Error('Cache needs to be called with new');\n if (!cachePath) throw new Error('Cache needs cachePath');\n this.cachePath = cachePath;\n this.options = options;\n if (!this.options.hash) this.options.hash = hash;\n }\n\n get<T>(endpoint: string, callback: GetCallback<T>): void;\n get<T>(endpoint: string, options: GetOptions, callback: GetCallback<T>): void;\n get<T>(endpoint: string, options?: GetOptions): Promise<T | null>;\n get<T>(endpoint: string, options?: GetOptions | GetCallback<T>, callback?: GetCallback<T>): void | Promise<T | null> {\n if (typeof options === 'function') {\n callback = options as GetCallback<T>;\n options = null;\n }\n options = options || {};\n\n function worker(endpoint, options, callback) {\n (options as GetOptions).force ? update.call(this, endpoint, callback) : get.call(this, endpoint, callback);\n }\n\n if (typeof callback === 'function') return worker.call(this, endpoint, options, callback);\n return new Promise((resolve, reject) => worker.call(this, endpoint, options, (err, json) => (err ? reject(err) : resolve(json))));\n }\n\n getSync<T>(endpoint: string): T | null {\n // TODO: add async fetching\n return getSync.call(this, endpoint);\n }\n\n clear(callback: ClearCallback): void;\n clear(): Promise<void>;\n clear(callback?: ClearCallback): void | Promise<void> {\n function worker(callback) {\n // ignore errors since it is fine to delete a directory that doesn't exist from a cache standpoint\n safeRm(this.cachePath, callback.bind(null, null));\n }\n\n if (typeof callback === 'function') return worker.call(this, callback);\n return new Promise((resolve, reject) =>\n worker.call(this, (err) => {\n err ? reject(err) : resolve();\n })\n );\n }\n}\n"],"names":["safeRm","get","getSync","hash","update","Cache","endpoint","options","callback","worker","force","call","Promise","resolve","reject","err","json","clear","cachePath","bind","Error"],"mappings":"AAAA,SAASA,MAAM,QAAQ,mBAAmB;AAE1C,OAAOC,SAAS,WAAW;AAC3B,OAAOC,aAAa,eAAe;AACnC,OAAOC,UAAU,YAAY;AAE7B,OAAOC,YAAY,cAAc;AAElB,IAAA,AAAMC,QAAN,MAAMA;IAenBJ,IAAOK,QAAgB,EAAEC,OAAqC,EAAEC,QAAyB,EAA4B;QACnH,IAAI,OAAOD,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QACAA,UAAUA,WAAW,CAAC;QAEtB,SAASE,OAAOH,QAAQ,EAAEC,OAAO,EAAEC,QAAQ;YACxCD,QAAuBG,KAAK,GAAGN,OAAOO,IAAI,CAAC,IAAI,EAAEL,UAAUE,YAAYP,IAAIU,IAAI,CAAC,IAAI,EAAEL,UAAUE;QACnG;QAEA,IAAI,OAAOA,aAAa,YAAY,OAAOC,OAAOE,IAAI,CAAC,IAAI,EAAEL,UAAUC,SAASC;QAChF,OAAO,IAAII,QAAQ,CAACC,SAASC,SAAWL,OAAOE,IAAI,CAAC,IAAI,EAAEL,UAAUC,SAAS,CAACQ,KAAKC,OAAUD,MAAMD,OAAOC,OAAOF,QAAQG;IAC3H;IAEAd,QAAWI,QAAgB,EAAY;QACrC,2BAA2B;QAC3B,OAAOJ,QAAQS,IAAI,CAAC,IAAI,EAAEL;IAC5B;IAIAW,MAAMT,QAAwB,EAAwB;QACpD,SAASC,OAAOD,QAAQ;YACtB,kGAAkG;YAClGR,OAAO,IAAI,CAACkB,SAAS,EAAEV,SAASW,IAAI,CAAC,MAAM;QAC7C;QAEA,IAAI,OAAOX,aAAa,YAAY,OAAOC,OAAOE,IAAI,CAAC,IAAI,EAAEH;QAC7D,OAAO,IAAII,QAAQ,CAACC,SAASC,SAC3BL,OAAOE,IAAI,CAAC,IAAI,EAAE,CAACI;gBACjBA,MAAMD,OAAOC,OAAOF;YACtB;IAEJ;IA7CA,YAAYK,SAAiB,EAAEX,UAAwB,CAAC,CAAC,CAAE;QACzD,IAAI,CAAE,CAAA,IAAI,YAAYF,KAAI,GAAI,MAAM,IAAIe,MAAM;QAC9C,IAAI,CAACF,WAAW,MAAM,IAAIE,MAAM;QAChC,IAAI,CAACF,SAAS,GAAGA;QACjB,IAAI,CAACX,OAAO,GAAGA;QACf,IAAI,CAAC,IAAI,CAACA,OAAO,CAACJ,IAAI,EAAE,IAAI,CAACI,OAAO,CAACJ,IAAI,GAAGA;IAC9C;AAwCF;AAlDA,SAAqBE,mBAkDpB"}
|
package/dist/esm/get.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { GetCallback } from './types.js';
|
|
2
|
-
export default function getCache<T>(endpoint: string, callback: GetCallback<T>):
|
|
2
|
+
export default function getCache<T>(endpoint: string, callback: GetCallback<T>): void;
|
package/dist/esm/get.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
|
-
import
|
|
2
|
+
import { head } from 'get-file-compat';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import update from './update.js';
|
|
5
5
|
export default function getCache(endpoint, callback) {
|
|
@@ -12,7 +12,7 @@ export default function getCache(endpoint, callback) {
|
|
|
12
12
|
});
|
|
13
13
|
} else {
|
|
14
14
|
const record = JSON.parse(contents.toString());
|
|
15
|
-
|
|
15
|
+
head(endpoint, (err, res)=>{
|
|
16
16
|
// not accessible
|
|
17
17
|
if (err) {
|
|
18
18
|
if (err.code === 'ENOTFOUND' || err.message.indexOf('routines:SSL23_GET_SERVER_HELLO') >= 0) return callback(null, record.body);
|
package/dist/esm/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/get.ts"],"sourcesContent":["import fs from 'fs';\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/get.ts"],"sourcesContent":["import fs from 'fs';\nimport { head } from 'get-file-compat';\nimport path from 'path';\n\nimport update from './update.ts';\n\ninterface GetError {\n code?: string;\n}\n\ninterface GetHeaders {\n etag?: string;\n}\n\nimport type { GetCallback } from './types.ts';\n\nexport default function getCache<T>(endpoint: string, callback: GetCallback<T>): void {\n const fullPath = path.join(this.cachePath, `${this.options.hash(endpoint)}.json`);\n fs.readFile(fullPath, (err, contents) => {\n // doesn't exist so create\n if (err) {\n update.call(this, endpoint, (err, json) => {\n err ? callback(err) : callback(null, json);\n });\n }\n // check existing if etag changed and if so, recache\n else {\n const record = JSON.parse(contents.toString());\n head(endpoint, (err, res) => {\n // not accessible\n if (err) {\n if ((err as GetError).code === 'ENOTFOUND' || err.message.indexOf('routines:SSL23_GET_SERVER_HELLO') >= 0) return callback(null, record.body);\n return callback(err);\n }\n if ((res.headers as GetHeaders).etag === record.headers.etag) return callback(null, record.body);\n update.call(this, endpoint, (err, json) => {\n err ? callback(err) : callback(null, json);\n });\n });\n }\n });\n}\n"],"names":["fs","head","path","update","getCache","endpoint","callback","fullPath","join","cachePath","options","hash","readFile","err","contents","call","json","record","JSON","parse","toString","res","code","message","indexOf","body","headers","etag"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,SAASC,IAAI,QAAQ,kBAAkB;AACvC,OAAOC,UAAU,OAAO;AAExB,OAAOC,YAAY,cAAc;AAYjC,eAAe,SAASC,SAAYC,QAAgB,EAAEC,QAAwB;IAC5E,MAAMC,WAAWL,KAAKM,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE,GAAG,IAAI,CAACC,OAAO,CAACC,IAAI,CAACN,UAAU,KAAK,CAAC;IAChFL,GAAGY,QAAQ,CAACL,UAAU,CAACM,KAAKC;QAC1B,0BAA0B;QAC1B,IAAID,KAAK;YACPV,OAAOY,IAAI,CAAC,IAAI,EAAEV,UAAU,CAACQ,KAAKG;gBAChCH,MAAMP,SAASO,OAAOP,SAAS,MAAMU;YACvC;QACF,OAEK;YACH,MAAMC,SAASC,KAAKC,KAAK,CAACL,SAASM,QAAQ;YAC3CnB,KAAKI,UAAU,CAACQ,KAAKQ;gBACnB,iBAAiB;gBACjB,IAAIR,KAAK;oBACP,IAAI,AAACA,IAAiBS,IAAI,KAAK,eAAeT,IAAIU,OAAO,CAACC,OAAO,CAAC,sCAAsC,GAAG,OAAOlB,SAAS,MAAMW,OAAOQ,IAAI;oBAC5I,OAAOnB,SAASO;gBAClB;gBACA,IAAI,AAACQ,IAAIK,OAAO,CAAgBC,IAAI,KAAKV,OAAOS,OAAO,CAACC,IAAI,EAAE,OAAOrB,SAAS,MAAMW,OAAOQ,IAAI;gBAC/FtB,OAAOY,IAAI,CAAC,IAAI,EAAEV,UAAU,CAACQ,KAAKG;oBAChCH,MAAMP,SAASO,OAAOP,SAAS,MAAMU;gBACvC;YACF;QACF;IACF;AACF"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ export interface CacheOptions {
|
|
|
8
8
|
export interface GetOptions {
|
|
9
9
|
force?: boolean;
|
|
10
10
|
}
|
|
11
|
-
export type GetCallback<T> = (error?: Error, result?: T) =>
|
|
12
|
-
export type ClearCallback = (error?: Error) =>
|
|
13
|
-
export type UpdateCallback<T> = (error?: Error, result?: T) =>
|
|
11
|
+
export type GetCallback<T> = (error?: Error, result?: T) => void;
|
|
12
|
+
export type ClearCallback = (error?: Error) => void;
|
|
13
|
+
export type UpdateCallback<T> = (error?: Error, result?: T) => void;
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/types.ts"],"sourcesContent":["export interface Record<T> {\n headers: object;\n body: T;\n}\n\nexport interface CacheOptions {\n hash?: (string: string) => string;\n}\n\nexport interface GetOptions {\n force?: boolean;\n}\nexport type GetCallback<T> = (error?: Error, result?: T) =>
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/types.ts"],"sourcesContent":["export interface Record<T> {\n headers: object;\n body: T;\n}\n\nexport interface CacheOptions {\n hash?: (string: string) => string;\n}\n\nexport interface GetOptions {\n force?: boolean;\n}\nexport type GetCallback<T> = (error?: Error, result?: T) => void;\nexport type ClearCallback = (error?: Error) => void;\nexport type UpdateCallback<T> = (error?: Error, result?: T) => void;\n"],"names":[],"mappings":"AAcA,WAAoE"}
|
package/dist/esm/update.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { UpdateCallback } from './types.js';
|
|
2
|
-
export default function update<T>(endpoint: string, callback: UpdateCallback<T>):
|
|
2
|
+
export default function update<T>(endpoint: string, callback: UpdateCallback<T>): void;
|
package/dist/esm/update.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import { rm } from 'fs-remove-compat';
|
|
3
|
-
import
|
|
3
|
+
import { getContent } from 'get-file-compat';
|
|
4
4
|
import mkdirp from 'mkdirp-classic';
|
|
5
5
|
import path from 'path';
|
|
6
6
|
import Queue from 'queue-cb';
|
|
@@ -9,22 +9,27 @@ export default function update(endpoint, callback) {
|
|
|
9
9
|
const fullPath = path.join(this.cachePath, `${this.options.hash(endpoint)}.json`);
|
|
10
10
|
mkdirp(this.cachePath, (err)=>{
|
|
11
11
|
if (err && err.code !== 'EEXIST') return callback(err);
|
|
12
|
-
|
|
12
|
+
getContent(endpoint, 'utf8', (err, res)=>{
|
|
13
13
|
if (err) return callback(err);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
try {
|
|
15
|
+
const body = JSON.parse(res.content);
|
|
16
|
+
const record = {
|
|
17
|
+
headers: res.headers,
|
|
18
|
+
body
|
|
19
|
+
};
|
|
20
|
+
const tempFile = `${fullPath}-${tempSuffix()}`;
|
|
21
|
+
const queue = new Queue(1);
|
|
22
|
+
queue.defer(fs.writeFile.bind(null, tempFile, JSON.stringify(record), 'utf8'));
|
|
23
|
+
queue.defer((cb)=>rm(fullPath, cb.bind(null, null)));
|
|
24
|
+
queue.defer(fs.rename.bind(null, tempFile, fullPath));
|
|
25
|
+
queue.await((err)=>{
|
|
26
|
+
if (!err) return callback(null, record.body);
|
|
27
|
+
// cleanup the temp file if the operation failed
|
|
28
|
+
rm(tempFile, callback.bind(err));
|
|
29
|
+
});
|
|
30
|
+
} catch (err) {
|
|
31
|
+
return callback(err);
|
|
32
|
+
}
|
|
28
33
|
});
|
|
29
34
|
});
|
|
30
35
|
}
|
package/dist/esm/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/update.ts"],"sourcesContent":["import fs from 'fs';\nimport { rm } from 'fs-remove-compat';\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/fetch-json-cache/src/update.ts"],"sourcesContent":["import fs from 'fs';\nimport { rm } from 'fs-remove-compat';\nimport { getContent } from 'get-file-compat';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport tempSuffix from 'temp-suffix';\n\nimport type { Record, UpdateCallback } from './types.ts';\n\nexport default function update<T>(endpoint: string, callback: UpdateCallback<T>): void {\n const fullPath = path.join(this.cachePath, `${this.options.hash(endpoint)}.json`);\n\n mkdirp(this.cachePath, (err) => {\n if (err && err.code !== 'EEXIST') return callback(err);\n\n getContent(endpoint, 'utf8', (err, res) => {\n if (err) return callback(err);\n\n try {\n const body = JSON.parse(res.content);\n const record = { headers: res.headers, body } as Record<T>;\n const tempFile = `${fullPath}-${tempSuffix()}`;\n\n const queue = new Queue(1);\n queue.defer(fs.writeFile.bind(null, tempFile, JSON.stringify(record), 'utf8'));\n queue.defer((cb) => rm(fullPath, cb.bind(null, null)));\n queue.defer(fs.rename.bind(null, tempFile, fullPath));\n queue.await((err) => {\n if (!err) return callback(null, record.body);\n // cleanup the temp file if the operation failed\n rm(tempFile, callback.bind(err));\n });\n } catch (err) {\n return callback(err);\n }\n });\n });\n}\n"],"names":["fs","rm","getContent","mkdirp","path","Queue","tempSuffix","update","endpoint","callback","fullPath","join","cachePath","options","hash","err","code","res","body","JSON","parse","content","record","headers","tempFile","queue","defer","writeFile","bind","stringify","cb","rename","await"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,SAASC,EAAE,QAAQ,mBAAmB;AACtC,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,gBAAgB,cAAc;AAIrC,eAAe,SAASC,OAAUC,QAAgB,EAAEC,QAA2B;IAC7E,MAAMC,WAAWN,KAAKO,IAAI,CAAC,IAAI,CAACC,SAAS,EAAE,GAAG,IAAI,CAACC,OAAO,CAACC,IAAI,CAACN,UAAU,KAAK,CAAC;IAEhFL,OAAO,IAAI,CAACS,SAAS,EAAE,CAACG;QACtB,IAAIA,OAAOA,IAAIC,IAAI,KAAK,UAAU,OAAOP,SAASM;QAElDb,WAAWM,UAAU,QAAQ,CAACO,KAAKE;YACjC,IAAIF,KAAK,OAAON,SAASM;YAEzB,IAAI;gBACF,MAAMG,OAAOC,KAAKC,KAAK,CAACH,IAAII,OAAO;gBACnC,MAAMC,SAAS;oBAAEC,SAASN,IAAIM,OAAO;oBAAEL;gBAAK;gBAC5C,MAAMM,WAAW,GAAGd,SAAS,CAAC,EAAEJ,cAAc;gBAE9C,MAAMmB,QAAQ,IAAIpB,MAAM;gBACxBoB,MAAMC,KAAK,CAAC1B,GAAG2B,SAAS,CAACC,IAAI,CAAC,MAAMJ,UAAUL,KAAKU,SAAS,CAACP,SAAS;gBACtEG,MAAMC,KAAK,CAAC,CAACI,KAAO7B,GAAGS,UAAUoB,GAAGF,IAAI,CAAC,MAAM;gBAC/CH,MAAMC,KAAK,CAAC1B,GAAG+B,MAAM,CAACH,IAAI,CAAC,MAAMJ,UAAUd;gBAC3Ce,MAAMO,KAAK,CAAC,CAACjB;oBACX,IAAI,CAACA,KAAK,OAAON,SAAS,MAAMa,OAAOJ,IAAI;oBAC3C,gDAAgD;oBAChDjB,GAAGuB,UAAUf,SAASmB,IAAI,CAACb;gBAC7B;YACF,EAAE,OAAOA,KAAK;gBACZ,OAAON,SAASM;YAClB;QACF;IACF;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fetch-json-cache",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Caches fetched json. Updates when etag changes and is uses cache regardless if endpoint unreachable. Uses write-file-atomic for safe updates",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"every",
|
|
@@ -38,20 +38,20 @@
|
|
|
38
38
|
"version": "tsds version"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"fs-remove-compat": "^0.
|
|
42
|
-
"get-
|
|
43
|
-
"mkdirp-classic": "^0.5.
|
|
44
|
-
"queue-cb": "^1.
|
|
41
|
+
"fs-remove-compat": "^1.0.0",
|
|
42
|
+
"get-file-compat": "^2.0.0",
|
|
43
|
+
"mkdirp-classic": "^0.5.2",
|
|
44
|
+
"queue-cb": "^1.0.0",
|
|
45
45
|
"temp-suffix": "^1.0.10"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@types/mocha": "
|
|
49
|
-
"@types/node": "
|
|
48
|
+
"@types/mocha": "*",
|
|
49
|
+
"@types/node": "*",
|
|
50
50
|
"fs-exists-sync": "^0.1.0",
|
|
51
|
-
"node-version-use": "
|
|
52
|
-
"pinkie-promise": "
|
|
53
|
-
"ts-dev-stack": "
|
|
54
|
-
"tsds-config": "^0.
|
|
51
|
+
"node-version-use": "*",
|
|
52
|
+
"pinkie-promise": "*",
|
|
53
|
+
"ts-dev-stack": "*",
|
|
54
|
+
"tsds-config": "^1.0.4"
|
|
55
55
|
},
|
|
56
56
|
"engines": {
|
|
57
57
|
"node": ">=0.8"
|