Skip to content

Commit bfd7fec

Browse files
committed
publish: add (keyPfx)
1 parent 1408ca7 commit bfd7fec

18 files changed

+138
-133
lines changed

docs/classes/export_.html

+4-4
Large diffs are not rendered by default.

lib/esm/memd.mjs

+41-41
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ var _src_fn_Args = {};
1313
var _src_fn_memoize = {};
1414
var _src_fn_queued = {};
1515
var _src_model_Deferred = {};
16-
var _src_persistance_FsTransport = {};
17-
var _src_persistance_LocalStorageTransport = {};
18-
var _src_persistance_StoreWorker = {};
19-
var _src_persistance_TransportWorker = {};
16+
var _src_persistence_FsTransport = {};
17+
var _src_persistence_LocalStorageTransport = {};
18+
var _src_persistence_StoreWorker = {};
19+
var _src_persistence_TransportWorker = {};
2020
var _src_utils_requireLib = {};
2121
var _src_workers_CachedWorker = {};
2222

@@ -107,11 +107,11 @@ var Args;
107107

108108

109109
// source ./ModuleSimplified.js
110-
var _src_persistance_TransportWorker;
110+
var _src_persistence_TransportWorker;
111111
(function () {
112112
// ensure AMD is not active for the model, so that any UMD exports as commonjs
113113
var define = null;
114-
var exports = _src_persistance_TransportWorker != null ? _src_persistance_TransportWorker : {};
114+
var exports = _src_persistence_TransportWorker != null ? _src_persistence_TransportWorker : {};
115115
var module = { exports: exports };
116116

117117
"use strict";
@@ -285,12 +285,12 @@ function wait(ms) {
285285
function __isObj(x) {
286286
return x != null && typeof x === 'object' && x.constructor === Object;
287287
}
288-
if (_src_persistance_TransportWorker === module.exports) {
288+
if (_src_persistence_TransportWorker === module.exports) {
289289
// do nothing if
290-
} else if (__isObj(_src_persistance_TransportWorker) && __isObj(module.exports)) {
291-
Object.assign(_src_persistance_TransportWorker, module.exports);
290+
} else if (__isObj(_src_persistence_TransportWorker) && __isObj(module.exports)) {
291+
Object.assign(_src_persistence_TransportWorker, module.exports);
292292
} else {
293-
_src_persistance_TransportWorker = module.exports;
293+
_src_persistence_TransportWorker = module.exports;
294294
}
295295

296296
;
@@ -300,11 +300,11 @@ function wait(ms) {
300300

301301

302302
// source ./ModuleSimplified.js
303-
var _src_persistance_StoreWorker;
303+
var _src_persistence_StoreWorker;
304304
(function () {
305305
// ensure AMD is not active for the model, so that any UMD exports as commonjs
306306
var define = null;
307-
var exports = _src_persistance_StoreWorker != null ? _src_persistance_StoreWorker : {};
307+
var exports = _src_persistence_StoreWorker != null ? _src_persistence_StoreWorker : {};
308308
var module = { exports: exports };
309309

310310
"use strict";
@@ -351,12 +351,12 @@ exports.StoreWorker = StoreWorker;
351351
function __isObj(x) {
352352
return x != null && typeof x === 'object' && x.constructor === Object;
353353
}
354-
if (_src_persistance_StoreWorker === module.exports) {
354+
if (_src_persistence_StoreWorker === module.exports) {
355355
// do nothing if
356-
} else if (__isObj(_src_persistance_StoreWorker) && __isObj(module.exports)) {
357-
Object.assign(_src_persistance_StoreWorker, module.exports);
356+
} else if (__isObj(_src_persistence_StoreWorker) && __isObj(module.exports)) {
357+
Object.assign(_src_persistence_StoreWorker, module.exports);
358358
} else {
359-
_src_persistance_StoreWorker = module.exports;
359+
_src_persistence_StoreWorker = module.exports;
360360
}
361361

362362
;
@@ -377,8 +377,8 @@ var _src_Cache;
377377
Object.defineProperty(exports, "__esModule", { value: true });
378378
exports.Cache = void 0;
379379
const Args_1 = _src_fn_Args;
380-
const TransportWorker_1 = _src_persistance_TransportWorker;
381-
const StoreWorker_1 = _src_persistance_StoreWorker;
380+
const TransportWorker_1 = _src_persistence_TransportWorker;
381+
const StoreWorker_1 = _src_persistence_StoreWorker;
382382
class Cache {
383383
options;
384384
static caches = [];
@@ -394,8 +394,8 @@ class Cache {
394394
this.onChanged = this.onChanged.bind(this);
395395
options.monitors.forEach(x => x.on('change', this.onChanged));
396396
}
397-
if (this.options.persistance) {
398-
this._transport = new TransportWorker_1.TransportWorker(this, this.options.persistance);
397+
if (this.options.persistence) {
398+
this._transport = new TransportWorker_1.TransportWorker(this, this.options.persistence);
399399
this.isAsync = this._transport.isAsync;
400400
}
401401
if (this.options.store) {
@@ -614,7 +614,7 @@ function fn_memoize(fn, opts = {}, key) {
614614
}
615615
}
616616
const thisArg = _thisArg ?? this;
617-
const id = opts?.key?.({ this: thisArg }, ...args) ?? cache.resolveKey(args, opts?.keyOptions);
617+
const id = (opts?.keyPfx?.(thisArg) ?? '') + (opts?.key?.({ this: thisArg }, ...args) ?? cache.resolveKey(args, opts?.keyOptions));
618618
const cached = cache.get(id);
619619
if (cached != null) {
620620
return cached;
@@ -1302,11 +1302,11 @@ var requireLib;
13021302

13031303

13041304
// source ./ModuleSimplified.js
1305-
var _src_persistance_FsTransport;
1305+
var _src_persistence_FsTransport;
13061306
(function () {
13071307
// ensure AMD is not active for the model, so that any UMD exports as commonjs
13081308
var define = null;
1309-
var exports = _src_persistance_FsTransport != null ? _src_persistance_FsTransport : {};
1309+
var exports = _src_persistence_FsTransport != null ? _src_persistence_FsTransport : {};
13101310
var module = { exports: exports };
13111311

13121312
"use strict";
@@ -1387,12 +1387,12 @@ const CACHED_STORAGES = {};
13871387
function __isObj(x) {
13881388
return x != null && typeof x === 'object' && x.constructor === Object;
13891389
}
1390-
if (_src_persistance_FsTransport === module.exports) {
1390+
if (_src_persistence_FsTransport === module.exports) {
13911391
// do nothing if
1392-
} else if (__isObj(_src_persistance_FsTransport) && __isObj(module.exports)) {
1393-
Object.assign(_src_persistance_FsTransport, module.exports);
1392+
} else if (__isObj(_src_persistence_FsTransport) && __isObj(module.exports)) {
1393+
Object.assign(_src_persistence_FsTransport, module.exports);
13941394
} else {
1395-
_src_persistance_FsTransport = module.exports;
1395+
_src_persistence_FsTransport = module.exports;
13961396
}
13971397

13981398
;
@@ -1402,11 +1402,11 @@ const CACHED_STORAGES = {};
14021402

14031403

14041404
// source ./ModuleSimplified.js
1405-
var _src_persistance_LocalStorageTransport;
1405+
var _src_persistence_LocalStorageTransport;
14061406
(function () {
14071407
// ensure AMD is not active for the model, so that any UMD exports as commonjs
14081408
var define = null;
1409-
var exports = _src_persistance_LocalStorageTransport != null ? _src_persistance_LocalStorageTransport : {};
1409+
var exports = _src_persistence_LocalStorageTransport != null ? _src_persistence_LocalStorageTransport : {};
14101410
var module = { exports: exports };
14111411

14121412
"use strict";
@@ -1443,12 +1443,12 @@ exports.LocalStorageTransport = LocalStorageTransport;
14431443
function __isObj(x) {
14441444
return x != null && typeof x === 'object' && x.constructor === Object;
14451445
}
1446-
if (_src_persistance_LocalStorageTransport === module.exports) {
1446+
if (_src_persistence_LocalStorageTransport === module.exports) {
14471447
// do nothing if
1448-
} else if (__isObj(_src_persistance_LocalStorageTransport) && __isObj(module.exports)) {
1449-
Object.assign(_src_persistance_LocalStorageTransport, module.exports);
1448+
} else if (__isObj(_src_persistence_LocalStorageTransport) && __isObj(module.exports)) {
1449+
Object.assign(_src_persistence_LocalStorageTransport, module.exports);
14501450
} else {
1451-
_src_persistance_LocalStorageTransport = module.exports;
1451+
_src_persistence_LocalStorageTransport = module.exports;
14521452
}
14531453

14541454
;
@@ -1468,8 +1468,8 @@ var _src_workers_CachedWorker;
14681468
"use strict";
14691469
Object.defineProperty(exports, "__esModule", { value: true });
14701470
exports.CachedWorker = void 0;
1471-
const FsTransport_1 = _src_persistance_FsTransport;
1472-
const LocalStorageTransport_1 = _src_persistance_LocalStorageTransport;
1471+
const FsTransport_1 = _src_persistence_FsTransport;
1472+
const LocalStorageTransport_1 = _src_persistence_LocalStorageTransport;
14731473
const Cache_1 = _src_Cache;
14741474
class CachedWorker {
14751475
opts;
@@ -1478,12 +1478,12 @@ class CachedWorker {
14781478
workerDfr;
14791479
constructor(opts) {
14801480
this.opts = opts;
1481-
const persistance = opts.persistance ?? this.getTransport();
1482-
if (persistance) {
1483-
persistance.debounceMs = 0;
1481+
const persistence = opts.persistence ?? /* typo fallback */ opts.persistance ?? this.getTransport();
1482+
if (persistence) {
1483+
persistence.debounceMs = 0;
14841484
}
14851485
this.cache = new Cache_1.Cache({
1486-
persistance,
1486+
persistence: persistence,
14871487
maxAge: opts.maxAge,
14881488
monitors: opts.monitors,
14891489
});
@@ -1556,8 +1556,8 @@ const throttle_1 = _src_deco_throttle;
15561556
const queued_1 = _src_deco_queued;
15571557
const memoize_2 = _src_fn_memoize;
15581558
const Cache_1 = _src_Cache;
1559-
const FsTransport_1 = _src_persistance_FsTransport;
1560-
const LocalStorageTransport_1 = _src_persistance_LocalStorageTransport;
1559+
const FsTransport_1 = _src_persistence_FsTransport;
1560+
const LocalStorageTransport_1 = _src_persistence_LocalStorageTransport;
15611561
const CachedWorker_1 = _src_workers_CachedWorker;
15621562
const queued_2 = _src_fn_queued;
15631563
class Memd {

lib/memd.d.ts

+16-14
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ declare module 'memd' {
77
import { deco_queued } from 'memd/deco/queued';
88
import { fn_clearMemoized, fn_memoize } from 'memd/fn/memoize';
99
import { Cache } from 'memd/Cache';
10-
import { FsTransport } from 'memd/persistance/FsTransport';
11-
import { LocalStorageTransport } from 'memd/persistance/LocalStorageTransport';
10+
import { FsTransport } from 'memd/persistence/FsTransport';
11+
import { LocalStorageTransport } from 'memd/persistence/LocalStorageTransport';
1212
import { CachedWorker } from 'memd/workers/CachedWorker';
1313
import { fn_queued } from 'memd/fn/queued';
1414
class Memd {
@@ -84,10 +84,12 @@ declare module 'memd/fn/memoize' {
8484
/** Method to check if cached result, should be removed from cache */
8585
clearOn?: (val: any) => boolean;
8686
thisArg?: TThis;
87-
/** Override key resolver*/
87+
/** Override key resolver */
8888
key?: (options: {
8989
this?: TThis;
9090
}, ...args: Parameters<TMethod>) => string;
91+
/** Gets the prefix for a key, for example to distinguish keys per instances */
92+
keyPfx?: (self: TThis) => string;
9193
keyOptions?: {
9294
deep?: number;
9395
serialize?: {
@@ -100,14 +102,14 @@ declare module 'memd/fn/memoize' {
100102
}
101103

102104
declare module 'memd/Cache' {
103-
import { ITransport } from 'memd/persistance/ITransport';
104-
import { IStore } from "memd/persistance/IStore";
105+
import { ITransport } from 'memd/persistence/ITransport';
106+
import { IStore } from "memd/persistence/IStore";
105107
export interface ICacheOpts {
106108
/** In Seconds */
107109
maxAge?: number;
108110
monitors?: ICacheChangeEventMonitor[];
109111
keyResolver?: (...args: any[]) => string;
110-
persistance?: ITransport;
112+
persistence?: ITransport;
111113
store?: IStore;
112114
doNotWaitSave?: boolean;
113115
trackRef?: boolean;
@@ -143,8 +145,8 @@ declare module 'memd/Cache' {
143145
}
144146
}
145147

146-
declare module 'memd/persistance/FsTransport' {
147-
import { ITransport } from 'memd/persistance/ITransport';
148+
declare module 'memd/persistence/FsTransport' {
149+
import { ITransport } from 'memd/persistence/ITransport';
148150
import { ICacheEntryCollection } from 'memd/Cache';
149151
export interface IFsTransportOpts {
150152
path: string;
@@ -161,8 +163,8 @@ declare module 'memd/persistance/FsTransport' {
161163
}
162164
}
163165

164-
declare module 'memd/persistance/LocalStorageTransport' {
165-
import { ITransport } from 'memd/persistance/ITransport';
166+
declare module 'memd/persistence/LocalStorageTransport' {
167+
import { ITransport } from 'memd/persistence/ITransport';
166168
import { ICacheEntryCollection } from 'memd/Cache';
167169
export interface ILocalStorageTransport {
168170
key: string;
@@ -177,8 +179,8 @@ declare module 'memd/persistance/LocalStorageTransport' {
177179
}
178180

179181
declare module 'memd/workers/CachedWorker' {
180-
import { IFsTransportOpts } from 'memd/persistance/FsTransport';
181-
import { ILocalStorageTransport } from 'memd/persistance/LocalStorageTransport';
182+
import { IFsTransportOpts } from 'memd/persistence/FsTransport';
183+
import { ILocalStorageTransport } from 'memd/persistence/LocalStorageTransport';
182184
import { ICacheOpts } from 'memd/Cache';
183185
export interface ICachedWorkerOptions<T> {
184186
transport: IFsTransportOpts | ILocalStorageTransport;
@@ -215,7 +217,7 @@ declare module 'memd/model/IMemoizeWrapper' {
215217
}
216218
}
217219

218-
declare module 'memd/persistance/ITransport' {
220+
declare module 'memd/persistence/ITransport' {
219221
import { ICacheEntryCollection } from 'memd/Cache';
220222
export interface ITransport<T = any> {
221223
isAsync: boolean;
@@ -227,7 +229,7 @@ declare module 'memd/persistance/ITransport' {
227229
}
228230
}
229231

230-
declare module 'memd/persistance/IStore' {
232+
declare module 'memd/persistence/IStore' {
231233
import { ICacheEntry } from 'memd/Cache';
232234
export interface IStore<T = any> {
233235
get?(key: string, ...args: any[]): ICacheEntry<T>;

0 commit comments

Comments
 (0)