hexo-adsense 1.0.26 → 2.0.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/CHANGELOG.md +6 -0
- package/LICENSE +0 -0
- package/dist/index.cjs +757 -0
- package/dist/index.d.cts +2 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +740 -0
- package/dist/index.mjs +740 -0
- package/dist/source/adblock.css +2 -0
- package/{lib → dist}/source/adblock.js +0 -0
- package/{lib → dist}/source/article-ads.css +0 -0
- package/dist/source/article-ads.js +1 -0
- package/{lib/source/article-ads.js → dist/source/article-ads.old.js} +0 -0
- package/{lib → dist}/source/blogger-redirect.html +0 -0
- package/{lib → dist}/source/https.js +0 -0
- package/{lib → dist}/source/in_article_ads_test.html +0 -0
- package/package.json +122 -37
- package/{README.md → readme.md} +29 -11
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -85
- package/lib/packages/hexo-cli-extras/lib/env.d.ts +0 -3
- package/lib/packages/hexo-cli-extras/lib/env.js +0 -49
- package/lib/packages/hexo-extend-injector2/index.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/index.js +0 -12
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-bundle.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-bundle.js +0 -64
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-generator.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/css-generator.js +0 -12
- package/lib/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.js +0 -28
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-bundle.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-bundle.js +0 -32
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-generator.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/bundle/js-generator.js +0 -8
- package/lib/packages/hexo-extend-injector2/lib/default-config.d.ts +0 -39
- package/lib/packages/hexo-extend-injector2/lib/default-config.js +0 -46
- package/lib/packages/hexo-extend-injector2/lib/filter.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/filter.js +0 -22
- package/lib/packages/hexo-extend-injector2/lib/helper/injector.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/helper/injector.js +0 -5
- package/lib/packages/hexo-extend-injector2/lib/helper/next-inject.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/helper/next-inject.js +0 -12
- package/lib/packages/hexo-extend-injector2/lib/injector.d.ts +0 -29
- package/lib/packages/hexo-extend-injector2/lib/injector.js +0 -125
- package/lib/packages/hexo-extend-injector2/lib/load.d.ts +0 -3
- package/lib/packages/hexo-extend-injector2/lib/load.js +0 -37
- package/lib/packages/hexo-extend-injector2/lib/next-point.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/next-point.js +0 -18
- package/lib/packages/hexo-extend-injector2/lib/next.d.ts +0 -2
- package/lib/packages/hexo-extend-injector2/lib/next.js +0 -99
- package/lib/packages/hexo-extend-injector2/lib/order.d.ts +0 -5
- package/lib/packages/hexo-extend-injector2/lib/order.js +0 -8
- package/lib/source/adblock.css +0 -2
- package/lib/src/article-ads.d.ts +0 -20
- package/lib/src/article-ads.js +0 -304
- package/lib/src/checkLocalHost.d.ts +0 -10
- package/lib/src/checkLocalHost.js +0 -37
- package/lib/src/config.d.ts +0 -13
- package/lib/src/config.js +0 -42
- package/lib/src/html-parser.d.ts +0 -9
- package/lib/src/html-parser.js +0 -26
- package/lib/src/log.d.ts +0 -1
- package/lib/src/log.js +0 -11
- package/lib/src/logger.d.ts +0 -3
- package/lib/src/logger.js +0 -25
- package/lib/src/md5.d.ts +0 -2
- package/lib/src/md5.js +0 -165
- package/lib/src/safestringify.d.ts +0 -2
- package/lib/src/safestringify.js +0 -125
- package/lib/src/utils.d.ts +0 -31
- package/lib/src/utils.js +0 -159
- package/lib/src/versionParser.d.ts +0 -27
- package/lib/src/versionParser.js +0 -40
- package/packages/hexo-cli-extras/.eslintrc +0 -13
- package/packages/hexo-cli-extras/LICENSE.md +0 -20
- package/packages/hexo-cli-extras/README.md +0 -146
- package/packages/hexo-cli-extras/docs/basic.gif +0 -0
- package/packages/hexo-cli-extras/docs/gui.gif +0 -0
- package/packages/hexo-cli-extras/docs/remove.png +0 -0
- package/packages/hexo-cli-extras/docs/rename.png +0 -0
- package/packages/hexo-cli-extras/index.js +0 -48
- package/packages/hexo-cli-extras/lib/edit.js +0 -209
- package/packages/hexo-cli-extras/lib/env.js +0 -52
- package/packages/hexo-cli-extras/lib/extensions.js +0 -23
- package/packages/hexo-cli-extras/lib/integrate.js +0 -87
- package/packages/hexo-cli-extras/lib/isolate.js +0 -179
- package/packages/hexo-cli-extras/lib/remove.js +0 -145
- package/packages/hexo-cli-extras/lib/rename.js +0 -171
- package/packages/hexo-cli-extras/package.json +0 -34
- package/packages/hexo-extend-injector2/.eslintrc +0 -4
- package/packages/hexo-extend-injector2/.github/workflows/linter.yml +0 -27
- package/packages/hexo-extend-injector2/.github/workflows/tester.yml +0 -24
- package/packages/hexo-extend-injector2/.vscode/settings.json +0 -10
- package/packages/hexo-extend-injector2/LICENSE +0 -165
- package/packages/hexo-extend-injector2/README-ZH.md +0 -189
- package/packages/hexo-extend-injector2/README.md +0 -191
- package/packages/hexo-extend-injector2/USAGE.md +0 -38
- package/packages/hexo-extend-injector2/index.js +0 -14
- package/packages/hexo-extend-injector2/lib/bundle/css-bundle.js +0 -79
- package/packages/hexo-extend-injector2/lib/bundle/css-generator.js +0 -13
- package/packages/hexo-extend-injector2/lib/bundle/handle-data-pre.js +0 -29
- package/packages/hexo-extend-injector2/lib/bundle/js-bundle.js +0 -42
- package/packages/hexo-extend-injector2/lib/bundle/js-generator.js +0 -10
- package/packages/hexo-extend-injector2/lib/default-config.js +0 -52
- package/packages/hexo-extend-injector2/lib/filter.js +0 -24
- package/packages/hexo-extend-injector2/lib/helper/injector.js +0 -6
- package/packages/hexo-extend-injector2/lib/helper/next-inject.js +0 -14
- package/packages/hexo-extend-injector2/lib/injector.js +0 -128
- package/packages/hexo-extend-injector2/lib/load.js +0 -45
- package/packages/hexo-extend-injector2/lib/next-point.js +0 -19
- package/packages/hexo-extend-injector2/lib/next.js +0 -87
- package/packages/hexo-extend-injector2/lib/order.js +0 -9
- package/packages/hexo-extend-injector2/package.json +0 -49
- package/packages/hexo-extend-injector2/renovate.json +0 -6
- package/packages/hexo-extend-injector2/test/.eslintrc +0 -3
- package/packages/hexo-extend-injector2/test/index.js +0 -18
- package/packages/hexo-extend-injector2/test/lib/bundle/bundle-css.js +0 -86
- package/packages/hexo-extend-injector2/test/lib/bundle/bundle-js.js +0 -36
- package/packages/hexo-extend-injector2/test/lib/bundle/test.css +0 -3
- package/packages/hexo-extend-injector2/test/lib/bundle/test.js +0 -5
- package/packages/hexo-extend-injector2/test/lib/helper/injector.js +0 -45
- package/packages/hexo-extend-injector2/test/lib/helper/next-inject.js +0 -69
- package/packages/hexo-extend-injector2/test/lib/hexo-compatible.js +0 -250
- package/packages/hexo-extend-injector2/test/lib/hexo-injector.js +0 -37
- package/packages/hexo-extend-injector2/test/lib/injector.js +0 -93
- package/packages/memoize/CHANGELOG.md +0 -82
- package/packages/memoize/CHANGES +0 -124
- package/packages/memoize/LICENSE +0 -15
- package/packages/memoize/README.md +0 -503
- package/packages/memoize/ext/async.js +0 -154
- package/packages/memoize/ext/dispose.js +0 -33
- package/packages/memoize/ext/max-age.js +0 -90
- package/packages/memoize/ext/max.js +0 -27
- package/packages/memoize/ext/promise.js +0 -147
- package/packages/memoize/ext/ref-counter.js +0 -48
- package/packages/memoize/index.js +0 -34
- package/packages/memoize/lib/configure-map.js +0 -182
- package/packages/memoize/lib/methods.js +0 -32
- package/packages/memoize/lib/registered-extensions.js +0 -1
- package/packages/memoize/lib/resolve-length.js +0 -15
- package/packages/memoize/lib/resolve-normalize.js +0 -17
- package/packages/memoize/lib/resolve-resolve.js +0 -21
- package/packages/memoize/lib/weak.js +0 -134
- package/packages/memoize/methods-plain.js +0 -3
- package/packages/memoize/methods.js +0 -3
- package/packages/memoize/normalizers/get-1.js +0 -29
- package/packages/memoize/normalizers/get-fixed.js +0 -71
- package/packages/memoize/normalizers/get-primitive-fixed.js +0 -16
- package/packages/memoize/normalizers/get.js +0 -90
- package/packages/memoize/normalizers/primitive.js +0 -9
- package/packages/memoize/package.json +0 -60
- package/packages/memoize/plain.js +0 -37
- package/packages/memoize/profile.js +0 -107
- package/packages/memoize/repository.md +0 -1
- package/packages/memoize/weak-plain.js +0 -3
- package/packages/memoize/weak.js +0 -3
- package/unused.md +0 -12
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var customError = require("es5-ext/error/custom")
|
|
4
|
-
, defineLength = require("es5-ext/function/_define-length")
|
|
5
|
-
, partial = require("es5-ext/function/#/partial")
|
|
6
|
-
, copy = require("es5-ext/object/copy")
|
|
7
|
-
, normalizeOpts = require("es5-ext/object/normalize-options")
|
|
8
|
-
, callable = require("es5-ext/object/valid-callable")
|
|
9
|
-
, d = require("d")
|
|
10
|
-
, WeakMap = require("es6-weak-map")
|
|
11
|
-
, resolveLength = require("./resolve-length")
|
|
12
|
-
, extensions = require("./registered-extensions")
|
|
13
|
-
, resolveResolve = require("./resolve-resolve")
|
|
14
|
-
, resolveNormalize = require("./resolve-normalize");
|
|
15
|
-
|
|
16
|
-
var slice = Array.prototype.slice, defineProperties = Object.defineProperties;
|
|
17
|
-
|
|
18
|
-
module.exports = function (memoize) {
|
|
19
|
-
return function (fn/*, options*/) {
|
|
20
|
-
var map, length, options = normalizeOpts(arguments[1]), memoized, resolve, normalizer;
|
|
21
|
-
|
|
22
|
-
callable(fn);
|
|
23
|
-
|
|
24
|
-
// Do not memoize already memoized function
|
|
25
|
-
if (hasOwnProperty.call(fn, "__memoized__") && !options.force) return fn;
|
|
26
|
-
|
|
27
|
-
length = resolveLength(options.length, fn.length, options.async && extensions.async);
|
|
28
|
-
options.length = length ? length - 1 : 0;
|
|
29
|
-
map = new WeakMap();
|
|
30
|
-
|
|
31
|
-
if (options.resolvers) resolve = resolveResolve(options.resolvers);
|
|
32
|
-
if (options.normalizer) normalizer = resolveNormalize(options.normalizer);
|
|
33
|
-
|
|
34
|
-
if (
|
|
35
|
-
length === 1 &&
|
|
36
|
-
!normalizer &&
|
|
37
|
-
!options.async &&
|
|
38
|
-
!options.dispose &&
|
|
39
|
-
!options.maxAge &&
|
|
40
|
-
!options.max &&
|
|
41
|
-
!options.refCounter
|
|
42
|
-
) {
|
|
43
|
-
return defineProperties(
|
|
44
|
-
function (obj) {
|
|
45
|
-
var result, args = arguments;
|
|
46
|
-
if (resolve) args = resolve(args);
|
|
47
|
-
obj = args[0];
|
|
48
|
-
if (map.has(obj)) return map.get(obj);
|
|
49
|
-
result = fn.apply(this, args);
|
|
50
|
-
if (map.has(obj)) {
|
|
51
|
-
throw customError("Circular invocation", "CIRCULAR_INVOCATION");
|
|
52
|
-
}
|
|
53
|
-
map.set(obj, result);
|
|
54
|
-
return result;
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
__memoized__: d(true),
|
|
58
|
-
delete: d(function (obj) {
|
|
59
|
-
if (resolve) obj = resolve(arguments)[0];
|
|
60
|
-
return map.delete(obj);
|
|
61
|
-
})
|
|
62
|
-
}
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
memoized = defineProperties(
|
|
66
|
-
defineLength(function (obj) {
|
|
67
|
-
var memoizer, args = arguments;
|
|
68
|
-
if (resolve) {
|
|
69
|
-
args = resolve(args);
|
|
70
|
-
obj = args[0];
|
|
71
|
-
}
|
|
72
|
-
memoizer = map.get(obj);
|
|
73
|
-
if (!memoizer) {
|
|
74
|
-
if (normalizer) {
|
|
75
|
-
options = copy(options);
|
|
76
|
-
options.normalizer = copy(normalizer);
|
|
77
|
-
options.normalizer.get = partial.call(options.normalizer.get, obj);
|
|
78
|
-
options.normalizer.set = partial.call(options.normalizer.set, obj);
|
|
79
|
-
if (options.normalizer.delete) {
|
|
80
|
-
options.normalizer.delete = partial.call(
|
|
81
|
-
options.normalizer.delete, obj
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
map.set(obj, memoizer = memoize(partial.call(fn, obj), options));
|
|
86
|
-
}
|
|
87
|
-
return memoizer.apply(this, slice.call(args, 1));
|
|
88
|
-
}, length),
|
|
89
|
-
{
|
|
90
|
-
__memoized__: d(true),
|
|
91
|
-
delete: d(
|
|
92
|
-
defineLength(function (obj) {
|
|
93
|
-
var memoizer, args = arguments;
|
|
94
|
-
if (resolve) {
|
|
95
|
-
args = resolve(args);
|
|
96
|
-
obj = args[0];
|
|
97
|
-
}
|
|
98
|
-
memoizer = map.get(obj);
|
|
99
|
-
if (!memoizer) return;
|
|
100
|
-
memoizer.delete.apply(this, slice.call(args, 1));
|
|
101
|
-
}, length)
|
|
102
|
-
)
|
|
103
|
-
}
|
|
104
|
-
);
|
|
105
|
-
if (!options.refCounter) return memoized;
|
|
106
|
-
defineProperties(memoized, {
|
|
107
|
-
deleteRef: d(
|
|
108
|
-
defineLength(function (obj) {
|
|
109
|
-
var memoizer, args = arguments;
|
|
110
|
-
if (resolve) {
|
|
111
|
-
args = resolve(args);
|
|
112
|
-
obj = args[0];
|
|
113
|
-
}
|
|
114
|
-
memoizer = map.get(obj);
|
|
115
|
-
if (!memoizer) return null;
|
|
116
|
-
return memoizer.deleteRef.apply(this, slice.call(args, 1));
|
|
117
|
-
}, length)
|
|
118
|
-
),
|
|
119
|
-
getRefCount: d(
|
|
120
|
-
defineLength(function (obj) {
|
|
121
|
-
var memoizer, args = arguments;
|
|
122
|
-
if (resolve) {
|
|
123
|
-
args = resolve(args);
|
|
124
|
-
obj = args[0];
|
|
125
|
-
}
|
|
126
|
-
memoizer = map.get(obj);
|
|
127
|
-
if (!memoizer) return 0;
|
|
128
|
-
return memoizer.getRefCount.apply(this, slice.call(args, 1));
|
|
129
|
-
}, length)
|
|
130
|
-
)
|
|
131
|
-
});
|
|
132
|
-
return memoized;
|
|
133
|
-
};
|
|
134
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var indexOf = require("es5-ext/array/#/e-index-of");
|
|
4
|
-
|
|
5
|
-
module.exports = function () {
|
|
6
|
-
var lastId = 0, argsMap = [], cache = [];
|
|
7
|
-
return {
|
|
8
|
-
get: function (args) {
|
|
9
|
-
var index = indexOf.call(argsMap, args[0]);
|
|
10
|
-
return index === -1 ? null : cache[index];
|
|
11
|
-
},
|
|
12
|
-
set: function (args) {
|
|
13
|
-
argsMap.push(args[0]);
|
|
14
|
-
cache.push(++lastId);
|
|
15
|
-
return lastId;
|
|
16
|
-
},
|
|
17
|
-
delete: function (id) {
|
|
18
|
-
var index = indexOf.call(cache, id);
|
|
19
|
-
if (index !== -1) {
|
|
20
|
-
argsMap.splice(index, 1);
|
|
21
|
-
cache.splice(index, 1);
|
|
22
|
-
}
|
|
23
|
-
},
|
|
24
|
-
clear: function () {
|
|
25
|
-
argsMap = [];
|
|
26
|
-
cache = [];
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
};
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var indexOf = require("es5-ext/array/#/e-index-of")
|
|
4
|
-
, create = Object.create;
|
|
5
|
-
|
|
6
|
-
module.exports = function (length) {
|
|
7
|
-
var lastId = 0, map = [[], []], cache = create(null);
|
|
8
|
-
return {
|
|
9
|
-
get: function (args) {
|
|
10
|
-
var index = 0, set = map, i;
|
|
11
|
-
while (index < length - 1) {
|
|
12
|
-
i = indexOf.call(set[0], args[index]);
|
|
13
|
-
if (i === -1) return null;
|
|
14
|
-
set = set[1][i];
|
|
15
|
-
++index;
|
|
16
|
-
}
|
|
17
|
-
i = indexOf.call(set[0], args[index]);
|
|
18
|
-
if (i === -1) return null;
|
|
19
|
-
return set[1][i] || null;
|
|
20
|
-
},
|
|
21
|
-
set: function (args) {
|
|
22
|
-
var index = 0, set = map, i;
|
|
23
|
-
while (index < length - 1) {
|
|
24
|
-
i = indexOf.call(set[0], args[index]);
|
|
25
|
-
if (i === -1) {
|
|
26
|
-
i = set[0].push(args[index]) - 1;
|
|
27
|
-
set[1].push([[], []]);
|
|
28
|
-
}
|
|
29
|
-
set = set[1][i];
|
|
30
|
-
++index;
|
|
31
|
-
}
|
|
32
|
-
i = indexOf.call(set[0], args[index]);
|
|
33
|
-
if (i === -1) {
|
|
34
|
-
i = set[0].push(args[index]) - 1;
|
|
35
|
-
}
|
|
36
|
-
set[1][i] = ++lastId;
|
|
37
|
-
cache[lastId] = args;
|
|
38
|
-
return lastId;
|
|
39
|
-
},
|
|
40
|
-
delete: function (id) {
|
|
41
|
-
var index = 0, set = map, i, path = [], args = cache[id];
|
|
42
|
-
while (index < length - 1) {
|
|
43
|
-
i = indexOf.call(set[0], args[index]);
|
|
44
|
-
if (i === -1) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
path.push(set, i);
|
|
48
|
-
set = set[1][i];
|
|
49
|
-
++index;
|
|
50
|
-
}
|
|
51
|
-
i = indexOf.call(set[0], args[index]);
|
|
52
|
-
if (i === -1) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
id = set[1][i];
|
|
56
|
-
set[0].splice(i, 1);
|
|
57
|
-
set[1].splice(i, 1);
|
|
58
|
-
while (!set[0].length && path.length) {
|
|
59
|
-
i = path.pop();
|
|
60
|
-
set = path.pop();
|
|
61
|
-
set[0].splice(i, 1);
|
|
62
|
-
set[1].splice(i, 1);
|
|
63
|
-
}
|
|
64
|
-
delete cache[id];
|
|
65
|
-
},
|
|
66
|
-
clear: function () {
|
|
67
|
-
map = [[], []];
|
|
68
|
-
cache = create(null);
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
module.exports = function (length) {
|
|
4
|
-
if (!length) {
|
|
5
|
-
return function () {
|
|
6
|
-
return "";
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
return function (args) {
|
|
10
|
-
var id = String(args[0]), i = 0, currentLength = length;
|
|
11
|
-
while (--currentLength) {
|
|
12
|
-
id += "\u0001" + args[++i];
|
|
13
|
-
}
|
|
14
|
-
return id;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/* eslint max-statements: 0 */
|
|
2
|
-
|
|
3
|
-
"use strict";
|
|
4
|
-
|
|
5
|
-
var indexOf = require("es5-ext/array/#/e-index-of");
|
|
6
|
-
|
|
7
|
-
var create = Object.create;
|
|
8
|
-
|
|
9
|
-
module.exports = function () {
|
|
10
|
-
var lastId = 0, map = [], cache = create(null);
|
|
11
|
-
return {
|
|
12
|
-
get: function (args) {
|
|
13
|
-
var index = 0, set = map, i, length = args.length;
|
|
14
|
-
if (length === 0) return set[length] || null;
|
|
15
|
-
if ((set = set[length])) {
|
|
16
|
-
while (index < length - 1) {
|
|
17
|
-
i = indexOf.call(set[0], args[index]);
|
|
18
|
-
if (i === -1) return null;
|
|
19
|
-
set = set[1][i];
|
|
20
|
-
++index;
|
|
21
|
-
}
|
|
22
|
-
i = indexOf.call(set[0], args[index]);
|
|
23
|
-
if (i === -1) return null;
|
|
24
|
-
return set[1][i] || null;
|
|
25
|
-
}
|
|
26
|
-
return null;
|
|
27
|
-
},
|
|
28
|
-
set: function (args) {
|
|
29
|
-
var index = 0, set = map, i, length = args.length;
|
|
30
|
-
if (length === 0) {
|
|
31
|
-
set[length] = ++lastId;
|
|
32
|
-
} else {
|
|
33
|
-
if (!set[length]) {
|
|
34
|
-
set[length] = [[], []];
|
|
35
|
-
}
|
|
36
|
-
set = set[length];
|
|
37
|
-
while (index < length - 1) {
|
|
38
|
-
i = indexOf.call(set[0], args[index]);
|
|
39
|
-
if (i === -1) {
|
|
40
|
-
i = set[0].push(args[index]) - 1;
|
|
41
|
-
set[1].push([[], []]);
|
|
42
|
-
}
|
|
43
|
-
set = set[1][i];
|
|
44
|
-
++index;
|
|
45
|
-
}
|
|
46
|
-
i = indexOf.call(set[0], args[index]);
|
|
47
|
-
if (i === -1) {
|
|
48
|
-
i = set[0].push(args[index]) - 1;
|
|
49
|
-
}
|
|
50
|
-
set[1][i] = ++lastId;
|
|
51
|
-
}
|
|
52
|
-
cache[lastId] = args;
|
|
53
|
-
return lastId;
|
|
54
|
-
},
|
|
55
|
-
delete: function (id) {
|
|
56
|
-
var index = 0, set = map, i, args = cache[id], length = args.length, path = [];
|
|
57
|
-
if (length === 0) {
|
|
58
|
-
delete set[length];
|
|
59
|
-
} else if ((set = set[length])) {
|
|
60
|
-
while (index < length - 1) {
|
|
61
|
-
i = indexOf.call(set[0], args[index]);
|
|
62
|
-
if (i === -1) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
path.push(set, i);
|
|
66
|
-
set = set[1][i];
|
|
67
|
-
++index;
|
|
68
|
-
}
|
|
69
|
-
i = indexOf.call(set[0], args[index]);
|
|
70
|
-
if (i === -1) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
id = set[1][i];
|
|
74
|
-
set[0].splice(i, 1);
|
|
75
|
-
set[1].splice(i, 1);
|
|
76
|
-
while (!set[0].length && path.length) {
|
|
77
|
-
i = path.pop();
|
|
78
|
-
set = path.pop();
|
|
79
|
-
set[0].splice(i, 1);
|
|
80
|
-
set[1].splice(i, 1);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
delete cache[id];
|
|
84
|
-
},
|
|
85
|
-
clear: function () {
|
|
86
|
-
map = [];
|
|
87
|
-
cache = create(null);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
};
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "memoizee",
|
|
3
|
-
"version": "0.4.15",
|
|
4
|
-
"description": "Memoize/cache function results",
|
|
5
|
-
"author": "Mariusz Nowak <medikoo@medikoo.com> (http://www.medikoo.com/)",
|
|
6
|
-
"keywords": [
|
|
7
|
-
"memoize",
|
|
8
|
-
"memoizer",
|
|
9
|
-
"cache",
|
|
10
|
-
"memoization",
|
|
11
|
-
"memo",
|
|
12
|
-
"memcached",
|
|
13
|
-
"hashing.",
|
|
14
|
-
"storage",
|
|
15
|
-
"caching",
|
|
16
|
-
"memory",
|
|
17
|
-
"gc",
|
|
18
|
-
"weak",
|
|
19
|
-
"garbage",
|
|
20
|
-
"collector",
|
|
21
|
-
"async"
|
|
22
|
-
],
|
|
23
|
-
"repository": {
|
|
24
|
-
"type": "git",
|
|
25
|
-
"url": "git://github.com/medikoo/memoizee.git"
|
|
26
|
-
},
|
|
27
|
-
"dependencies": {
|
|
28
|
-
"d": "^1.0.1",
|
|
29
|
-
"es5-ext": "^0.10.53",
|
|
30
|
-
"es6-weak-map": "^2.0.3",
|
|
31
|
-
"event-emitter": "^0.3.5",
|
|
32
|
-
"is-promise": "^2.2.2",
|
|
33
|
-
"lru-queue": "^0.1.0",
|
|
34
|
-
"next-tick": "^1.1.0",
|
|
35
|
-
"timers-ext": "^0.1.7"
|
|
36
|
-
},
|
|
37
|
-
"devDependencies": {
|
|
38
|
-
"bluebird": "^3.7.2",
|
|
39
|
-
"eslint": "^5.16.0",
|
|
40
|
-
"eslint-config-medikoo-es5": "^1.7.3",
|
|
41
|
-
"plain-promise": "^0.1.1",
|
|
42
|
-
"tad": "^2.0.1"
|
|
43
|
-
},
|
|
44
|
-
"eslintConfig": {
|
|
45
|
-
"extends": "medikoo-es5",
|
|
46
|
-
"root": true,
|
|
47
|
-
"globals": {
|
|
48
|
-
"setTimeout": true,
|
|
49
|
-
"clearTimeout": true
|
|
50
|
-
},
|
|
51
|
-
"rules": {
|
|
52
|
-
"max-lines-per-function": "off"
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
"scripts": {
|
|
56
|
-
"lint": "eslint --ignore-path=.gitignore .",
|
|
57
|
-
"test": "tad"
|
|
58
|
-
},
|
|
59
|
-
"license": "ISC"
|
|
60
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var callable = require("es5-ext/object/valid-callable")
|
|
4
|
-
, forEach = require("es5-ext/object/for-each")
|
|
5
|
-
, extensions = require("./lib/registered-extensions")
|
|
6
|
-
, configure = require("./lib/configure-map")
|
|
7
|
-
, resolveLength = require("./lib/resolve-length");
|
|
8
|
-
|
|
9
|
-
module.exports = function self(fn /*, options */) {
|
|
10
|
-
var options, length, conf;
|
|
11
|
-
|
|
12
|
-
callable(fn);
|
|
13
|
-
options = Object(arguments[1]);
|
|
14
|
-
|
|
15
|
-
if (options.async && options.promise) {
|
|
16
|
-
throw new Error("Options 'async' and 'promise' cannot be used together");
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// Do not memoize already memoized function
|
|
20
|
-
if (hasOwnProperty.call(fn, "__memoized__") && !options.force) return fn;
|
|
21
|
-
|
|
22
|
-
// Resolve length;
|
|
23
|
-
length = resolveLength(options.length, fn.length, options.async && extensions.async);
|
|
24
|
-
|
|
25
|
-
// Configure cache map
|
|
26
|
-
conf = configure(fn, length, options);
|
|
27
|
-
|
|
28
|
-
// Bind eventual extensions
|
|
29
|
-
forEach(extensions, function (extFn, name) {
|
|
30
|
-
if (options[name]) extFn(options[name], conf, options);
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
if (self.__profiler__) self.__profiler__(conf);
|
|
34
|
-
|
|
35
|
-
conf.updateEnv();
|
|
36
|
-
return conf.memoized;
|
|
37
|
-
};
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
// Gathers statistical data, and provides them in convinient form
|
|
2
|
-
|
|
3
|
-
"use strict";
|
|
4
|
-
|
|
5
|
-
var partial = require("es5-ext/function/#/partial")
|
|
6
|
-
, forEach = require("es5-ext/object/for-each")
|
|
7
|
-
, pad = require("es5-ext/string/#/pad")
|
|
8
|
-
, compact = require("es5-ext/array/#/compact")
|
|
9
|
-
, d = require("d")
|
|
10
|
-
, memoize = require("./plain");
|
|
11
|
-
|
|
12
|
-
var max = Math.max, stats = exports.statistics = {};
|
|
13
|
-
|
|
14
|
-
Object.defineProperty(
|
|
15
|
-
memoize,
|
|
16
|
-
"__profiler__",
|
|
17
|
-
d(function (conf) {
|
|
18
|
-
var id, source, data, stack;
|
|
19
|
-
stack = new Error().stack;
|
|
20
|
-
if (
|
|
21
|
-
!stack ||
|
|
22
|
-
!stack.split("\n").slice(3).some(function (line) {
|
|
23
|
-
if (line.indexOf("/memoizee/") === -1 && line.indexOf(" (native)") === -1) {
|
|
24
|
-
source = line.replace(/\n/g, "\\n").trim();
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
return false;
|
|
28
|
-
})
|
|
29
|
-
) {
|
|
30
|
-
source = "unknown";
|
|
31
|
-
}
|
|
32
|
-
id = compact.call([conf.profileName, source]).join(", ");
|
|
33
|
-
|
|
34
|
-
if (!stats[id]) stats[id] = { initial: 0, cached: 0 };
|
|
35
|
-
data = stats[id];
|
|
36
|
-
|
|
37
|
-
conf.on("set", function () { ++data.initial; });
|
|
38
|
-
conf.on("get", function () { ++data.cached; });
|
|
39
|
-
})
|
|
40
|
-
);
|
|
41
|
-
|
|
42
|
-
exports.log = function () {
|
|
43
|
-
var initial, cached, ordered, ipad, cpad, ppad, toPrc, log;
|
|
44
|
-
|
|
45
|
-
initial = cached = 0;
|
|
46
|
-
ordered = [];
|
|
47
|
-
|
|
48
|
-
toPrc = function (initialCount, cachedCount) {
|
|
49
|
-
if (!initialCount && !cachedCount) {
|
|
50
|
-
return "0.00";
|
|
51
|
-
}
|
|
52
|
-
return ((cachedCount / (initialCount + cachedCount)) * 100).toFixed(2);
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
log = "------------------------------------------------------------\n";
|
|
56
|
-
log += "Memoize statistics:\n\n";
|
|
57
|
-
|
|
58
|
-
forEach(
|
|
59
|
-
stats,
|
|
60
|
-
function (data, name) {
|
|
61
|
-
initial += data.initial;
|
|
62
|
-
cached += data.cached;
|
|
63
|
-
ordered.push([name, data]);
|
|
64
|
-
},
|
|
65
|
-
null,
|
|
66
|
-
function (nameA, nameB) {
|
|
67
|
-
return (
|
|
68
|
-
this[nameB].initial +
|
|
69
|
-
this[nameB].cached -
|
|
70
|
-
(this[nameA].initial + this[nameA].cached)
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
);
|
|
74
|
-
|
|
75
|
-
ipad = partial.call(pad, " ", max(String(initial).length, "Init".length));
|
|
76
|
-
cpad = partial.call(pad, " ", max(String(cached).length, "Cache".length));
|
|
77
|
-
ppad = partial.call(pad, " ", "%Cache".length);
|
|
78
|
-
log +=
|
|
79
|
-
ipad.call("Init") +
|
|
80
|
-
" " +
|
|
81
|
-
cpad.call("Cache") +
|
|
82
|
-
" " +
|
|
83
|
-
ppad.call("%Cache") +
|
|
84
|
-
" Source location\n";
|
|
85
|
-
log +=
|
|
86
|
-
ipad.call(initial) +
|
|
87
|
-
" " +
|
|
88
|
-
cpad.call(cached) +
|
|
89
|
-
" " +
|
|
90
|
-
ppad.call(toPrc(initial, cached)) +
|
|
91
|
-
" (all)\n";
|
|
92
|
-
ordered.forEach(function (data) {
|
|
93
|
-
var name = data[0];
|
|
94
|
-
data = data[1];
|
|
95
|
-
log +=
|
|
96
|
-
ipad.call(data.initial) +
|
|
97
|
-
" " +
|
|
98
|
-
cpad.call(data.cached) +
|
|
99
|
-
" " +
|
|
100
|
-
ppad.call(toPrc(data.initial, data.cached)) +
|
|
101
|
-
" " +
|
|
102
|
-
name +
|
|
103
|
-
"\n";
|
|
104
|
-
});
|
|
105
|
-
log += "------------------------------------------------------------\n";
|
|
106
|
-
return log;
|
|
107
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
https://github.com/medikoo/memoizee.git
|
package/packages/memoize/weak.js
DELETED
package/unused.md
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
Unused dependencies
|
|
2
|
-
* hexo-extend-injector2
|
|
3
|
-
Unused devDependencies
|
|
4
|
-
* @types/jsdom
|
|
5
|
-
* ts-node
|
|
6
|
-
* typescript
|
|
7
|
-
Missing dependencies
|
|
8
|
-
* @typescript-eslint/parser: ./.eslintrc.js
|
|
9
|
-
* eslint-plugin-ejs: ./.eslintrc.js
|
|
10
|
-
* minimatch: ./lib/article-ads.js
|
|
11
|
-
* object-assign: ./lib/config.js
|
|
12
|
-
* bluebird: ./lib/utils.js
|