Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit003c2ef

Browse files
committed
Meta tweaks
1 parent6887496 commit003c2ef

File tree

5 files changed

+43
-45
lines changed

5 files changed

+43
-45
lines changed

‎index.d.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export interface Options<
2626
*
2727
* You could for example change it to only cache on the first argument `x => JSON.stringify(x)`.
2828
*/
29-
readonlycacheKey?:(...args:ArgumentsType)=>CacheKeyType;
29+
readonlycacheKey?:(...arguments:ArgumentsType)=>CacheKeyType;
3030

3131
/**
3232
* Use a different cache storage. Must implement the following methods: `.has(key)`, `.get(key)`, `.set(key, value)`, `.delete(key)`, and optionally `.clear()`. You could for example use a `WeakMap` instead or [`quick-lru`](https://github.com/sindresorhus/quick-lru) for a LRU cache.

‎index.js‎

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ const mapAgeCleaner = require('map-age-cleaner');
55

66
constcacheStore=newWeakMap();
77

8-
constdefaultCacheKey=(...args)=>{
9-
if(args.length===0){
8+
constdefaultCacheKey=(...arguments_)=>{
9+
if(arguments_.length===0){
1010
return'__defaultKey';
1111
}
1212

13-
if(args.length===1){
14-
const[firstArgument]=args;
13+
if(arguments_.length===1){
14+
const[firstArgument]=arguments_;
1515
if(
1616
firstArgument===null||
1717
firstArgument===undefined||
@@ -21,7 +21,7 @@ const defaultCacheKey = (...args) => {
2121
}
2222
}
2323

24-
returnJSON.stringify(args);
24+
returnJSON.stringify(arguments_);
2525
};
2626

2727
constmem=(fn,options)=>{
@@ -45,25 +45,23 @@ const mem = (fn, options) => {
4545
});
4646
};
4747

48-
constmemoized=function(...args){
49-
constkey=options.cacheKey(...args);
48+
constmemoized=function(...arguments_){
49+
constkey=options.cacheKey(...arguments_);
5050

5151
if(cache.has(key)){
52-
constc=cache.get(key);
53-
54-
returnc.data;
52+
returncache.get(key).data;
5553
}
5654

57-
constret=fn.call(this, ...args);
55+
constcacheItem=fn.call(this, ...arguments_);
5856

59-
setData(key,ret);
57+
setData(key,cacheItem);
6058

61-
if(isPromise(ret)&&options.cachePromiseRejection===false){
59+
if(isPromise(cacheItem)&&options.cachePromiseRejection===false){
6260
// Remove rejected promises from cache unless `cachePromiseRejection` is set to `true`
63-
ret.catch(()=>cache.delete(key));
61+
cacheItem.catch(()=>cache.delete(key));
6462
}
6563

66-
returnret;
64+
returncacheItem;
6765
};
6866

6967
try{

‎index.test-d.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ const fn = (string: string) => true;
55

66
expectType<(string:string)=>boolean>(mem(fn));
77
expectType<(string:string)=>boolean>(mem(fn,{maxAge:1}));
8-
expectType<(string:string)=>boolean>(mem(fn,{cacheKey:(...args)=>args}));
8+
expectType<(string:string)=>boolean>(mem(fn,{cacheKey:(...arguments_)=>arguments_}));
99
expectType<(string:string)=>boolean>(
10-
mem(fn,{cacheKey:(...args)=>args,cache:newMap<[string],boolean>()})
10+
mem(fn,{cacheKey:(...arguments_)=>arguments_,cache:newMap<[string],boolean>()})
1111
);
1212
expectType<(string:string)=>boolean>(
1313
mem(fn,{cache:newMap<[string],boolean>()})

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
],
3535
"dependencies": {
3636
"map-age-cleaner":"^0.1.1",
37-
"mimic-fn":"^1.0.0",
37+
"mimic-fn":"^2.0.0",
3838
"p-is-promise":"^2.0.0"
3939
},
4040
"devDependencies": {

‎test.js‎

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import mem from '.';
44

55
test('memoize',t=>{
66
leti=0;
7-
constf=()=>i++;
8-
constmemoized=mem(f);
7+
constfixture=()=>i++;
8+
constmemoized=mem(fixture);
99
t.is(memoized(),0);
1010
t.is(memoized(),0);
1111
t.is(memoized(),0);
@@ -41,25 +41,25 @@ test.failing('memoize with regexp arguments', t => {
4141

4242
test.failing('memoize with Symbol arguments',t=>{
4343
leti=0;
44-
constarg1=Symbol('fixture1');
45-
constarg2=Symbol('fixture2');
44+
constargument1=Symbol('fixture1');
45+
constargument2=Symbol('fixture2');
4646
constmemoized=mem(()=>i++);
4747
t.is(memoized(),0);
4848
t.is(memoized(),0);
49-
t.is(memoized(arg1),1);
50-
t.is(memoized(arg1),1);
51-
t.is(memoized(arg2),2);
52-
t.is(memoized(arg2),2);
53-
t.is(memoized({foo:arg1}),3);
54-
t.is(memoized({foo:arg1}),3);
55-
t.is(memoized({foo:arg2}),4);
56-
t.is(memoized({foo:arg2}),4);
49+
t.is(memoized(argument1),1);
50+
t.is(memoized(argument1),1);
51+
t.is(memoized(argument2),2);
52+
t.is(memoized(argument2),2);
53+
t.is(memoized({foo:argument1}),3);
54+
t.is(memoized({foo:argument1}),3);
55+
t.is(memoized({foo:argument2}),4);
56+
t.is(memoized({foo:argument2}),4);
5757
});
5858

5959
test('maxAge option',asynct=>{
6060
leti=0;
61-
constf=()=>i++;
62-
constmemoized=mem(f,{maxAge:100});
61+
constfixture=()=>i++;
62+
constmemoized=mem(fixture,{maxAge:100});
6363
t.is(memoized(1),0);
6464
t.is(memoized(1),0);
6565
awaitdelay(50);
@@ -70,7 +70,7 @@ test('maxAge option', async t => {
7070

7171
test('maxAge option deletes old items',asynct=>{
7272
leti=0;
73-
constf=()=>i++;
73+
constfixture=()=>i++;
7474
constcache=newMap();
7575
constdeleted=[];
7676
constremove=cache.delete.bind(cache);
@@ -79,7 +79,7 @@ test('maxAge option deletes old items', async t => {
7979
returnremove(item);
8080
};
8181

82-
constmemoized=mem(f,{maxAge:100, cache});
82+
constmemoized=mem(fixture,{maxAge:100, cache});
8383
t.is(memoized(1),0);
8484
t.is(memoized(1),0);
8585
t.is(cache.has(1),true);
@@ -94,7 +94,7 @@ test('maxAge option deletes old items', async t => {
9494

9595
test('maxAge items are deleted even if function throws',asynct=>{
9696
leti=0;
97-
constf=()=>{
97+
constfixture=()=>{
9898
if(i===1){
9999
thrownewError('failure');
100100
}
@@ -103,7 +103,7 @@ test('maxAge items are deleted even if function throws', async t => {
103103
};
104104

105105
constcache=newMap();
106-
constmemoized=mem(f,{maxAge:100, cache});
106+
constmemoized=mem(fixture,{maxAge:100, cache});
107107
t.is(memoized(1),0);
108108
t.is(memoized(1),0);
109109
t.is(cache.size,1);
@@ -116,8 +116,8 @@ test('maxAge items are deleted even if function throws', async t => {
116116

117117
test('cacheKey option',t=>{
118118
leti=0;
119-
constf=()=>i++;
120-
constmemoized=mem(f,{cacheKey:x=>x});
119+
constfixture=()=>i++;
120+
constmemoized=mem(fixture,{cacheKey:x=>x});
121121
t.is(memoized(1),0);
122122
t.is(memoized(1),0);
123123
t.is(memoized(1,2),0);
@@ -127,8 +127,8 @@ test('cacheKey option', t => {
127127

128128
test('cache option',t=>{
129129
leti=0;
130-
constf=()=>i++;
131-
constmemoized=mem(f,{
130+
constfixture=()=>i++;
131+
constmemoized=mem(fixture,{
132132
cache:newWeakMap(),
133133
cacheKey:x=>x
134134
});
@@ -196,8 +196,8 @@ test('preserves the original function name', t => {
196196

197197
test('.clear()',t=>{
198198
leti=0;
199-
constf=()=>i++;
200-
constmemoized=mem(f);
199+
constfixture=()=>i++;
200+
constmemoized=mem(fixture);
201201
t.is(memoized(),0);
202202
t.is(memoized(),0);
203203
mem.clear(memoized);
@@ -206,15 +206,15 @@ test('.clear()', t => {
206206
});
207207

208208
test('prototype support',t=>{
209-
constf=function(){
209+
constfixture=function(){
210210
returnthis.i++;
211211
};
212212

213213
constUnicorn=function(){
214214
this.i=0;
215215
};
216216

217-
Unicorn.prototype.foo=mem(f);
217+
Unicorn.prototype.foo=mem(fixture);
218218

219219
constunicorn=newUnicorn();
220220

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp