@delta-comic/core 0.1.0 → 0.2.1
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/LICENSE +661 -661
- package/README.md +41 -41
- package/dist/index.js +37 -20
- package/dist/index.js.map +1 -1
- package/dist/index.umd.cjs +1 -1
- package/dist/index.umd.cjs.map +1 -1
- package/dist/lib/fc.d.ts +6 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/{index.d.ts → lib/ipc.d.ts} +44 -73
- package/dist/lib/temp.d.ts +23 -0
- package/dist/pack.tgz +0 -0
- package/package.json +1 -4
package/README.md
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
```python
|
|
2
|
-
r"""
|
|
3
|
-
___________________________
|
|
4
|
-
/ ______\ | __ | | ____|
|
|
5
|
-
| | _____ | |__| | | |__
|
|
6
|
-
| | / _ \| __ \ | __|
|
|
7
|
-
| |___| |_| || | \ \| |____
|
|
8
|
-
\__________/|_| \________|
|
|
9
|
-
==============================
|
|
10
|
-
空阙虱楼 Copyright © Wenxig
|
|
11
|
-
"""
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
[](https://raw.githubusercontent.com/delta-comic/delta-comic-core/main/LICENSE)
|
|
15
|
-
[](https://www.npmjs.com/package/delta-comic-core)
|
|
16
|
-
|
|
17
|
-
- 工具库
|
|
18
|
-
|
|
19
|
-
## 功能
|
|
20
|
-
|
|
21
|
-
- 辅助编写插件
|
|
22
|
-
- 提供通用数据结构与默认样式
|
|
23
|
-
|
|
24
|
-
## 如何使用
|
|
25
|
-
|
|
26
|
-
```sh
|
|
27
|
-
pnpm add delta-comic-core
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## 为谁编写插件?
|
|
31
|
-
|
|
32
|
-
[](https://github.com/delta-comic/delta-comic)
|
|
33
|
-
|
|
34
|
-
## 辅助的插件
|
|
35
|
-
|
|
36
|
-
### Layout
|
|
37
|
-
|
|
38
|
-
[](https://github.com/delta-comic/delta-comic-plugin-bika)
|
|
39
|
-
|
|
40
|
-
## Star History
|
|
41
|
-
|
|
1
|
+
```python
|
|
2
|
+
r"""
|
|
3
|
+
___________________________
|
|
4
|
+
/ ______\ | __ | | ____|
|
|
5
|
+
| | _____ | |__| | | |__
|
|
6
|
+
| | / _ \| __ \ | __|
|
|
7
|
+
| |___| |_| || | \ \| |____
|
|
8
|
+
\__________/|_| \________|
|
|
9
|
+
==============================
|
|
10
|
+
空阙虱楼 Copyright © Wenxig
|
|
11
|
+
"""
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
[](https://raw.githubusercontent.com/delta-comic/delta-comic-core/main/LICENSE)
|
|
15
|
+
[](https://www.npmjs.com/package/delta-comic-core)
|
|
16
|
+
|
|
17
|
+
- 工具库
|
|
18
|
+
|
|
19
|
+
## 功能
|
|
20
|
+
|
|
21
|
+
- 辅助编写插件
|
|
22
|
+
- 提供通用数据结构与默认样式
|
|
23
|
+
|
|
24
|
+
## 如何使用
|
|
25
|
+
|
|
26
|
+
```sh
|
|
27
|
+
pnpm add delta-comic-core
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## 为谁编写插件?
|
|
31
|
+
|
|
32
|
+
[](https://github.com/delta-comic/delta-comic)
|
|
33
|
+
|
|
34
|
+
## 辅助的插件
|
|
35
|
+
|
|
36
|
+
### Layout
|
|
37
|
+
|
|
38
|
+
[](https://github.com/delta-comic/delta-comic-plugin-bika)
|
|
39
|
+
|
|
40
|
+
## Star History
|
|
41
|
+
|
|
42
42
|
[](https://www.star-history.com/#delta-comic/delta-comic-core&Date)
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { useGlobalVar } from "@delta-comic/utils";
|
|
2
|
-
import { defineStore } from "pinia";
|
|
3
|
-
import { reactive, shallowReactive } from "vue";
|
|
4
|
-
var
|
|
5
|
-
let t =
|
|
1
|
+
import { useGlobalVar as e } from "@delta-comic/utils";
|
|
2
|
+
import { defineStore as t } from "pinia";
|
|
3
|
+
import { reactive as n, shallowReactive as r, shallowRef as i } from "vue";
|
|
4
|
+
var a = e(t("core:temp", (e) => {
|
|
5
|
+
let t = r(/* @__PURE__ */ new Map());
|
|
6
6
|
return {
|
|
7
|
-
$apply: (e, r) => (e = `reactive:${e}`, t.has(e) || t.set(e,
|
|
7
|
+
$apply: (e, r) => (e = `reactive:${e}`, t.has(e) || t.set(e, n(r())), t.get(e)),
|
|
8
8
|
$has: e.action((e) => (e = `reactive:${e}`, t.has(e)), "has"),
|
|
9
9
|
$onlyGet: e.action((e) => (e = `reactive:${e}`, t.get(e)), "onlyGet"),
|
|
10
10
|
$applyRaw: e.action((e, n) => (e = `raw:${e}`, t.has(e) || t.set(e, n()), t.get(e)), "applyRaw"),
|
|
@@ -12,21 +12,21 @@ var _useTemp = useGlobalVar(defineStore("core:temp", (e) => {
|
|
|
12
12
|
$onlyGetRaw: e.action((e) => (e = `raw:${e}`, t.get(e)), "onlyGetRaw")
|
|
13
13
|
};
|
|
14
14
|
}), "store/temp");
|
|
15
|
-
const
|
|
16
|
-
function
|
|
15
|
+
const o = () => a(window.$api.piniaInstance);
|
|
16
|
+
function s(e, t) {
|
|
17
17
|
if (t ?? (t = e, e = 0), e >= t) throw Error("Invalid input: The maximum value must be greater than the minimum value.");
|
|
18
18
|
return Math.random() * (t - e) + e;
|
|
19
19
|
}
|
|
20
|
-
function
|
|
21
|
-
return Math.floor(
|
|
20
|
+
function c(e, t) {
|
|
21
|
+
return Math.floor(s(e, t));
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function l(e, t, n) {
|
|
24
24
|
return n == null ? Math.min(e, t) : Math.min(Math.max(e, t), n);
|
|
25
25
|
}
|
|
26
|
-
function
|
|
27
|
-
return Number.isNaN(t) && (t = 0), Number.isNaN(n) && (n = 0),
|
|
26
|
+
function u(e, t, n) {
|
|
27
|
+
return Number.isNaN(t) && (t = 0), Number.isNaN(n) && (n = 0), l(e, t, n);
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function d(...e) {
|
|
30
30
|
let t = 0, n = 1, r = !1;
|
|
31
31
|
switch (e.length) {
|
|
32
32
|
case 1:
|
|
@@ -35,10 +35,10 @@ function random(...e) {
|
|
|
35
35
|
case 2: typeof e[1] == "boolean" ? (n = e[0], r = e[1]) : (t = e[0], n = e[1]);
|
|
36
36
|
case 3: typeof e[2] == "object" && e[2] != null && e[2][e[1]] === e[0] ? (t = 0, n = e[0], r = !1) : (t = e[0], n = e[1], r = e[2]);
|
|
37
37
|
}
|
|
38
|
-
return typeof t != "number" && (t = Number(t)), typeof n != "number" && (t = Number(n)), t ||= 0, n ||= 0, t > n && ([t, n] = [n, t]), t =
|
|
38
|
+
return typeof t != "number" && (t = Number(t)), typeof n != "number" && (t = Number(n)), t ||= 0, n ||= 0, t > n && ([t, n] = [n, t]), t = u(t, -(2 ** 53 - 1), 2 ** 53 - 1), n = u(n, -(2 ** 53 - 1), 2 ** 53 - 1), t === n ? t : r ? s(t, n + 1) : c(t, n + 1);
|
|
39
39
|
}
|
|
40
|
-
var
|
|
41
|
-
static sharedFunctions =
|
|
40
|
+
var f = class {
|
|
41
|
+
static sharedFunctions = e(/* @__PURE__ */ new Map(), "utils/SharedFunction/sharedFunctions");
|
|
42
42
|
static define(e, t, n) {
|
|
43
43
|
return console.debug("[SharedFunction.define] defined new function", t, ":", n, "->", e), this.sharedFunctions.set(n, [...this.sharedFunctions.get(n) ?? [], {
|
|
44
44
|
fn: e,
|
|
@@ -56,7 +56,7 @@ var SharedFunction = class {
|
|
|
56
56
|
return Object.assign(n, r);
|
|
57
57
|
}
|
|
58
58
|
static callRandom(e, ...t) {
|
|
59
|
-
let n = this.sharedFunctions.get(e) ?? [], r =
|
|
59
|
+
let n = this.sharedFunctions.get(e) ?? [], r = d(0, n.length - 1), i = n[r];
|
|
60
60
|
if (!i) throw Error(`[SharedFunction.callRandom] call ${e}, but not resigner any function.`);
|
|
61
61
|
console.log(`[SharedFunction.callRandom] call index: ${r} in ${n.length}`, i);
|
|
62
62
|
let a = i.fn(...t), o = {
|
|
@@ -80,7 +80,24 @@ var SharedFunction = class {
|
|
|
80
80
|
})));
|
|
81
81
|
return Object.assign(i, a);
|
|
82
82
|
}
|
|
83
|
-
}
|
|
84
|
-
|
|
83
|
+
}, p = e((() => {
|
|
84
|
+
let e = i(!!document.fullscreenElement);
|
|
85
|
+
return document.addEventListener("fullscreenchange", () => {
|
|
86
|
+
e.value = !!document.fullscreenElement;
|
|
87
|
+
}), e;
|
|
88
|
+
})(), "core/isFc");
|
|
89
|
+
const m = () => ({
|
|
90
|
+
isFullscreen: p,
|
|
91
|
+
entry() {
|
|
92
|
+
p.value = !0;
|
|
93
|
+
},
|
|
94
|
+
exit() {
|
|
95
|
+
p.value = !1;
|
|
96
|
+
},
|
|
97
|
+
toggle() {
|
|
98
|
+
p.value = !p.value;
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
export { f as SharedFunction, m as useFullscreen, o as useTemp };
|
|
85
102
|
|
|
86
103
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["random","random","clamp"],"sources":["../lib/temp.ts","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/random.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/randomInt.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/clamp.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/compat/math/clamp.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/compat/math/random.mjs","../lib/ipc.ts"],"sourcesContent":["import { useGlobalVar } from '@delta-comic/utils'\r\nimport { defineStore } from 'pinia'\r\nimport { reactive, shallowReactive, type Reactive } from 'vue'\r\n\r\nconst _useTemp = useGlobalVar(\r\n defineStore('core:temp', helper => {\r\n const tempBase = shallowReactive(new Map<string, any>())\r\n const $apply = <T extends object>(id: string, def: () => T) => {\r\n id = `reactive:${id}`\r\n if (!tempBase.has(id)) tempBase.set(id, reactive(def()))\r\n const store: Reactive<T> = tempBase.get(id)\r\n return store\r\n }\r\n const $has = helper.action((id: string): boolean => {\r\n id = `reactive:${id}`\r\n return tempBase.has(id)\r\n }, 'has')\r\n const $onlyGet = helper.action(<T extends object>(id: string): Reactive<T> => {\r\n id = `reactive:${id}`\r\n return tempBase.get(id)\r\n }, 'onlyGet')\r\n const $applyRaw = helper.action(<T extends object>(id: string, def: () => T) => {\r\n id = `raw:${id}`\r\n if (!tempBase.has(id)) tempBase.set(id, def())\r\n const store: T = tempBase.get(id)\r\n return store\r\n }, 'applyRaw')\r\n const $hasRaw = helper.action((id: string): boolean => {\r\n id = `raw:${id}`\r\n return tempBase.has(id)\r\n }, 'hasRaw')\r\n const $onlyGetRaw = helper.action(<T extends object>(id: string): Reactive<T> => {\r\n id = `raw:${id}`\r\n return tempBase.get(id)\r\n }, 'onlyGetRaw')\r\n return { $apply, $has, $onlyGet, $applyRaw, $hasRaw, $onlyGetRaw }\r\n }),\r\n 'store/temp'\r\n)\r\n\r\nexport const useTemp = () => _useTemp(window.$api.piniaInstance)","function random(minimum, maximum) {\n if (maximum == null) {\n maximum = minimum;\n minimum = 0;\n }\n if (minimum >= maximum) {\n throw new Error('Invalid input: The maximum value must be greater than the minimum value.');\n }\n return Math.random() * (maximum - minimum) + minimum;\n}\n\nexport { random };\n","import { random } from './random.mjs';\n\nfunction randomInt(minimum, maximum) {\n return Math.floor(random(minimum, maximum));\n}\n\nexport { randomInt };\n","function clamp(value, bound1, bound2) {\n if (bound2 == null) {\n return Math.min(value, bound1);\n }\n return Math.min(Math.max(value, bound1), bound2);\n}\n\nexport { clamp };\n","import { clamp as clamp$1 } from '../../math/clamp.mjs';\n\nfunction clamp(value, bound1, bound2) {\n if (Number.isNaN(bound1)) {\n bound1 = 0;\n }\n if (Number.isNaN(bound2)) {\n bound2 = 0;\n }\n return clamp$1(value, bound1, bound2);\n}\n\nexport { clamp };\n","import { clamp } from './clamp.mjs';\nimport { random as random$1 } from '../../math/random.mjs';\nimport { randomInt } from '../../math/randomInt.mjs';\n\nfunction random(...args) {\n let minimum = 0;\n let maximum = 1;\n let floating = false;\n switch (args.length) {\n case 1: {\n if (typeof args[0] === 'boolean') {\n floating = args[0];\n }\n else {\n maximum = args[0];\n }\n break;\n }\n case 2: {\n if (typeof args[1] === 'boolean') {\n maximum = args[0];\n floating = args[1];\n }\n else {\n minimum = args[0];\n maximum = args[1];\n }\n }\n case 3: {\n if (typeof args[2] === 'object' && args[2] != null && args[2][args[1]] === args[0]) {\n minimum = 0;\n maximum = args[0];\n floating = false;\n }\n else {\n minimum = args[0];\n maximum = args[1];\n floating = args[2];\n }\n }\n }\n if (typeof minimum !== 'number') {\n minimum = Number(minimum);\n }\n if (typeof maximum !== 'number') {\n minimum = Number(maximum);\n }\n if (!minimum) {\n minimum = 0;\n }\n if (!maximum) {\n maximum = 0;\n }\n if (minimum > maximum) {\n [minimum, maximum] = [maximum, minimum];\n }\n minimum = clamp(minimum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n maximum = clamp(maximum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n if (minimum === maximum) {\n return minimum;\n }\n if (floating) {\n return random$1(minimum, maximum + 1);\n }\n else {\n return randomInt(minimum, maximum + 1);\n }\n}\n\nexport { random };\n","import type { uni } from '@delta-comic/model'\r\n\r\nimport { useGlobalVar } from '@delta-comic/utils'\r\nimport { random } from 'es-toolkit/compat'\r\n\r\nexport type SharedFunctions = {\r\n getRandomProvide(signal?: AbortSignal): PromiseLike<uni.item.Item[]>\r\n\r\n addRecent(item: uni.item.Item): PromiseLike<any>\r\n routeToContent(\r\n contentType_: uni.content.ContentType_,\r\n id: string,\r\n ep: string,\r\n preload?: uni.content.PreloadValue\r\n ): PromiseLike<any>\r\n routeToSearch(\r\n input: string,\r\n source?: [plugin: string, name: string],\r\n sort?: string\r\n ): PromiseLike<any>\r\n\r\n addAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<void>\r\n removeAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<void>\r\n getIsAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<boolean>\r\n\r\n triggerSharePopup(page: uni.content.ContentPage): PromiseLike<void>\r\n triggerShareToken(token: string): PromiseLike<void>\r\n pushShareToken(token: string): PromiseLike<void>\r\n}\r\n\r\nexport class SharedFunction {\r\n private static sharedFunctions = useGlobalVar(\r\n new Map<string, { fn: SharedFunctions[keyof SharedFunctions]; plugin: string }[]>(),\r\n 'utils/SharedFunction/sharedFunctions'\r\n )\r\n public static define<TKey extends keyof SharedFunctions>(\r\n fn: SharedFunctions[TKey],\r\n plugin: string,\r\n name: TKey\r\n ) {\r\n console.debug('[SharedFunction.define] defined new function', plugin, ':', name, '->', fn)\r\n this.sharedFunctions.set(name, [...(this.sharedFunctions.get(name) ?? []), { fn, plugin }])\r\n return fn\r\n }\r\n public static call<TKey extends keyof SharedFunctions>(\r\n name: TKey,\r\n ...args: Parameters<SharedFunctions[TKey]>\r\n ) {\r\n const ins =\r\n this.sharedFunctions.get(name)?.map(v => {\r\n const result: ReturnType<SharedFunctions[TKey]> = (<any>v.fn)(...args)\r\n return { result, ...v }\r\n }) ?? []\r\n const results = Promise.all(ins.map(async v => ({ ...v, result: await v.result })))\r\n return Object.assign(ins, results)\r\n }\r\n public static callRandom<TKey extends keyof SharedFunctions>(\r\n name: TKey,\r\n ...args: Parameters<SharedFunctions[TKey]>\r\n ) {\r\n const all = this.sharedFunctions.get(name) ?? []\r\n const index = random(0, all.length - 1)\r\n const it = all[index]\r\n if (!it)\r\n throw new Error(`[SharedFunction.callRandom] call ${name}, but not resigner any function.`)\r\n console.log(`[SharedFunction.callRandom] call index: ${index} in ${all.length}`, it)\r\n const result: ReturnType<SharedFunctions[TKey]> = (<any>it.fn)(...args)\r\n const ins = { result, ...it }\r\n const results = (async () => ({ ...it, result: await result }))()\r\n return Object.assign(ins, results)\r\n }\r\n public static callWitch<TKey extends keyof SharedFunctions>(\r\n name: TKey,\r\n plugin: string,\r\n ...args: Parameters<SharedFunctions[TKey]>\r\n ) {\r\n const all = this.sharedFunctions.get(name) ?? []\r\n const them = all.filter(c => c.plugin === plugin)\r\n if (!them.length)\r\n throw new Error(\r\n `[SharedFunction.callWitch] not found plugin function (plugin: ${plugin}, name: ${name})`\r\n )\r\n\r\n const ins = them.map(v => {\r\n const result: ReturnType<SharedFunctions[TKey]> = (<any>v.fn)(...args)\r\n return { result, ...v }\r\n })\r\n const results = Promise.all(ins.map(async v => ({ ...v, result: await v.result })))\r\n return Object.assign(ins, results)\r\n }\r\n}"],"x_google_ignoreList":[1,2,3,4,5],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["random","random","clamp"],"sources":["../lib/temp.ts","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/random.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/randomInt.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/clamp.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/compat/math/clamp.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/compat/math/random.mjs","../lib/ipc.ts","../lib/fc.ts"],"sourcesContent":["import { useGlobalVar } from '@delta-comic/utils'\nimport { defineStore } from 'pinia'\nimport { reactive, shallowReactive, type Reactive } from 'vue'\n\nconst _useTemp = useGlobalVar(\n defineStore('core:temp', helper => {\n const tempBase = shallowReactive(new Map<string, any>())\n const $apply = <T extends object>(id: string, def: () => T) => {\n id = `reactive:${id}`\n if (!tempBase.has(id)) tempBase.set(id, reactive(def()))\n const store: Reactive<T> = tempBase.get(id)\n return store\n }\n const $has = helper.action((id: string): boolean => {\n id = `reactive:${id}`\n return tempBase.has(id)\n }, 'has')\n const $onlyGet = helper.action(<T extends object>(id: string): Reactive<T> => {\n id = `reactive:${id}`\n return tempBase.get(id)\n }, 'onlyGet')\n const $applyRaw = helper.action(<T extends object>(id: string, def: () => T) => {\n id = `raw:${id}`\n if (!tempBase.has(id)) tempBase.set(id, def())\n const store: T = tempBase.get(id)\n return store\n }, 'applyRaw')\n const $hasRaw = helper.action((id: string): boolean => {\n id = `raw:${id}`\n return tempBase.has(id)\n }, 'hasRaw')\n const $onlyGetRaw = helper.action(<T extends object>(id: string): Reactive<T> => {\n id = `raw:${id}`\n return tempBase.get(id)\n }, 'onlyGetRaw')\n return { $apply, $has, $onlyGet, $applyRaw, $hasRaw, $onlyGetRaw }\n }),\n 'store/temp'\n)\n\nexport const useTemp = () => _useTemp(window.$api.piniaInstance)","function random(minimum, maximum) {\n if (maximum == null) {\n maximum = minimum;\n minimum = 0;\n }\n if (minimum >= maximum) {\n throw new Error('Invalid input: The maximum value must be greater than the minimum value.');\n }\n return Math.random() * (maximum - minimum) + minimum;\n}\n\nexport { random };\n","import { random } from './random.mjs';\n\nfunction randomInt(minimum, maximum) {\n return Math.floor(random(minimum, maximum));\n}\n\nexport { randomInt };\n","function clamp(value, bound1, bound2) {\n if (bound2 == null) {\n return Math.min(value, bound1);\n }\n return Math.min(Math.max(value, bound1), bound2);\n}\n\nexport { clamp };\n","import { clamp as clamp$1 } from '../../math/clamp.mjs';\n\nfunction clamp(value, bound1, bound2) {\n if (Number.isNaN(bound1)) {\n bound1 = 0;\n }\n if (Number.isNaN(bound2)) {\n bound2 = 0;\n }\n return clamp$1(value, bound1, bound2);\n}\n\nexport { clamp };\n","import { clamp } from './clamp.mjs';\nimport { random as random$1 } from '../../math/random.mjs';\nimport { randomInt } from '../../math/randomInt.mjs';\n\nfunction random(...args) {\n let minimum = 0;\n let maximum = 1;\n let floating = false;\n switch (args.length) {\n case 1: {\n if (typeof args[0] === 'boolean') {\n floating = args[0];\n }\n else {\n maximum = args[0];\n }\n break;\n }\n case 2: {\n if (typeof args[1] === 'boolean') {\n maximum = args[0];\n floating = args[1];\n }\n else {\n minimum = args[0];\n maximum = args[1];\n }\n }\n case 3: {\n if (typeof args[2] === 'object' && args[2] != null && args[2][args[1]] === args[0]) {\n minimum = 0;\n maximum = args[0];\n floating = false;\n }\n else {\n minimum = args[0];\n maximum = args[1];\n floating = args[2];\n }\n }\n }\n if (typeof minimum !== 'number') {\n minimum = Number(minimum);\n }\n if (typeof maximum !== 'number') {\n minimum = Number(maximum);\n }\n if (!minimum) {\n minimum = 0;\n }\n if (!maximum) {\n maximum = 0;\n }\n if (minimum > maximum) {\n [minimum, maximum] = [maximum, minimum];\n }\n minimum = clamp(minimum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n maximum = clamp(maximum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n if (minimum === maximum) {\n return minimum;\n }\n if (floating) {\n return random$1(minimum, maximum + 1);\n }\n else {\n return randomInt(minimum, maximum + 1);\n }\n}\n\nexport { random };\n","import type { uni } from '@delta-comic/model'\n\nimport { useGlobalVar } from '@delta-comic/utils'\nimport { random } from 'es-toolkit/compat'\n\nexport type SharedFunctions = {\n getRandomProvide(signal?: AbortSignal): PromiseLike<uni.item.Item[]>\n\n addRecent(item: uni.item.Item): PromiseLike<any>\n routeToContent(\n contentType_: uni.content.ContentType_,\n id: string,\n ep: string,\n preload?: uni.content.PreloadValue\n ): PromiseLike<any>\n routeToSearch(\n input: string,\n source?: [plugin: string, name: string],\n sort?: string\n ): PromiseLike<any>\n\n addAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<void>\n removeAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<void>\n getIsAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<boolean>\n\n triggerSharePopup(page: uni.content.ContentPage): PromiseLike<void>\n triggerShareToken(token: string): PromiseLike<void>\n pushShareToken(token: string): PromiseLike<void>\n}\n\nexport class SharedFunction {\n private static sharedFunctions = useGlobalVar(\n new Map<string, { fn: SharedFunctions[keyof SharedFunctions]; plugin: string }[]>(),\n 'utils/SharedFunction/sharedFunctions'\n )\n public static define<TKey extends keyof SharedFunctions>(\n fn: SharedFunctions[TKey],\n plugin: string,\n name: TKey\n ) {\n console.debug('[SharedFunction.define] defined new function', plugin, ':', name, '->', fn)\n this.sharedFunctions.set(name, [...(this.sharedFunctions.get(name) ?? []), { fn, plugin }])\n return fn\n }\n public static call<TKey extends keyof SharedFunctions>(\n name: TKey,\n ...args: Parameters<SharedFunctions[TKey]>\n ) {\n const ins =\n this.sharedFunctions.get(name)?.map(v => {\n const result: ReturnType<SharedFunctions[TKey]> = (<any>v.fn)(...args)\n return { result, ...v }\n }) ?? []\n const results = Promise.all(ins.map(async v => ({ ...v, result: await v.result })))\n return Object.assign(ins, results)\n }\n public static callRandom<TKey extends keyof SharedFunctions>(\n name: TKey,\n ...args: Parameters<SharedFunctions[TKey]>\n ) {\n const all = this.sharedFunctions.get(name) ?? []\n const index = random(0, all.length - 1)\n const it = all[index]\n if (!it)\n throw new Error(`[SharedFunction.callRandom] call ${name}, but not resigner any function.`)\n console.log(`[SharedFunction.callRandom] call index: ${index} in ${all.length}`, it)\n const result: ReturnType<SharedFunctions[TKey]> = (<any>it.fn)(...args)\n const ins = { result, ...it }\n const results = (async () => ({ ...it, result: await result }))()\n return Object.assign(ins, results)\n }\n public static callWitch<TKey extends keyof SharedFunctions>(\n name: TKey,\n plugin: string,\n ...args: Parameters<SharedFunctions[TKey]>\n ) {\n const all = this.sharedFunctions.get(name) ?? []\n const them = all.filter(c => c.plugin === plugin)\n if (!them.length)\n throw new Error(\n `[SharedFunction.callWitch] not found plugin function (plugin: ${plugin}, name: ${name})`\n )\n\n const ins = them.map(v => {\n const result: ReturnType<SharedFunctions[TKey]> = (<any>v.fn)(...args)\n return { result, ...v }\n })\n const results = Promise.all(ins.map(async v => ({ ...v, result: await v.result })))\n return Object.assign(ins, results)\n }\n}","import { useGlobalVar } from '@delta-comic/utils'\nimport { shallowRef } from 'vue'\n\nconst isFullscreen = useGlobalVar(\n (() => {\n const isFc = shallowRef(!!document.fullscreenElement)\n document.addEventListener('fullscreenchange', () => {\n isFc.value = !!document.fullscreenElement\n })\n return isFc\n })(),\n 'core/isFc'\n)\n\nexport const useFullscreen = () => ({\n isFullscreen,\n entry() {\n isFullscreen.value = true\n },\n exit() {\n isFullscreen.value = false\n },\n toggle() {\n isFullscreen.value = !isFullscreen.value\n }\n})"],"x_google_ignoreList":[1,2,3,4,5],"mappings":"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"}
|
package/dist/index.umd.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@delta-comic/utils`),require(`pinia`),require(`vue`)):typeof define==`function`&&define.amd?define([`exports`,`@delta-comic/utils`,`pinia`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.DcCore={},e.window.$$lib$$.DcUtils,e.window.$$lib$$.Pinia,e.window.$$lib$$.Vue))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var i=(0,t.useGlobalVar)((0,n.defineStore)(`core:temp`,e=>{let t=(0,r.shallowReactive)(new Map);return{$apply:(e,n)=>(e=`reactive:${e}`,t.has(e)||t.set(e,(0,r.reactive)(n())),t.get(e)),$has:e.action(e=>(e=`reactive:${e}`,t.has(e)),`has`),$onlyGet:e.action(e=>(e=`reactive:${e}`,t.get(e)),`onlyGet`),$applyRaw:e.action((e,n)=>(e=`raw:${e}`,t.has(e)||t.set(e,n()),t.get(e)),`applyRaw`),$hasRaw:e.action(e=>(e=`raw:${e}`,t.has(e)),`hasRaw`),$onlyGetRaw:e.action(e=>(e=`raw:${e}`,t.get(e)),`onlyGetRaw`)}}),`store/temp`);let a=()=>i(window.$api.piniaInstance);function o(e,t){if(t??(t=e,e=0),e>=t)throw Error(`Invalid input: The maximum value must be greater than the minimum value.`);return Math.random()*(t-e)+e}function s(e,t){return Math.floor(o(e,t))}function c(e,t,n){return n==null?Math.min(e,t):Math.min(Math.max(e,t),n)}function l(e,t,n){return Number.isNaN(t)&&(t=0),Number.isNaN(n)&&(n=0),c(e,t,n)}function u(...e){let t=0,n=1,r=!1;switch(e.length){case 1:typeof e[0]==`boolean`?r=e[0]:n=e[0];break;case 2:typeof e[1]==`boolean`?(n=e[0],r=e[1]):(t=e[0],n=e[1]);case 3:typeof e[2]==`object`&&e[2]!=null&&e[2][e[1]]===e[0]?(t=0,n=e[0],r=!1):(t=e[0],n=e[1],r=e[2])}return typeof t!=`number`&&(t=Number(t)),typeof n!=`number`&&(t=Number(n)),t||=0,n||=0,t>n&&([t,n]=[n,t]),t=l(t,-(2**53-1),2**53-1),n=l(n,-(2**53-1),2**53-1),t===n?t:r?o(t,n+1):s(t,n+1)}
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`@delta-comic/utils`),require(`pinia`),require(`vue`)):typeof define==`function`&&define.amd?define([`exports`,`@delta-comic/utils`,`pinia`,`vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.DcCore={},e.window.$$lib$$.DcUtils,e.window.$$lib$$.Pinia,e.window.$$lib$$.Vue))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var i=(0,t.useGlobalVar)((0,n.defineStore)(`core:temp`,e=>{let t=(0,r.shallowReactive)(new Map);return{$apply:(e,n)=>(e=`reactive:${e}`,t.has(e)||t.set(e,(0,r.reactive)(n())),t.get(e)),$has:e.action(e=>(e=`reactive:${e}`,t.has(e)),`has`),$onlyGet:e.action(e=>(e=`reactive:${e}`,t.get(e)),`onlyGet`),$applyRaw:e.action((e,n)=>(e=`raw:${e}`,t.has(e)||t.set(e,n()),t.get(e)),`applyRaw`),$hasRaw:e.action(e=>(e=`raw:${e}`,t.has(e)),`hasRaw`),$onlyGetRaw:e.action(e=>(e=`raw:${e}`,t.get(e)),`onlyGetRaw`)}}),`store/temp`);let a=()=>i(window.$api.piniaInstance);function o(e,t){if(t??(t=e,e=0),e>=t)throw Error(`Invalid input: The maximum value must be greater than the minimum value.`);return Math.random()*(t-e)+e}function s(e,t){return Math.floor(o(e,t))}function c(e,t,n){return n==null?Math.min(e,t):Math.min(Math.max(e,t),n)}function l(e,t,n){return Number.isNaN(t)&&(t=0),Number.isNaN(n)&&(n=0),c(e,t,n)}function u(...e){let t=0,n=1,r=!1;switch(e.length){case 1:typeof e[0]==`boolean`?r=e[0]:n=e[0];break;case 2:typeof e[1]==`boolean`?(n=e[0],r=e[1]):(t=e[0],n=e[1]);case 3:typeof e[2]==`object`&&e[2]!=null&&e[2][e[1]]===e[0]?(t=0,n=e[0],r=!1):(t=e[0],n=e[1],r=e[2])}return typeof t!=`number`&&(t=Number(t)),typeof n!=`number`&&(t=Number(n)),t||=0,n||=0,t>n&&([t,n]=[n,t]),t=l(t,-(2**53-1),2**53-1),n=l(n,-(2**53-1),2**53-1),t===n?t:r?o(t,n+1):s(t,n+1)}var d=class{static sharedFunctions=(0,t.useGlobalVar)(new Map,`utils/SharedFunction/sharedFunctions`);static define(e,t,n){return console.debug(`[SharedFunction.define] defined new function`,t,`:`,n,`->`,e),this.sharedFunctions.set(n,[...this.sharedFunctions.get(n)??[],{fn:e,plugin:t}]),e}static call(e,...t){let n=this.sharedFunctions.get(e)?.map(e=>({result:e.fn(...t),...e}))??[],r=Promise.all(n.map(async e=>({...e,result:await e.result})));return Object.assign(n,r)}static callRandom(e,...t){let n=this.sharedFunctions.get(e)??[],r=u(0,n.length-1),i=n[r];if(!i)throw Error(`[SharedFunction.callRandom] call ${e}, but not resigner any function.`);console.log(`[SharedFunction.callRandom] call index: ${r} in ${n.length}`,i);let a=i.fn(...t),o={result:a,...i},s=(async()=>({...i,result:await a}))();return Object.assign(o,s)}static callWitch(e,t,...n){let r=(this.sharedFunctions.get(e)??[]).filter(e=>e.plugin===t);if(!r.length)throw Error(`[SharedFunction.callWitch] not found plugin function (plugin: ${t}, name: ${e})`);let i=r.map(e=>({result:e.fn(...n),...e})),a=Promise.all(i.map(async e=>({...e,result:await e.result})));return Object.assign(i,a)}},f=(0,t.useGlobalVar)((()=>{let e=(0,r.shallowRef)(!!document.fullscreenElement);return document.addEventListener(`fullscreenchange`,()=>{e.value=!!document.fullscreenElement}),e})(),`core/isFc`);e.SharedFunction=d,e.useFullscreen=()=>({isFullscreen:f,entry(){f.value=!0},exit(){f.value=!1},toggle(){f.value=!f.value}}),e.useTemp=a});
|
|
2
2
|
//# sourceMappingURL=index.umd.cjs.map
|
package/dist/index.umd.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.cjs","names":["random","random","clamp"],"sources":["../lib/temp.ts","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/random.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/randomInt.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/clamp.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/compat/math/clamp.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/compat/math/random.mjs","../lib/ipc.ts"],"sourcesContent":["import { useGlobalVar } from '@delta-comic/utils'\r\nimport { defineStore } from 'pinia'\r\nimport { reactive, shallowReactive, type Reactive } from 'vue'\r\n\r\nconst _useTemp = useGlobalVar(\r\n defineStore('core:temp', helper => {\r\n const tempBase = shallowReactive(new Map<string, any>())\r\n const $apply = <T extends object>(id: string, def: () => T) => {\r\n id = `reactive:${id}`\r\n if (!tempBase.has(id)) tempBase.set(id, reactive(def()))\r\n const store: Reactive<T> = tempBase.get(id)\r\n return store\r\n }\r\n const $has = helper.action((id: string): boolean => {\r\n id = `reactive:${id}`\r\n return tempBase.has(id)\r\n }, 'has')\r\n const $onlyGet = helper.action(<T extends object>(id: string): Reactive<T> => {\r\n id = `reactive:${id}`\r\n return tempBase.get(id)\r\n }, 'onlyGet')\r\n const $applyRaw = helper.action(<T extends object>(id: string, def: () => T) => {\r\n id = `raw:${id}`\r\n if (!tempBase.has(id)) tempBase.set(id, def())\r\n const store: T = tempBase.get(id)\r\n return store\r\n }, 'applyRaw')\r\n const $hasRaw = helper.action((id: string): boolean => {\r\n id = `raw:${id}`\r\n return tempBase.has(id)\r\n }, 'hasRaw')\r\n const $onlyGetRaw = helper.action(<T extends object>(id: string): Reactive<T> => {\r\n id = `raw:${id}`\r\n return tempBase.get(id)\r\n }, 'onlyGetRaw')\r\n return { $apply, $has, $onlyGet, $applyRaw, $hasRaw, $onlyGetRaw }\r\n }),\r\n 'store/temp'\r\n)\r\n\r\nexport const useTemp = () => _useTemp(window.$api.piniaInstance)","function random(minimum, maximum) {\n if (maximum == null) {\n maximum = minimum;\n minimum = 0;\n }\n if (minimum >= maximum) {\n throw new Error('Invalid input: The maximum value must be greater than the minimum value.');\n }\n return Math.random() * (maximum - minimum) + minimum;\n}\n\nexport { random };\n","import { random } from './random.mjs';\n\nfunction randomInt(minimum, maximum) {\n return Math.floor(random(minimum, maximum));\n}\n\nexport { randomInt };\n","function clamp(value, bound1, bound2) {\n if (bound2 == null) {\n return Math.min(value, bound1);\n }\n return Math.min(Math.max(value, bound1), bound2);\n}\n\nexport { clamp };\n","import { clamp as clamp$1 } from '../../math/clamp.mjs';\n\nfunction clamp(value, bound1, bound2) {\n if (Number.isNaN(bound1)) {\n bound1 = 0;\n }\n if (Number.isNaN(bound2)) {\n bound2 = 0;\n }\n return clamp$1(value, bound1, bound2);\n}\n\nexport { clamp };\n","import { clamp } from './clamp.mjs';\nimport { random as random$1 } from '../../math/random.mjs';\nimport { randomInt } from '../../math/randomInt.mjs';\n\nfunction random(...args) {\n let minimum = 0;\n let maximum = 1;\n let floating = false;\n switch (args.length) {\n case 1: {\n if (typeof args[0] === 'boolean') {\n floating = args[0];\n }\n else {\n maximum = args[0];\n }\n break;\n }\n case 2: {\n if (typeof args[1] === 'boolean') {\n maximum = args[0];\n floating = args[1];\n }\n else {\n minimum = args[0];\n maximum = args[1];\n }\n }\n case 3: {\n if (typeof args[2] === 'object' && args[2] != null && args[2][args[1]] === args[0]) {\n minimum = 0;\n maximum = args[0];\n floating = false;\n }\n else {\n minimum = args[0];\n maximum = args[1];\n floating = args[2];\n }\n }\n }\n if (typeof minimum !== 'number') {\n minimum = Number(minimum);\n }\n if (typeof maximum !== 'number') {\n minimum = Number(maximum);\n }\n if (!minimum) {\n minimum = 0;\n }\n if (!maximum) {\n maximum = 0;\n }\n if (minimum > maximum) {\n [minimum, maximum] = [maximum, minimum];\n }\n minimum = clamp(minimum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n maximum = clamp(maximum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n if (minimum === maximum) {\n return minimum;\n }\n if (floating) {\n return random$1(minimum, maximum + 1);\n }\n else {\n return randomInt(minimum, maximum + 1);\n }\n}\n\nexport { random };\n","import type { uni } from '@delta-comic/model'\r\n\r\nimport { useGlobalVar } from '@delta-comic/utils'\r\nimport { random } from 'es-toolkit/compat'\r\n\r\nexport type SharedFunctions = {\r\n getRandomProvide(signal?: AbortSignal): PromiseLike<uni.item.Item[]>\r\n\r\n addRecent(item: uni.item.Item): PromiseLike<any>\r\n routeToContent(\r\n contentType_: uni.content.ContentType_,\r\n id: string,\r\n ep: string,\r\n preload?: uni.content.PreloadValue\r\n ): PromiseLike<any>\r\n routeToSearch(\r\n input: string,\r\n source?: [plugin: string, name: string],\r\n sort?: string\r\n ): PromiseLike<any>\r\n\r\n addAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<void>\r\n removeAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<void>\r\n getIsAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<boolean>\r\n\r\n triggerSharePopup(page: uni.content.ContentPage): PromiseLike<void>\r\n triggerShareToken(token: string): PromiseLike<void>\r\n pushShareToken(token: string): PromiseLike<void>\r\n}\r\n\r\nexport class SharedFunction {\r\n private static sharedFunctions = useGlobalVar(\r\n new Map<string, { fn: SharedFunctions[keyof SharedFunctions]; plugin: string }[]>(),\r\n 'utils/SharedFunction/sharedFunctions'\r\n )\r\n public static define<TKey extends keyof SharedFunctions>(\r\n fn: SharedFunctions[TKey],\r\n plugin: string,\r\n name: TKey\r\n ) {\r\n console.debug('[SharedFunction.define] defined new function', plugin, ':', name, '->', fn)\r\n this.sharedFunctions.set(name, [...(this.sharedFunctions.get(name) ?? []), { fn, plugin }])\r\n return fn\r\n }\r\n public static call<TKey extends keyof SharedFunctions>(\r\n name: TKey,\r\n ...args: Parameters<SharedFunctions[TKey]>\r\n ) {\r\n const ins =\r\n this.sharedFunctions.get(name)?.map(v => {\r\n const result: ReturnType<SharedFunctions[TKey]> = (<any>v.fn)(...args)\r\n return { result, ...v }\r\n }) ?? []\r\n const results = Promise.all(ins.map(async v => ({ ...v, result: await v.result })))\r\n return Object.assign(ins, results)\r\n }\r\n public static callRandom<TKey extends keyof SharedFunctions>(\r\n name: TKey,\r\n ...args: Parameters<SharedFunctions[TKey]>\r\n ) {\r\n const all = this.sharedFunctions.get(name) ?? []\r\n const index = random(0, all.length - 1)\r\n const it = all[index]\r\n if (!it)\r\n throw new Error(`[SharedFunction.callRandom] call ${name}, but not resigner any function.`)\r\n console.log(`[SharedFunction.callRandom] call index: ${index} in ${all.length}`, it)\r\n const result: ReturnType<SharedFunctions[TKey]> = (<any>it.fn)(...args)\r\n const ins = { result, ...it }\r\n const results = (async () => ({ ...it, result: await result }))()\r\n return Object.assign(ins, results)\r\n }\r\n public static callWitch<TKey extends keyof SharedFunctions>(\r\n name: TKey,\r\n plugin: string,\r\n ...args: Parameters<SharedFunctions[TKey]>\r\n ) {\r\n const all = this.sharedFunctions.get(name) ?? []\r\n const them = all.filter(c => c.plugin === plugin)\r\n if (!them.length)\r\n throw new Error(\r\n `[SharedFunction.callWitch] not found plugin function (plugin: ${plugin}, name: ${name})`\r\n )\r\n\r\n const ins = them.map(v => {\r\n const result: ReturnType<SharedFunctions[TKey]> = (<any>v.fn)(...args)\r\n return { result, ...v }\r\n })\r\n const results = Promise.all(ins.map(async v => ({ ...v, result: await v.result })))\r\n return Object.assign(ins, results)\r\n }\r\n}"],"x_google_ignoreList":[1,2,3,4,5],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.cjs","names":["random","random","clamp"],"sources":["../lib/temp.ts","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/random.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/randomInt.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/math/clamp.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/compat/math/clamp.mjs","../../../node_modules/.pnpm/es-toolkit@1.40.0/node_modules/es-toolkit/dist/compat/math/random.mjs","../lib/ipc.ts","../lib/fc.ts"],"sourcesContent":["import { useGlobalVar } from '@delta-comic/utils'\nimport { defineStore } from 'pinia'\nimport { reactive, shallowReactive, type Reactive } from 'vue'\n\nconst _useTemp = useGlobalVar(\n defineStore('core:temp', helper => {\n const tempBase = shallowReactive(new Map<string, any>())\n const $apply = <T extends object>(id: string, def: () => T) => {\n id = `reactive:${id}`\n if (!tempBase.has(id)) tempBase.set(id, reactive(def()))\n const store: Reactive<T> = tempBase.get(id)\n return store\n }\n const $has = helper.action((id: string): boolean => {\n id = `reactive:${id}`\n return tempBase.has(id)\n }, 'has')\n const $onlyGet = helper.action(<T extends object>(id: string): Reactive<T> => {\n id = `reactive:${id}`\n return tempBase.get(id)\n }, 'onlyGet')\n const $applyRaw = helper.action(<T extends object>(id: string, def: () => T) => {\n id = `raw:${id}`\n if (!tempBase.has(id)) tempBase.set(id, def())\n const store: T = tempBase.get(id)\n return store\n }, 'applyRaw')\n const $hasRaw = helper.action((id: string): boolean => {\n id = `raw:${id}`\n return tempBase.has(id)\n }, 'hasRaw')\n const $onlyGetRaw = helper.action(<T extends object>(id: string): Reactive<T> => {\n id = `raw:${id}`\n return tempBase.get(id)\n }, 'onlyGetRaw')\n return { $apply, $has, $onlyGet, $applyRaw, $hasRaw, $onlyGetRaw }\n }),\n 'store/temp'\n)\n\nexport const useTemp = () => _useTemp(window.$api.piniaInstance)","function random(minimum, maximum) {\n if (maximum == null) {\n maximum = minimum;\n minimum = 0;\n }\n if (minimum >= maximum) {\n throw new Error('Invalid input: The maximum value must be greater than the minimum value.');\n }\n return Math.random() * (maximum - minimum) + minimum;\n}\n\nexport { random };\n","import { random } from './random.mjs';\n\nfunction randomInt(minimum, maximum) {\n return Math.floor(random(minimum, maximum));\n}\n\nexport { randomInt };\n","function clamp(value, bound1, bound2) {\n if (bound2 == null) {\n return Math.min(value, bound1);\n }\n return Math.min(Math.max(value, bound1), bound2);\n}\n\nexport { clamp };\n","import { clamp as clamp$1 } from '../../math/clamp.mjs';\n\nfunction clamp(value, bound1, bound2) {\n if (Number.isNaN(bound1)) {\n bound1 = 0;\n }\n if (Number.isNaN(bound2)) {\n bound2 = 0;\n }\n return clamp$1(value, bound1, bound2);\n}\n\nexport { clamp };\n","import { clamp } from './clamp.mjs';\nimport { random as random$1 } from '../../math/random.mjs';\nimport { randomInt } from '../../math/randomInt.mjs';\n\nfunction random(...args) {\n let minimum = 0;\n let maximum = 1;\n let floating = false;\n switch (args.length) {\n case 1: {\n if (typeof args[0] === 'boolean') {\n floating = args[0];\n }\n else {\n maximum = args[0];\n }\n break;\n }\n case 2: {\n if (typeof args[1] === 'boolean') {\n maximum = args[0];\n floating = args[1];\n }\n else {\n minimum = args[0];\n maximum = args[1];\n }\n }\n case 3: {\n if (typeof args[2] === 'object' && args[2] != null && args[2][args[1]] === args[0]) {\n minimum = 0;\n maximum = args[0];\n floating = false;\n }\n else {\n minimum = args[0];\n maximum = args[1];\n floating = args[2];\n }\n }\n }\n if (typeof minimum !== 'number') {\n minimum = Number(minimum);\n }\n if (typeof maximum !== 'number') {\n minimum = Number(maximum);\n }\n if (!minimum) {\n minimum = 0;\n }\n if (!maximum) {\n maximum = 0;\n }\n if (minimum > maximum) {\n [minimum, maximum] = [maximum, minimum];\n }\n minimum = clamp(minimum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n maximum = clamp(maximum, -Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n if (minimum === maximum) {\n return minimum;\n }\n if (floating) {\n return random$1(minimum, maximum + 1);\n }\n else {\n return randomInt(minimum, maximum + 1);\n }\n}\n\nexport { random };\n","import type { uni } from '@delta-comic/model'\n\nimport { useGlobalVar } from '@delta-comic/utils'\nimport { random } from 'es-toolkit/compat'\n\nexport type SharedFunctions = {\n getRandomProvide(signal?: AbortSignal): PromiseLike<uni.item.Item[]>\n\n addRecent(item: uni.item.Item): PromiseLike<any>\n routeToContent(\n contentType_: uni.content.ContentType_,\n id: string,\n ep: string,\n preload?: uni.content.PreloadValue\n ): PromiseLike<any>\n routeToSearch(\n input: string,\n source?: [plugin: string, name: string],\n sort?: string\n ): PromiseLike<any>\n\n addAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<void>\n removeAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<void>\n getIsAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<boolean>\n\n triggerSharePopup(page: uni.content.ContentPage): PromiseLike<void>\n triggerShareToken(token: string): PromiseLike<void>\n pushShareToken(token: string): PromiseLike<void>\n}\n\nexport class SharedFunction {\n private static sharedFunctions = useGlobalVar(\n new Map<string, { fn: SharedFunctions[keyof SharedFunctions]; plugin: string }[]>(),\n 'utils/SharedFunction/sharedFunctions'\n )\n public static define<TKey extends keyof SharedFunctions>(\n fn: SharedFunctions[TKey],\n plugin: string,\n name: TKey\n ) {\n console.debug('[SharedFunction.define] defined new function', plugin, ':', name, '->', fn)\n this.sharedFunctions.set(name, [...(this.sharedFunctions.get(name) ?? []), { fn, plugin }])\n return fn\n }\n public static call<TKey extends keyof SharedFunctions>(\n name: TKey,\n ...args: Parameters<SharedFunctions[TKey]>\n ) {\n const ins =\n this.sharedFunctions.get(name)?.map(v => {\n const result: ReturnType<SharedFunctions[TKey]> = (<any>v.fn)(...args)\n return { result, ...v }\n }) ?? []\n const results = Promise.all(ins.map(async v => ({ ...v, result: await v.result })))\n return Object.assign(ins, results)\n }\n public static callRandom<TKey extends keyof SharedFunctions>(\n name: TKey,\n ...args: Parameters<SharedFunctions[TKey]>\n ) {\n const all = this.sharedFunctions.get(name) ?? []\n const index = random(0, all.length - 1)\n const it = all[index]\n if (!it)\n throw new Error(`[SharedFunction.callRandom] call ${name}, but not resigner any function.`)\n console.log(`[SharedFunction.callRandom] call index: ${index} in ${all.length}`, it)\n const result: ReturnType<SharedFunctions[TKey]> = (<any>it.fn)(...args)\n const ins = { result, ...it }\n const results = (async () => ({ ...it, result: await result }))()\n return Object.assign(ins, results)\n }\n public static callWitch<TKey extends keyof SharedFunctions>(\n name: TKey,\n plugin: string,\n ...args: Parameters<SharedFunctions[TKey]>\n ) {\n const all = this.sharedFunctions.get(name) ?? []\n const them = all.filter(c => c.plugin === plugin)\n if (!them.length)\n throw new Error(\n `[SharedFunction.callWitch] not found plugin function (plugin: ${plugin}, name: ${name})`\n )\n\n const ins = them.map(v => {\n const result: ReturnType<SharedFunctions[TKey]> = (<any>v.fn)(...args)\n return { result, ...v }\n })\n const results = Promise.all(ins.map(async v => ({ ...v, result: await v.result })))\n return Object.assign(ins, results)\n }\n}","import { useGlobalVar } from '@delta-comic/utils'\nimport { shallowRef } from 'vue'\n\nconst isFullscreen = useGlobalVar(\n (() => {\n const isFc = shallowRef(!!document.fullscreenElement)\n document.addEventListener('fullscreenchange', () => {\n isFc.value = !!document.fullscreenElement\n })\n return isFc\n })(),\n 'core/isFc'\n)\n\nexport const useFullscreen = () => ({\n isFullscreen,\n entry() {\n isFullscreen.value = true\n },\n exit() {\n isFullscreen.value = false\n },\n toggle() {\n isFullscreen.value = !isFullscreen.value\n }\n})"],"x_google_ignoreList":[1,2,3,4,5],"mappings":"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"}
|
package/dist/lib/fc.d.ts
ADDED
|
@@ -1,73 +1,44 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
static
|
|
18
|
-
fn: SharedFunctions[keyof SharedFunctions];
|
|
19
|
-
plugin: string;
|
|
20
|
-
result: ReturnType<SharedFunctions[TKey]>;
|
|
21
|
-
} & Promise<{
|
|
22
|
-
result: Awaited<ReturnType<SharedFunctions[TKey]>>;
|
|
23
|
-
fn: SharedFunctions[keyof SharedFunctions];
|
|
24
|
-
plugin: string;
|
|
25
|
-
}>;
|
|
26
|
-
static
|
|
27
|
-
fn: SharedFunctions[keyof SharedFunctions];
|
|
28
|
-
plugin: string;
|
|
29
|
-
result: ReturnType<SharedFunctions[TKey]>;
|
|
30
|
-
}
|
|
31
|
-
result: Awaited<ReturnType<SharedFunctions[TKey]>>;
|
|
32
|
-
fn: SharedFunctions[keyof SharedFunctions];
|
|
33
|
-
plugin: string;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
triggerSharePopup(page: uni.content.ContentPage): PromiseLike<void>;
|
|
46
|
-
triggerShareToken(token: string): PromiseLike<void>;
|
|
47
|
-
pushShareToken(token: string): PromiseLike<void>;
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export declare const useTemp: () => Store<"core:temp", Pick<{
|
|
51
|
-
$apply: <T extends object>(id: string, def: () => T) => Reactive<T>;
|
|
52
|
-
$has: (id: string) => boolean;
|
|
53
|
-
$onlyGet: <T extends object>(id: string) => Reactive<T>;
|
|
54
|
-
$applyRaw: <T extends object>(id: string, def: () => T) => T;
|
|
55
|
-
$hasRaw: (id: string) => boolean;
|
|
56
|
-
$onlyGetRaw: <T extends object>(id: string) => Reactive<T>;
|
|
57
|
-
}, never>, Pick<{
|
|
58
|
-
$apply: <T extends object>(id: string, def: () => T) => Reactive<T>;
|
|
59
|
-
$has: (id: string) => boolean;
|
|
60
|
-
$onlyGet: <T extends object>(id: string) => Reactive<T>;
|
|
61
|
-
$applyRaw: <T extends object>(id: string, def: () => T) => T;
|
|
62
|
-
$hasRaw: (id: string) => boolean;
|
|
63
|
-
$onlyGetRaw: <T extends object>(id: string) => Reactive<T>;
|
|
64
|
-
}, never>, Pick<{
|
|
65
|
-
$apply: <T extends object>(id: string, def: () => T) => Reactive<T>;
|
|
66
|
-
$has: (id: string) => boolean;
|
|
67
|
-
$onlyGet: <T extends object>(id: string) => Reactive<T>;
|
|
68
|
-
$applyRaw: <T extends object>(id: string, def: () => T) => T;
|
|
69
|
-
$hasRaw: (id: string) => boolean;
|
|
70
|
-
$onlyGetRaw: <T extends object>(id: string) => Reactive<T>;
|
|
71
|
-
}, "$apply" | "$has" | "$onlyGet" | "$applyRaw" | "$hasRaw" | "$onlyGetRaw">>;
|
|
72
|
-
|
|
73
|
-
export { }
|
|
1
|
+
import { uni } from '@delta-comic/model';
|
|
2
|
+
export type SharedFunctions = {
|
|
3
|
+
getRandomProvide(signal?: AbortSignal): PromiseLike<uni.item.Item[]>;
|
|
4
|
+
addRecent(item: uni.item.Item): PromiseLike<any>;
|
|
5
|
+
routeToContent(contentType_: uni.content.ContentType_, id: string, ep: string, preload?: uni.content.PreloadValue): PromiseLike<any>;
|
|
6
|
+
routeToSearch(input: string, source?: [plugin: string, name: string], sort?: string): PromiseLike<any>;
|
|
7
|
+
addAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<void>;
|
|
8
|
+
removeAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<void>;
|
|
9
|
+
getIsAuthorSubscribe(author: uni.item.Author, plugin: string): PromiseLike<boolean>;
|
|
10
|
+
triggerSharePopup(page: uni.content.ContentPage): PromiseLike<void>;
|
|
11
|
+
triggerShareToken(token: string): PromiseLike<void>;
|
|
12
|
+
pushShareToken(token: string): PromiseLike<void>;
|
|
13
|
+
};
|
|
14
|
+
export declare class SharedFunction {
|
|
15
|
+
private static sharedFunctions;
|
|
16
|
+
static define<TKey extends keyof SharedFunctions>(fn: SharedFunctions[TKey], plugin: string, name: TKey): SharedFunctions[TKey];
|
|
17
|
+
static call<TKey extends keyof SharedFunctions>(name: TKey, ...args: Parameters<SharedFunctions[TKey]>): {
|
|
18
|
+
fn: SharedFunctions[keyof SharedFunctions];
|
|
19
|
+
plugin: string;
|
|
20
|
+
result: ReturnType<SharedFunctions[TKey]>;
|
|
21
|
+
}[] & Promise<{
|
|
22
|
+
result: Awaited<ReturnType<SharedFunctions[TKey]>>;
|
|
23
|
+
fn: SharedFunctions[keyof SharedFunctions];
|
|
24
|
+
plugin: string;
|
|
25
|
+
}[]>;
|
|
26
|
+
static callRandom<TKey extends keyof SharedFunctions>(name: TKey, ...args: Parameters<SharedFunctions[TKey]>): {
|
|
27
|
+
fn: SharedFunctions[keyof SharedFunctions];
|
|
28
|
+
plugin: string;
|
|
29
|
+
result: ReturnType<SharedFunctions[TKey]>;
|
|
30
|
+
} & Promise<{
|
|
31
|
+
result: Awaited<ReturnType<SharedFunctions[TKey]>>;
|
|
32
|
+
fn: SharedFunctions[keyof SharedFunctions];
|
|
33
|
+
plugin: string;
|
|
34
|
+
}>;
|
|
35
|
+
static callWitch<TKey extends keyof SharedFunctions>(name: TKey, plugin: string, ...args: Parameters<SharedFunctions[TKey]>): {
|
|
36
|
+
fn: SharedFunctions[keyof SharedFunctions];
|
|
37
|
+
plugin: string;
|
|
38
|
+
result: ReturnType<SharedFunctions[TKey]>;
|
|
39
|
+
}[] & Promise<{
|
|
40
|
+
result: Awaited<ReturnType<SharedFunctions[TKey]>>;
|
|
41
|
+
fn: SharedFunctions[keyof SharedFunctions];
|
|
42
|
+
plugin: string;
|
|
43
|
+
}[]>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Reactive } from 'vue';
|
|
2
|
+
export declare const useTemp: () => import('pinia').Store<"core:temp", Pick<{
|
|
3
|
+
$apply: <T extends object>(id: string, def: () => T) => Reactive<T>;
|
|
4
|
+
$has: (id: string) => boolean;
|
|
5
|
+
$onlyGet: <T extends object>(id: string) => Reactive<T>;
|
|
6
|
+
$applyRaw: <T extends object>(id: string, def: () => T) => T;
|
|
7
|
+
$hasRaw: (id: string) => boolean;
|
|
8
|
+
$onlyGetRaw: <T extends object>(id: string) => Reactive<T>;
|
|
9
|
+
}, never>, Pick<{
|
|
10
|
+
$apply: <T extends object>(id: string, def: () => T) => Reactive<T>;
|
|
11
|
+
$has: (id: string) => boolean;
|
|
12
|
+
$onlyGet: <T extends object>(id: string) => Reactive<T>;
|
|
13
|
+
$applyRaw: <T extends object>(id: string, def: () => T) => T;
|
|
14
|
+
$hasRaw: (id: string) => boolean;
|
|
15
|
+
$onlyGetRaw: <T extends object>(id: string) => Reactive<T>;
|
|
16
|
+
}, never>, Pick<{
|
|
17
|
+
$apply: <T extends object>(id: string, def: () => T) => Reactive<T>;
|
|
18
|
+
$has: (id: string) => boolean;
|
|
19
|
+
$onlyGet: <T extends object>(id: string) => Reactive<T>;
|
|
20
|
+
$applyRaw: <T extends object>(id: string, def: () => T) => T;
|
|
21
|
+
$hasRaw: (id: string) => boolean;
|
|
22
|
+
$onlyGetRaw: <T extends object>(id: string) => Reactive<T>;
|
|
23
|
+
}, "$apply" | "$has" | "$onlyGet" | "$applyRaw" | "$hasRaw" | "$onlyGetRaw">>;
|
package/dist/pack.tgz
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@delta-comic/core",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "空阙虱楼",
|
|
5
5
|
"homepage": "https://github.com/delta-comic/delta-comic-core",
|
|
6
6
|
"license": "AGPL-3.0-only",
|
|
@@ -42,9 +42,6 @@
|
|
|
42
42
|
"tarball": "./dist/pack.tgz"
|
|
43
43
|
},
|
|
44
44
|
"readme": "./README.md",
|
|
45
|
-
"dependencies": {
|
|
46
|
-
"@tauri-apps/api": "^2.10.1"
|
|
47
|
-
},
|
|
48
45
|
"scripts": {
|
|
49
46
|
"build": "vite build && pnpm pack --out ./dist/pack.tgz",
|
|
50
47
|
"version:major": "pnpm version major --no-git-tag-version",
|