@delta-comic/core 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { useGlobalVar as e } from "@delta-comic/utils";
2
2
  import { defineStore as t } from "pinia";
3
3
  import { reactive as n, shallowReactive as r, shallowRef as i } from "vue";
4
4
  var a = e(t("core:temp", (e) => {
5
- let t = r(/* @__PURE__ */ new Map());
5
+ let t = r(new Map());
6
6
  return {
7
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"),
@@ -13,20 +13,23 @@ var a = e(t("core:temp", (e) => {
13
13
  };
14
14
  }), "store/temp");
15
15
  const o = () => a(window.$api.piniaInstance);
16
- function s(e, t) {
16
+ function s(e) {
17
+ return typeof e == "symbol" || e instanceof Symbol;
18
+ }
19
+ function c(e) {
20
+ return s(e) ? NaN : Number(e);
21
+ }
22
+ function l(e, t) {
17
23
  if (t ?? (t = e, e = 0), e >= t) throw Error("Invalid input: The maximum value must be greater than the minimum value.");
18
24
  return Math.random() * (t - e) + e;
19
25
  }
20
- function c(e, t) {
21
- return Math.floor(s(e, t));
22
- }
23
- function l(e, t, n) {
24
- return n == null ? Math.min(e, t) : Math.min(Math.max(e, t), n);
26
+ function u(e, t) {
27
+ return Math.floor(l(e, t));
25
28
  }
26
- function u(e, t, n) {
27
- return Number.isNaN(t) && (t = 0), Number.isNaN(n) && (n = 0), l(e, t, n);
29
+ function d(e, t, n) {
30
+ return n === void 0 && (n = t, t = void 0), n !== void 0 && (n = c(n), e = Math.min(e, Number.isNaN(n) ? 0 : n)), t !== void 0 && (t = c(t), e = Math.max(e, Number.isNaN(t) ? 0 : t)), e;
28
31
  }
29
- function d(...e) {
32
+ function f(...e) {
30
33
  let t = 0, n = 1, r = !1;
31
34
  switch (e.length) {
32
35
  case 1:
@@ -35,10 +38,10 @@ function d(...e) {
35
38
  case 2: typeof e[1] == "boolean" ? (n = e[0], r = e[1]) : (t = e[0], n = e[1]);
36
39
  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
40
  }
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);
41
+ return typeof t != "number" && (t = Number(t)), typeof n != "number" && (t = Number(n)), t ||= 0, n ||= 0, t > n && ([t, n] = [n, t]), t = d(t, -(2 ** 53 - 1), 2 ** 53 - 1), n = d(n, -(2 ** 53 - 1), 2 ** 53 - 1), t === n ? t : r ? l(t, n + 1) : u(t, n + 1);
39
42
  }
40
- var f = class {
41
- static sharedFunctions = e(/* @__PURE__ */ new Map(), "utils/SharedFunction/sharedFunctions");
43
+ var p = class {
44
+ static sharedFunctions = e(new Map(), "utils/SharedFunction/sharedFunctions");
42
45
  static define(e, t, n) {
43
46
  return console.debug("[SharedFunction.define] defined new function", t, ":", n, "->", e), this.sharedFunctions.set(n, [...this.sharedFunctions.get(n) ?? [], {
44
47
  fn: e,
@@ -56,7 +59,7 @@ var f = class {
56
59
  return Object.assign(n, r);
57
60
  }
58
61
  static callRandom(e, ...t) {
59
- let n = this.sharedFunctions.get(e) ?? [], r = d(0, n.length - 1), i = n[r];
62
+ let n = this.sharedFunctions.get(e) ?? [], r = f(0, n.length - 1), i = n[r];
60
63
  if (!i) throw Error(`[SharedFunction.callRandom] call ${e}, but not resigner any function.`);
61
64
  console.log(`[SharedFunction.callRandom] call index: ${r} in ${n.length}`, i);
62
65
  let a = i.fn(...t), o = {
@@ -80,24 +83,24 @@ var f = class {
80
83
  })));
81
84
  return Object.assign(i, a);
82
85
  }
83
- }, p = e((() => {
86
+ }, m = e((() => {
84
87
  let e = i(!!document.fullscreenElement);
85
88
  return document.addEventListener("fullscreenchange", () => {
86
89
  e.value = !!document.fullscreenElement;
87
90
  }), e;
88
91
  })(), "core/isFc");
89
- const m = () => ({
90
- isFullscreen: p,
92
+ const h = () => ({
93
+ isFullscreen: m,
91
94
  entry() {
92
- p.value = !0;
95
+ m.value = !0;
93
96
  },
94
97
  exit() {
95
- p.value = !1;
98
+ m.value = !1;
96
99
  },
97
100
  toggle() {
98
- p.value = !p.value;
101
+ m.value = !m.value;
99
102
  }
100
103
  });
101
- export { f as SharedFunction, m as useFullscreen, o as useTemp };
104
+ export { p as SharedFunction, h as useFullscreen, o as useTemp };
102
105
 
103
106
  //# 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","../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'\nimport { useGlobalVar } from '@delta-comic/utils'\nimport { random } from 'es-toolkit/compat'\n\nexport interface 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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"}
1
+ {"version":3,"file":"index.js","names":["random","random"],"sources":["../lib/temp.ts","../../../node_modules/.pnpm/es-toolkit@1.45.0/node_modules/es-toolkit/dist/compat/predicate/isSymbol.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.0/node_modules/es-toolkit/dist/compat/util/toNumber.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.0/node_modules/es-toolkit/dist/math/random.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.0/node_modules/es-toolkit/dist/math/randomInt.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.0/node_modules/es-toolkit/dist/compat/math/clamp.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.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 isSymbol(value) {\n return typeof value === 'symbol' || value instanceof Symbol;\n}\n\nexport { isSymbol };\n","import { isSymbol } from '../predicate/isSymbol.mjs';\n\nfunction toNumber(value) {\n if (isSymbol(value)) {\n return NaN;\n }\n return Number(value);\n}\n\nexport { toNumber };\n","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","import { toNumber } from '../util/toNumber.mjs';\n\nfunction clamp(value, bound1, bound2) {\n if (bound2 === undefined) {\n bound2 = bound1;\n bound1 = undefined;\n }\n if (bound2 !== undefined) {\n bound2 = toNumber(bound2);\n value = Math.min(value, Number.isNaN(bound2) ? 0 : bound2);\n }\n if (bound1 !== undefined) {\n bound1 = toNumber(bound1);\n value = Math.max(value, Number.isNaN(bound1) ? 0 : bound1);\n }\n return value;\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'\nimport { useGlobalVar } from '@delta-comic/utils'\nimport { random } from 'es-toolkit/compat'\n\nexport interface 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,6],"mappings":"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"}
@@ -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)}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});
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){return typeof e==`symbol`||e instanceof Symbol}function s(e){return o(e)?NaN:Number(e)}function c(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 l(e,t){return Math.floor(c(e,t))}function u(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=s(n),e=Math.min(e,Number.isNaN(n)?0:n)),t!==void 0&&(t=s(t),e=Math.max(e,Number.isNaN(t)?0:t)),e}function d(...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=u(t,-(2**53-1),2**53-1),n=u(n,-(2**53-1),2**53-1),t===n?t:r?c(t,n+1):l(t,n+1)}var f=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=d(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)}},p=(0,t.useGlobalVar)((()=>{let e=(0,r.shallowRef)(!!document.fullscreenElement);return document.addEventListener(`fullscreenchange`,()=>{e.value=!!document.fullscreenElement}),e})(),`core/isFc`);e.SharedFunction=f,e.useFullscreen=()=>({isFullscreen:p,entry(){p.value=!0},exit(){p.value=!1},toggle(){p.value=!p.value}}),e.useTemp=a});
2
2
  //# sourceMappingURL=index.umd.cjs.map
@@ -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","../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'\nimport { useGlobalVar } from '@delta-comic/utils'\nimport { random } from 'es-toolkit/compat'\n\nexport interface 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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"}
1
+ {"version":3,"file":"index.umd.cjs","names":["random","random"],"sources":["../lib/temp.ts","../../../node_modules/.pnpm/es-toolkit@1.45.0/node_modules/es-toolkit/dist/compat/predicate/isSymbol.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.0/node_modules/es-toolkit/dist/compat/util/toNumber.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.0/node_modules/es-toolkit/dist/math/random.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.0/node_modules/es-toolkit/dist/math/randomInt.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.0/node_modules/es-toolkit/dist/compat/math/clamp.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.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 isSymbol(value) {\n return typeof value === 'symbol' || value instanceof Symbol;\n}\n\nexport { isSymbol };\n","import { isSymbol } from '../predicate/isSymbol.mjs';\n\nfunction toNumber(value) {\n if (isSymbol(value)) {\n return NaN;\n }\n return Number(value);\n}\n\nexport { toNumber };\n","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","import { toNumber } from '../util/toNumber.mjs';\n\nfunction clamp(value, bound1, bound2) {\n if (bound2 === undefined) {\n bound2 = bound1;\n bound1 = undefined;\n }\n if (bound2 !== undefined) {\n bound2 = toNumber(bound2);\n value = Math.min(value, Number.isNaN(bound2) ? 0 : bound2);\n }\n if (bound1 !== undefined) {\n bound1 = toNumber(bound1);\n value = Math.max(value, Number.isNaN(bound1) ? 0 : bound1);\n }\n return value;\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'\nimport { useGlobalVar } from '@delta-comic/utils'\nimport { random } from 'es-toolkit/compat'\n\nexport interface 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,6],"mappings":"0bAIA,IAAM,GAAA,EAAA,EAAA,eAAA,EAAA,EAAA,aACQ,YAAa,GAAU,CACjC,IAAM,GAAA,EAAA,EAAA,iBAA2B,IAAI,IAAmB,CA6BxD,MAAO,CAAE,QA5ByB,EAAY,KAC5C,EAAK,YAAY,IACZ,EAAS,IAAI,EAAG,EAAE,EAAS,IAAI,GAAA,EAAA,EAAA,UAAa,GAAK,CAAC,CAAC,CAC7B,EAAS,IAAI,EAAG,EAyB5B,KAtBJ,EAAO,OAAQ,IAC1B,EAAK,YAAY,IACV,EAAS,IAAI,EAAG,EACtB,MAAM,CAmBc,SAlBN,EAAO,OAA0B,IAChD,EAAK,YAAY,IACV,EAAS,IAAI,EAAG,EACtB,UAAU,CAeoB,UAdf,EAAO,QAA0B,EAAY,KAC7D,EAAK,OAAO,IACP,EAAS,IAAI,EAAG,EAAE,EAAS,IAAI,EAAI,GAAK,CAAC,CAC7B,EAAS,IAAI,EAAG,EAEhC,WAAW,CAS8B,QAR5B,EAAO,OAAQ,IAC7B,EAAK,OAAO,IACL,EAAS,IAAI,EAAG,EACtB,SAAS,CAKyC,YAJjC,EAAO,OAA0B,IACnD,EAAK,OAAO,IACL,EAAS,IAAI,EAAG,EACtB,aAAa,CACkD,EAClE,CACF,aACD,CAED,IAAa,MAAgB,EAAS,OAAO,KAAK,cAAA,CCxClD,SAAS,EAAS,EAAO,CACrB,OAAO,OAAO,GAAU,UAAY,aAAiB,OCCzD,SAAS,EAAS,EAAO,CAIrB,OAHI,EAAS,EAAM,CACR,IAEJ,OAAO,EAAM,CCNxB,SAASA,EAAO,EAAS,EAAS,CAK9B,GAJI,IACA,EAAU,EACV,EAAU,GAEV,GAAW,EACX,MAAU,MAAM,2EAA2E,CAE/F,OAAO,KAAK,QAAQ,EAAI,EAAU,GAAW,ECNjD,SAAS,EAAU,EAAS,EAAS,CACjC,OAAO,KAAK,MAAMC,EAAO,EAAS,EAAQ,CAAC,CCD/C,SAAS,EAAM,EAAO,EAAQ,EAAQ,CAalC,OAZI,IAAW,IAAA,KACX,EAAS,EACT,EAAS,IAAA,IAET,IAAW,IAAA,KACX,EAAS,EAAS,EAAO,CACzB,EAAQ,KAAK,IAAI,EAAO,OAAO,MAAM,EAAO,CAAG,EAAI,EAAO,EAE1D,IAAW,IAAA,KACX,EAAS,EAAS,EAAO,CACzB,EAAQ,KAAK,IAAI,EAAO,OAAO,MAAM,EAAO,CAAG,EAAI,EAAO,EAEvD,ECXX,SAAS,EAAO,GAAG,EAAM,CACrB,IAAI,EAAU,EACV,EAAU,EACV,EAAW,GACf,OAAQ,EAAK,OAAb,CACI,IAAK,GACG,OAAO,EAAK,IAAO,UACnB,EAAW,EAAK,GAGhB,EAAU,EAAK,GAEnB,MAEJ,IAAK,GACG,OAAO,EAAK,IAAO,WACnB,EAAU,EAAK,GACf,EAAW,EAAK,KAGhB,EAAU,EAAK,GACf,EAAU,EAAK,IAGvB,IAAK,GACG,OAAO,EAAK,IAAO,UAAY,EAAK,IAAM,MAAQ,EAAK,GAAG,EAAK,MAAQ,EAAK,IAC5E,EAAU,EACV,EAAU,EAAK,GACf,EAAW,KAGX,EAAU,EAAK,GACf,EAAU,EAAK,GACf,EAAW,EAAK,IA4BxB,OAxBA,OAAO,GAAY,WACnB,EAAU,OAAO,EAAQ,EAEzB,OAAO,GAAY,WACnB,EAAU,OAAO,EAAQ,EAE7B,AACI,IAAU,EAEd,AACI,IAAU,EAEV,EAAU,IACV,CAAC,EAAS,GAAW,CAAC,EAAS,EAAQ,EAE3C,EAAU,EAAM,EAAS,mBAAkD,CAC3E,EAAU,EAAM,EAAS,mBAAkD,CACvE,IAAY,EACL,EAEP,EACO,EAAS,EAAS,EAAU,EAAE,CAG9B,EAAU,EAAS,EAAU,EAAE,CCpC9C,IAAa,EAAb,KAA4B,CAC1B,OAAe,iBAAA,EAAA,EAAA,cACb,IAAI,IACJ,uCACD,CACD,OAAc,OACZ,EACA,EACA,EACA,CAGA,OAFA,QAAQ,MAAM,+CAAgD,EAAQ,IAAK,EAAM,KAAM,EAAG,CAC1F,KAAK,gBAAgB,IAAI,EAAM,CAAC,GAAI,KAAK,gBAAgB,IAAI,EAAK,EAAI,EAAE,CAAG,CAAE,KAAI,SAAQ,CAAC,CAAC,CACpF,EAET,OAAc,KACZ,EACA,GAAG,EACH,CACA,IAAM,EACJ,KAAK,gBAAgB,IAAI,EAAK,EAAE,IAAI,IAE3B,CAAE,OAD+C,EAAE,GAAI,GAAG,EAAK,CACrD,GAAG,EAAG,EACvB,EAAI,EAAE,CACJ,EAAU,QAAQ,IAAI,EAAI,IAAI,KAAM,KAAM,CAAE,GAAG,EAAG,OAAQ,MAAM,EAAE,OAAQ,EAAE,CAAC,CACnF,OAAO,OAAO,OAAO,EAAK,EAAQ,CAEpC,OAAc,WACZ,EACA,GAAG,EACH,CACA,IAAM,EAAM,KAAK,gBAAgB,IAAI,EAAK,EAAI,EAAE,CAC1C,EAAQ,EAAO,EAAG,EAAI,OAAS,EAAE,CACjC,EAAK,EAAI,GACf,GAAI,CAAC,EACH,MAAU,MAAM,oCAAoC,EAAK,kCAAkC,CAC7F,QAAQ,IAAI,2CAA2C,EAAM,MAAM,EAAI,SAAU,EAAG,CACpF,IAAM,EAAkD,EAAG,GAAI,GAAG,EAAK,CACjE,EAAM,CAAE,SAAQ,GAAG,EAAI,CACvB,GAAW,UAAa,CAAE,GAAG,EAAI,OAAQ,MAAM,EAAQ,IAAI,CACjE,OAAO,OAAO,OAAO,EAAK,EAAQ,CAEpC,OAAc,UACZ,EACA,EACA,GAAG,EACH,CAEA,IAAM,GADM,KAAK,gBAAgB,IAAI,EAAK,EAAI,EAAE,EAC/B,OAAO,GAAK,EAAE,SAAW,EAAO,CACjD,GAAI,CAAC,EAAK,OACR,MAAU,MACR,iEAAiE,EAAO,UAAU,EAAK,GACxF,CAEH,IAAM,EAAM,EAAK,IAAI,IAEZ,CAAE,OAD+C,EAAE,GAAI,GAAG,EAAK,CACrD,GAAG,EAAG,EACvB,CACI,EAAU,QAAQ,IAAI,EAAI,IAAI,KAAM,KAAM,CAAE,GAAG,EAAG,OAAQ,MAAM,EAAE,OAAQ,EAAE,CAAC,CACnF,OAAO,OAAO,OAAO,EAAK,EAAQ,GCpFhC,GAAA,EAAA,EAAA,mBACG,CACL,IAAM,GAAA,EAAA,EAAA,YAAkB,CAAC,CAAC,SAAS,kBAAkB,CAIrD,OAHA,SAAS,iBAAiB,uBAA0B,CAClD,EAAK,MAAQ,CAAC,CAAC,SAAS,mBACxB,CACK,KACL,CACJ,YACD,yCAEmC,CAClC,eACA,OAAQ,CACN,EAAa,MAAQ,IAEvB,MAAO,CACL,EAAa,MAAQ,IAEvB,QAAS,CACP,EAAa,MAAQ,CAAC,EAAa,OAEtC"}
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.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "空阙虱楼",
5
5
  "homepage": "https://github.com/delta-comic/delta-comic-core",
6
6
  "license": "AGPL-3.0-only",
@@ -32,8 +32,8 @@
32
32
  "peerDependencies": {
33
33
  "pinia": "^3.0",
34
34
  "vue": "^3.5",
35
- "@delta-comic/model": "0.0.4",
36
- "@delta-comic/utils": "0.0.6"
35
+ "@delta-comic/model": "0.0.5",
36
+ "@delta-comic/utils": "0.0.7"
37
37
  },
38
38
  "release": {
39
39
  "tagFormat": "core-${version}"
@@ -43,8 +43,8 @@
43
43
  },
44
44
  "readme": "./README.md",
45
45
  "devDependencies": {
46
- "vite": "8.0.0-beta.15",
47
- "vue-component-type-helpers": "^3.2.4"
46
+ "vite": "8.0.0-beta.16",
47
+ "vue-component-type-helpers": "^3.2.5"
48
48
  },
49
49
  "scripts": {
50
50
  "build": "vite build && pnpm pack --out ./dist/pack.tgz",