@delta-comic/model 1.3.2 → 1.3.5

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
@@ -58,6 +58,16 @@ var g = class {
58
58
  this.separator = e;
59
59
  }
60
60
  }, _ = class {
61
+ getOrInsert(e, t) {
62
+ let n = this.key.toString(e);
63
+ return this.store.has(n) ? this.store.get(n) : (this.store.set(n, t), t);
64
+ }
65
+ getOrInsertComputed(e, t) {
66
+ let n = this.key.toString(e);
67
+ if (this.store.has(n)) return this.store.get(n);
68
+ let r = t(n);
69
+ return this.store.set(n, r), r;
70
+ }
61
71
  static createReactive(t = ":") {
62
72
  return e(new this(t));
63
73
  }
@@ -112,7 +122,11 @@ var g = class {
112
122
  static toRaw(t) {
113
123
  return t instanceof e ? t.toJSON() : t;
114
124
  }
115
- }, y = /* @__PURE__ */ c(((e, t) => {
125
+ }, y = class {
126
+ constructor(e, t) {
127
+ this.query = e, this.initPage = t;
128
+ }
129
+ }, b = /* @__PURE__ */ c(((e, t) => {
116
130
  (function(n, r) {
117
131
  typeof e == "object" && t !== void 0 ? t.exports = r() : typeof define == "function" && define.amd ? define(r) : (n = typeof globalThis < "u" ? globalThis : n || self).dayjs = r();
118
132
  })(e, (function() {
@@ -406,7 +420,7 @@ var g = class {
406
420
  return w(1e3 * e);
407
421
  }, w.en = b[y], w.Ls = b, w.p = {}, w;
408
422
  }));
409
- })), b = /* @__PURE__ */ l({ Comment: () => S }), x = /* @__PURE__ */ d(y(), 1), S = class extends v {
423
+ })), x = /* @__PURE__ */ l({ Comment: () => C }), S = /* @__PURE__ */ d(b(), 1), C = class extends v {
410
424
  static commentRow = _.createReactive();
411
425
  constructor(e) {
412
426
  super(e), this.content = e.content, this.time = e.time, this.id = e.id, this.childrenCount = e.childrenCount, this.likeCount = e.likeCount, this.isLiked = e.isLiked, this.reported = e.reported, this.$$plugin = e.$$plugin, this.$$meta = e.$$meta, this.isTop = e.isTop;
@@ -414,7 +428,7 @@ var g = class {
414
428
  content;
415
429
  time;
416
430
  get $time() {
417
- return (0, x.default)(this.time);
431
+ return (0, S.default)(this.time);
418
432
  }
419
433
  id;
420
434
  childrenCount;
@@ -424,7 +438,7 @@ var g = class {
424
438
  reported;
425
439
  $$plugin;
426
440
  $$meta;
427
- }, C = /* @__PURE__ */ l({ Ep: () => w }), w = class extends v {
441
+ }, w = /* @__PURE__ */ l({ Ep: () => T }), T = class extends v {
428
442
  name;
429
443
  id;
430
444
  $$plugin;
@@ -435,45 +449,45 @@ var g = class {
435
449
  };
436
450
  //#endregion
437
451
  //#region ../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.mjs
438
- function T(e) {
452
+ function E(e) {
439
453
  return e != null && typeof e != "function" && m(e.length);
440
454
  }
441
455
  //#endregion
442
456
  //#region ../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArguments.mjs
443
- function E(e) {
457
+ function D(e) {
444
458
  return typeof e == "object" && !!e && p(e) === "[object Arguments]";
445
459
  }
446
460
  //#endregion
447
461
  //#region ../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isString.mjs
448
- function D(e) {
462
+ function O(e) {
449
463
  return typeof e == "string" || e instanceof String;
450
464
  }
451
465
  //#endregion
452
466
  //#region ../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isPrototype.mjs
453
- function O(e) {
467
+ function k(e) {
454
468
  let t = e?.constructor;
455
469
  return e === (typeof t == "function" ? t.prototype : Object.prototype);
456
470
  }
457
471
  //#endregion
458
472
  //#region ../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.mjs
459
- function k(e) {
473
+ function A(e) {
460
474
  return f(e);
461
475
  }
462
476
  //#endregion
463
477
  //#region ../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isEmpty.mjs
464
- function A(e) {
478
+ function j(e) {
465
479
  if (e == null) return !0;
466
- if (T(e)) return typeof e.splice != "function" && typeof e != "string" && (typeof Buffer > "u" || !Buffer.isBuffer(e)) && !k(e) && !E(e) ? !1 : e.length === 0;
480
+ if (E(e)) return typeof e.splice != "function" && typeof e != "string" && (typeof Buffer > "u" || !Buffer.isBuffer(e)) && !A(e) && !D(e) ? !1 : e.length === 0;
467
481
  if (typeof e == "object") {
468
482
  if (e instanceof Map || e instanceof Set) return e.size === 0;
469
483
  let t = Object.keys(e);
470
- return O(e) ? t.filter((e) => e !== "constructor").length === 0 : t.length === 0;
484
+ return k(e) ? t.filter((e) => e !== "constructor").length === 0 : t.length === 0;
471
485
  }
472
486
  return !0;
473
487
  }
474
488
  //#endregion
475
489
  //#region lib/model/resource.ts
476
- var j = /* @__PURE__ */ l({ Resource: () => M }), M = class n extends v {
490
+ var M = /* @__PURE__ */ l({ Resource: () => N }), N = class n extends v {
477
491
  static processInstances = t(_.createReactive(), "uni/resource/processInstances");
478
492
  static fork = t(_.createReactive(), "uni/resource/fork");
479
493
  static precedenceFork = t(_.createReactive(), "uni/resource/precedenceFork");
@@ -484,7 +498,7 @@ var j = /* @__PURE__ */ l({ Resource: () => M }), M = class n extends v {
484
498
  return new this(e);
485
499
  }
486
500
  constructor(e) {
487
- super(e), this.$$plugin = e.$$plugin, this.$$meta = e.$$meta, this.pathname = e.pathname, this.type = e.type, this.processSteps = (e.processSteps ?? []).map((e) => D(e) ? {
501
+ super(e), this.$$plugin = e.$$plugin, this.$$meta = e.$$meta, this.pathname = e.pathname, this.type = e.type, this.processSteps = (e.processSteps ?? []).map((e) => O(e) ? {
488
502
  referenceName: e,
489
503
  ignoreExit: !1
490
504
  } : e);
@@ -510,16 +524,16 @@ var j = /* @__PURE__ */ l({ Resource: () => M }), M = class n extends v {
510
524
  omittedForks = e(/* @__PURE__ */ new Set());
511
525
  getThisFork() {
512
526
  let e = new Set(n.fork.get([this.$$plugin, this.type])?.urls ?? []), t;
513
- if (t = A(this.omittedForks) ? n.precedenceFork.get([this.$$plugin, this.type]) : Array.from(e.difference(this.omittedForks).values())[0], !t) throw Error(`[Resource.getThisFork] fork not found, type: [${this.$$plugin}, ${this.type}]`);
527
+ if (t = j(this.omittedForks) ? n.precedenceFork.get([this.$$plugin, this.type]) : Array.from(e.difference(this.omittedForks).values())[0], !t) throw Error(`[Resource.getThisFork] fork not found, type: [${this.$$plugin}, ${this.type}]`);
514
528
  return t;
515
529
  }
516
530
  localChangeFork() {
517
531
  let e = new Set(n.fork.get([this.$$plugin, this.type])?.urls ?? []);
518
532
  this.omittedForks.add(this.getThisFork());
519
- let t = A(e.difference(this.omittedForks));
533
+ let t = j(e.difference(this.omittedForks));
520
534
  return t && this.omittedForks.clear(), t;
521
535
  }
522
- }, N = /* @__PURE__ */ l({ Image: () => P }), P = class extends M {
536
+ }, P = /* @__PURE__ */ l({ Image: () => F }), F = class extends N {
523
537
  static is(e) {
524
538
  return e instanceof this;
525
539
  }
@@ -544,11 +558,11 @@ var j = /* @__PURE__ */ l({ Resource: () => M }), M = class n extends v {
544
558
  set aspect(e) {
545
559
  e && (this.$$meta ??= {}, this.$$meta.aspect ??= {}, this.$$meta.aspect.width = e.width, this.$$meta.aspect.height = e.height);
546
560
  }
547
- }, F = /* @__PURE__ */ l({ Item: () => I }), I = class extends v {
561
+ }, I = /* @__PURE__ */ l({ Item: () => L }), L = class extends v {
548
562
  static itemTranslator = _.createReactive();
549
563
  static create(e) {
550
564
  let t = this.itemTranslator.get(e.contentType);
551
- if (!t) throw Error(`can not found itemTranslator contentType:"${R.contentPages.key.toString(e.contentType)}"`);
565
+ if (!t) throw Error(`can not found itemTranslator contentType:"${z.contentPages.key.toString(e.contentType)}"`);
552
566
  return t(e);
553
567
  }
554
568
  static authorIcon = _.createReactive();
@@ -558,7 +572,7 @@ var j = /* @__PURE__ */ l({ Resource: () => M }), M = class n extends v {
558
572
  }
559
573
  cover;
560
574
  get $cover() {
561
- return P.create(this.cover);
575
+ return F.create(this.cover);
562
576
  }
563
577
  title;
564
578
  id;
@@ -571,7 +585,7 @@ var j = /* @__PURE__ */ l({ Resource: () => M }), M = class n extends v {
571
585
  description;
572
586
  updateTime;
573
587
  get $updateTime() {
574
- return (0, x.default)(this.updateTime);
588
+ return (0, S.default)(this.updateTime);
575
589
  }
576
590
  contentType;
577
591
  length;
@@ -581,10 +595,10 @@ var j = /* @__PURE__ */ l({ Resource: () => M }), M = class n extends v {
581
595
  thisEp;
582
596
  customIsSafe;
583
597
  get $thisEp() {
584
- return new w(this.thisEp);
598
+ return new T(this.thisEp);
585
599
  }
586
600
  constructor(e) {
587
- super(e), this.$$plugin = e.$$plugin, this.$$meta = e.$$meta, this.thisEp = e.thisEp, this.updateTime = e.updateTime, this.cover = e.cover, this.title = e.title, this.id = e.id, this.categories = e.categories, this.author = e.author, this.viewNumber = e.viewNumber, this.likeNumber = e.likeNumber, this.commentNumber = e.commentNumber, this.isLiked = e.isLiked, this.customIsAI = e.customIsAI, this.contentType = R.contentPages.key.toJSON(e.contentType), this.length = e.length, this.epLength = e.epLength, this.description = e.description, this.commentSendable = e.commentSendable, this.customIsSafe = e.customIsSafe;
601
+ super(e), this.$$plugin = e.$$plugin, this.$$meta = e.$$meta, this.thisEp = e.thisEp, this.updateTime = e.updateTime, this.cover = e.cover, this.title = e.title, this.id = e.id, this.categories = e.categories, this.author = e.author, this.viewNumber = e.viewNumber, this.likeNumber = e.likeNumber, this.commentNumber = e.commentNumber, this.isLiked = e.isLiked, this.customIsAI = e.customIsAI, this.contentType = z.contentPages.key.toJSON(e.contentType), this.length = e.length, this.epLength = e.epLength, this.description = e.description, this.commentSendable = e.commentSendable, this.customIsSafe = e.customIsSafe;
588
602
  }
589
603
  commentSendable;
590
604
  customIsAI;
@@ -592,35 +606,35 @@ var j = /* @__PURE__ */ l({ Resource: () => M }), M = class n extends v {
592
606
  let e = (e) => /(^|[\((\[\s【])ai[】\))\]\s]?/gi.test(e);
593
607
  return this.customIsAI || e(this.title) || this.author.some((t) => e(`${t.label}\u1145${t.description}`));
594
608
  }
595
- }, L = /* @__PURE__ */ l({ ContentPage: () => R }), R = class {
609
+ }, R = /* @__PURE__ */ l({ ContentPage: () => z }), z = class {
596
610
  static layouts = t(_.createReactive(), "uni/contentPage/layouts");
597
611
  static contentPages = t(_.createReactive(), "uni/contentPage/contentPages");
598
612
  constructor(e, t, n) {
599
613
  this.preload = e, this.id = t, this.ep = n;
600
614
  }
601
- }, z = /* @__PURE__ */ l({ Downloader: () => B }), B = class {}, V = /* @__PURE__ */ l({ User: () => H }), H = class {
615
+ }, B = /* @__PURE__ */ l({ Downloader: () => V }), V = class {}, H = /* @__PURE__ */ l({ User: () => U }), U = class {
602
616
  static userBase = e(/* @__PURE__ */ new Map());
603
617
  static userEditorBase = e(/* @__PURE__ */ new Map());
604
618
  static userCards = e(/* @__PURE__ */ new Map());
605
619
  constructor(e) {
606
- e.avatar && (this.avatar = P.create(e.avatar)), this.name = e.name, this.id = e.id, this.$$plugin = e.$$plugin, this.$$meta = e.$$meta;
620
+ e.avatar && (this.avatar = F.create(e.avatar)), this.name = e.name, this.id = e.id, this.$$plugin = e.$$plugin, this.$$meta = e.$$meta;
607
621
  }
608
622
  avatar;
609
623
  name;
610
624
  id;
611
625
  $$plugin;
612
626
  $$meta;
613
- }, U = /* @__PURE__ */ l({
614
- comment: () => b,
615
- content: () => L,
616
- download: () => z,
617
- ep: () => C,
618
- image: () => N,
619
- item: () => F,
620
- resource: () => j,
621
- user: () => V
627
+ }, W = /* @__PURE__ */ l({
628
+ comment: () => x,
629
+ content: () => R,
630
+ download: () => B,
631
+ ep: () => w,
632
+ image: () => P,
633
+ item: () => I,
634
+ resource: () => M,
635
+ user: () => H
622
636
  });
623
637
  //#endregion
624
- export { _ as SourcedKeyMap, g as SourcedValue, v as Struct, U as uni };
638
+ export { _ as SourcedKeyMap, g as SourcedValue, y as StreamQuery, v as Struct, W as uni };
625
639
 
626
640
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isTypedArray","isString"],"sources":["../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isTypedArray.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getTag.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isLength.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isString.mjs","../lib/struct/store.ts","../lib/struct/struct.ts","../../../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/dayjs.min.js","../lib/model/comment.ts","../lib/model/ep.ts","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArguments.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isString.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isPrototype.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isEmpty.mjs","../lib/model/resource.ts","../lib/model/image.ts","../lib/model/item.ts","../lib/model/content.ts","../lib/model/download.ts","../lib/model/user.ts","../lib/model/index.ts"],"sourcesContent":["function isTypedArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\nexport { isTypedArray };\n","function getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return Object.prototype.toString.call(value);\n}\n\nexport { getTag };\n","function isLength(value) {\n return Number.isSafeInteger(value) && value >= 0;\n}\n\nexport { isLength };\n","function isString(value) {\n return typeof value === 'string';\n}\n\nexport { isString };\n","import { isString } from 'es-toolkit'\nimport { shallowReactive } from 'vue'\n\n/**\n * 比如有很多需要注明来自哪个插件的值都可以用\n */\nexport class SourcedValue<T extends [string, string]> {\n public toJSON(value: T | string) {\n if (isString(value)) return this.parse(value)\n return value\n }\n public parse(value: string) {\n const splited = value.split(this.separator)\n return <T>[splited[0], splited.slice(1).join(this.separator)]\n }\n public toString(value: T | string) {\n if (isString(value)) return value\n return this.stringify(value)\n }\n public stringify(value: T) {\n return value.join(this.separator)\n }\n constructor(public separator = ':') {}\n}\n/**\n * 相比较于普通的Map,这个元素的key操作可以是`TKey | string`\n * _但内部保存仍使用`SourcedValue.key.toString`作为key_\n */\nexport class SourcedKeyMap<TKey extends [string, string], TValue> implements Map<string, TValue> {\n public static createReactive<TKey extends [string, string], TValue>(separator = ':') {\n return shallowReactive(new this<TKey, TValue>(separator))\n }\n public constructor(separator = ':') {\n this.key = new SourcedValue<TKey>(separator)\n }\n public key: SourcedValue<TKey>\n private store = shallowReactive(new Map<string, TValue>())\n public get size(): number {\n return this.store.size\n }\n public [Symbol.toStringTag] = 'SourcedKeyMap'\n public clear(): void {\n this.store.clear()\n }\n public delete(key: string | TKey): boolean {\n return this.store.delete(this.key.toString(key))\n }\n public forEach(\n callbackfn: (value: TValue, key: string, map: Map<string, TValue>) => void,\n thisArg?: any\n ): void {\n this.store.forEach((v, k) => {\n callbackfn.call(thisArg, v, k, this)\n })\n }\n public get(key: string | TKey): TValue | undefined {\n return this.store.get(this.key.toString(key))\n }\n public has(key: string | TKey): boolean {\n return this.store.has(this.key.toString(key))\n }\n public set(key: string | TKey, value: TValue): this {\n this.store.set(this.key.toString(key), value)\n return this\n }\n public entries() {\n return this.store.entries()\n }\n public keys() {\n return this.store.keys()\n }\n public values() {\n return this.store.values()\n }\n public [Symbol.iterator]() {\n return this.entries()\n }\n}\n\nexport type SourcedKeyType<\n T extends SourcedKeyMap<[string, string], any> | SourcedValue<[string, string]>\n> =\n T extends SourcedKeyMap<infer K, any>\n ? K | string\n : T extends SourcedValue<infer K>\n ? K | string\n : never","/**\n * 可以结构化的数据,调用`toJSON`获取纯粹的json(没有get/set或method)\n */\nexport class Struct<TRaw extends object> {\n public toJSON() {\n return <TRaw>JSON.parse(JSON.stringify(this.$$raw))\n }\n /**\n * @param $$raw 一个纯粹json对象,不可以是高级对象\n */\n constructor(protected $$raw: TRaw) {}\n public static toRaw<T extends object, TRaw = T extends Struct<infer TR> ? TR : T>(item: T): TRaw {\n if (item instanceof Struct) return item.toJSON()\n return item as any\n }\n}","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from 'dayjs'\nimport { type Component } from 'vue'\n\nimport { SourcedKeyMap, Struct, type Metadata, type Metadatable, type StreamQuery } from '../struct'\n\nimport type { ContentType } from './content'\nimport type { Item } from './item'\nimport type { User } from './user'\n\nexport interface RawComment extends Metadatable {\n sender: User\n content: { type: 'string' | 'html'; text: string }\n time: number\n id: string\n childrenCount: number\n likeCount: number\n isLiked: boolean\n reported: boolean\n isTop: boolean\n}\n\nexport type CommentRow = Component<{ comment: Comment; item: Item; parentComment?: Comment }>\n\nexport abstract class Comment extends Struct<RawComment> implements RawComment {\n public static commentRow = SourcedKeyMap.createReactive<ContentType, CommentRow>()\n\n constructor(v: RawComment) {\n super(v)\n this.content = v.content\n this.time = v.time\n this.id = v.id\n this.childrenCount = v.childrenCount\n this.likeCount = v.likeCount\n this.isLiked = v.isLiked\n this.reported = v.reported\n this.$$plugin = v.$$plugin\n this.$$meta = v.$$meta\n this.isTop = v.isTop\n }\n public abstract sender: User\n public content: { type: 'string' | 'html'; text: string }\n public time: number\n public get $time() {\n return dayjs(this.time)\n }\n public id: string\n public childrenCount: number\n public likeCount: number\n public isTop: boolean\n public isLiked: boolean\n public reported: boolean\n public $$plugin: string\n public $$meta?: Metadata\n public abstract like(signal?: AbortSignal): PromiseLike<boolean>\n public abstract report(signal?: AbortSignal): PromiseLike<any>\n public abstract sendComment(text: string, signal?: AbortSignal): PromiseLike<any>\n public abstract fetchChildren: StreamQuery<[], Comment>\n}","import { Struct, type Metadata, type Metadatable } from '../struct'\nexport interface RawEp extends Metadatable {\n name: string\n id: string\n}\nexport class Ep extends Struct<RawEp> implements RawEp {\n public name: string\n public id: string\n public $$plugin: string\n public $$meta?: Metadata\n constructor(v: RawEp) {\n super(v)\n this.name = v.name\n this.id = v.id\n this.$$plugin = v.$$plugin\n this.$$meta = v.$$meta\n }\n}","import { isLength } from '../../predicate/isLength.mjs';\n\nfunction isArrayLike(value) {\n return value != null && typeof value !== 'function' && isLength(value.length);\n}\n\nexport { isArrayLike };\n","import { getTag } from '../_internal/getTag.mjs';\n\nfunction isArguments(value) {\n return value !== null && typeof value === 'object' && getTag(value) === '[object Arguments]';\n}\n\nexport { isArguments };\n","function isString(value) {\n return typeof value === 'string' || value instanceof String;\n}\n\nexport { isString };\n","function isPrototype(value) {\n const constructor = value?.constructor;\n const prototype = typeof constructor === 'function' ? constructor.prototype : Object.prototype;\n return value === prototype;\n}\n\nexport { isPrototype };\n","import { isTypedArray as isTypedArray$1 } from '../../predicate/isTypedArray.mjs';\n\nfunction isTypedArray(x) {\n return isTypedArray$1(x);\n}\n\nexport { isTypedArray };\n","import { isArguments } from './isArguments.mjs';\nimport { isArrayLike } from './isArrayLike.mjs';\nimport { isTypedArray } from './isTypedArray.mjs';\nimport { isPrototype } from '../_internal/isPrototype.mjs';\n\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value)) {\n if (typeof value.splice !== 'function' &&\n typeof value !== 'string' &&\n (typeof Buffer === 'undefined' || !Buffer.isBuffer(value)) &&\n !isTypedArray(value) &&\n !isArguments(value)) {\n return false;\n }\n return value.length === 0;\n }\n if (typeof value === 'object') {\n if (value instanceof Map || value instanceof Set) {\n return value.size === 0;\n }\n const keys = Object.keys(value);\n if (isPrototype(value)) {\n return keys.filter(x => x !== 'constructor').length === 0;\n }\n return keys.length === 0;\n }\n return true;\n}\n\nexport { isEmpty };\n","import { useGlobalVar } from '@delta-comic/utils'\nimport { isEmpty, isString } from 'es-toolkit/compat'\nimport { shallowReactive } from 'vue'\n\nimport { SourcedKeyMap, Struct, type Metadata, type Metadatable } from '../struct'\n\nexport type ProcessInstance = (\n nowPath: string,\n resource: Resource\n) => Promise<[path: string, exit: boolean]>\nexport interface ProcessStep {\n referenceName: string\n ignoreExit?: boolean\n}\nexport type ProcessStep_ = ProcessStep | string\n\nexport interface ResourceType {\n type: string\n urls: string[]\n test: (url: string, signal: AbortSignal) => PromiseLike<void>\n}\nexport interface RawResource extends Metadatable {\n pathname: string\n type: string\n processSteps?: ProcessStep_[]\n}\nexport class Resource extends Struct<RawResource> implements RawResource {\n public static processInstances = useGlobalVar(\n SourcedKeyMap.createReactive<[plugin: string, referenceName: string], ProcessInstance>(),\n 'uni/resource/processInstances'\n )\n\n public static fork = useGlobalVar(\n SourcedKeyMap.createReactive<[plugin: string, type: string], ResourceType>(),\n 'uni/resource/fork'\n )\n public static precedenceFork = useGlobalVar(\n SourcedKeyMap.createReactive<[plugin: string, type: string], string>(),\n 'uni/resource/precedenceFork'\n )\n\n public static is(value: unknown): value is Resource {\n return value instanceof this\n }\n public static create(v: RawResource): Resource {\n return new this(v)\n }\n protected constructor(v: RawResource) {\n super(v)\n this.$$plugin = v.$$plugin\n this.$$meta = v.$$meta\n this.pathname = v.pathname\n this.type = v.type\n this.processSteps = (v.processSteps ?? []).map<ProcessStep>(v =>\n isString(v) ? { referenceName: v, ignoreExit: false } : v\n )\n }\n public type: string\n public pathname: string\n public processSteps: ProcessStep[]\n public $$meta?: Metadata\n public $$plugin: string\n public async getUrl(): Promise<string> {\n let resultPath = this.pathname\n for (const option of this.processSteps) {\n // preflight\n const instance = Resource.processInstances.get([this.$$plugin, option.referenceName])\n if (!instance) {\n console.warn(\n `[Resource.getUrl] process not found, fullname: [${this.$$plugin}, ${option.referenceName}]`\n )\n continue\n }\n\n // call\n const result = await instance(resultPath, this)\n resultPath = result[0]\n if (option.ignoreExit || !result[1]) continue\n break\n }\n if (!URL.canParse(resultPath)) return `${this.getThisFork()}/${resultPath}`\n return resultPath\n }\n public omittedForks = shallowReactive(new Set<string>())\n public getThisFork() {\n const all = new Set(Resource.fork.get([this.$$plugin, this.type])?.urls ?? [])\n let fork: string | undefined\n if (isEmpty(this.omittedForks)) {\n fork = Resource.precedenceFork.get([this.$$plugin, this.type])\n } else {\n const diff = Array.from(all.difference(this.omittedForks).values())\n fork = diff[0]\n }\n if (!fork)\n throw new Error(\n `[Resource.getThisFork] fork not found, type: [${this.$$plugin}, ${this.type}]`\n )\n return fork\n }\n public localChangeFork() {\n const all = new Set(Resource.fork.get([this.$$plugin, this.type])?.urls ?? [])\n this.omittedForks.add(this.getThisFork())\n const isChangedFail = isEmpty(all.difference(this.omittedForks))\n if (isChangedFail) this.omittedForks.clear()\n return isChangedFail\n }\n}","import type { Metadatable } from '../struct'\n\nimport { Resource, type RawResource, type ProcessStep_ } from './resource'\n\nexport interface RawImage extends Metadatable {\n path: string\n forkNamespace: string\n processSteps?: ProcessStep_[]\n}\n\nexport class Image extends Resource {\n public static override is(value: unknown): value is Image {\n return value instanceof this\n }\n public static override create(v: RawResource | RawImage, aspect?: ImageAspect): Image {\n return new this(v, aspect)\n }\n protected constructor(v: RawResource | RawImage, aspect?: ImageAspect) {\n if ('forkNamespace' in v)\n super({\n $$plugin: v.$$plugin,\n $$meta: { ...v.$$meta, aspect },\n pathname: v.path,\n type: v.forkNamespace,\n processSteps: v.processSteps\n })\n else super(v)\n }\n public get aspect() {\n return this.$$meta!.aspect as Partial<ImageAspect> | undefined\n }\n public set aspect(v) {\n if (!v) return\n this.$$meta ??= {}\n this.$$meta.aspect ??= {}\n this.$$meta.aspect.width = v.width\n this.$$meta.aspect.height = v.height\n }\n}\nexport interface ImageAspect {\n width: number\n height: number\n}\nexport type Image_ = string | Image","import { useGlobalVar } from '@delta-comic/utils'\nimport dayjs from 'dayjs'\nimport { type Component } from 'vue'\n\nimport { SourcedKeyMap, Struct, type Metadatable } from '../struct'\n\nimport { ContentPage, type ContentType, type ContentType_ } from './content'\nimport { Ep, type RawEp } from './ep'\nimport * as image from './image'\nimport type { RawResource } from './resource'\n\nexport interface Category extends Metadatable {\n name: string\n group: string\n search: { keyword: string; source: string; sort: string }\n}\n\nexport interface Author extends Metadatable {\n label: string\n icon: RawResource | image.RawImage | string\n description: string\n /**\n * 为空则不可订阅\n * 否则传入的为`defineConfig`中定义的`subscribe.type`\n */ subscribe?: string\n actions?: string[]\n}\n\nexport interface RawItem extends Metadatable {\n cover: RawResource | image.RawImage\n title: string\n id: string\n /** @alias tags */\n categories: Category[]\n author: Author[]\n viewNumber?: number\n likeNumber?: number\n commentNumber?: number\n isLiked?: boolean\n updateTime?: number\n customIsAI?: boolean\n contentType: ContentType_\n length: string\n epLength: string\n description?: Description\n thisEp: RawEp\n commentSendable: boolean\n customIsSafe?: boolean\n}\n\nexport type ItemCardComponent = Component<\n {\n item: Item\n freeHeight?: boolean\n disabled?: boolean\n type?: 'default' | 'big' | 'small'\n class?: any\n style?: any\n },\n any,\n any,\n any,\n any,\n { click: [] },\n { default(): void; smallTopInfo(): void; cover(): void }\n>\n\nexport type ItemTranslator = (raw: RawItem) => Item\n\nexport type Description =\n | string\n | { type: 'html'; content: string }\n | { type: 'text'; content: string }\n\nexport abstract class Item extends Struct<RawItem> implements RawItem {\n public static itemTranslator = SourcedKeyMap.createReactive<\n [plugin: string, name: string],\n ItemTranslator\n >()\n public static create(raw: RawItem) {\n const translator = this.itemTranslator.get(raw.contentType)\n if (!translator)\n throw new Error(\n `can not found itemTranslator contentType:\"${ContentPage.contentPages.key.toString(raw.contentType)}\"`\n )\n return translator(raw)\n }\n public static authorIcon = SourcedKeyMap.createReactive<\n [plugin: string, name: string],\n Component\n >()\n\n public static itemCards = useGlobalVar(\n SourcedKeyMap.createReactive<ContentType, ItemCardComponent>(),\n 'uni/item/itemCards'\n )\n\n public abstract like(): Promise<any>\n public abstract report(): Promise<any>\n public abstract sendComment(text: string): Promise<any>\n\n public static is(value: unknown): value is Item {\n return value instanceof this\n }\n public cover: RawResource | image.RawImage\n public get $cover() {\n return image.Image.create(this.cover)\n }\n public title: string\n public id: string\n public categories: Category[]\n public author: Author[]\n public viewNumber?: number\n public likeNumber?: number\n public commentNumber?: number\n public isLiked?: boolean\n public description?: Description\n public updateTime?: number\n public get $updateTime() {\n return dayjs(this.updateTime)\n }\n public contentType: ContentType\n public length: string\n public epLength: string\n public $$plugin: string\n public $$meta\n public thisEp: RawEp\n public customIsSafe?: boolean\n public get $thisEp() {\n return new Ep(this.thisEp)\n }\n constructor(v: RawItem) {\n super(v)\n this.$$plugin = v.$$plugin\n this.$$meta = v.$$meta\n\n this.thisEp = v.thisEp\n this.updateTime = v.updateTime\n this.cover = v.cover\n this.title = v.title\n this.id = v.id\n this.categories = v.categories\n this.author = v.author\n this.viewNumber = v.viewNumber\n this.likeNumber = v.likeNumber\n this.commentNumber = v.commentNumber\n this.isLiked = v.isLiked\n this.customIsAI = v.customIsAI\n this.contentType = ContentPage.contentPages.key.toJSON(v.contentType)\n this.length = v.length\n this.epLength = v.epLength\n this.description = v.description\n this.commentSendable = v.commentSendable\n this.customIsSafe = v.customIsSafe\n }\n public commentSendable: boolean\n public customIsAI?: boolean\n public get $isAi() {\n const check = (str: string) => /(^|[\\((\\[\\s【])ai[】\\))\\]\\s]?/gi.test(str)\n return (\n this.customIsAI ||\n check(this.title) ||\n this.author.some(author => check(`${author.label}\\u1145${author.description}`))\n )\n }\n}","import { useGlobalVar } from '@delta-comic/utils'\nimport { type Component } from 'vue'\n\nimport { SourcedKeyMap, type StreamQuery, type SourcedKeyType } from '../struct'\n\nimport * as comment from './comment'\nimport * as ep from './ep'\nimport * as item from './item'\n\nexport type ContentPageLike = new (\n preload: item.Item | undefined,\n id: string,\n ep: string\n) => ContentPage\n\nexport type ContentType_ = SourcedKeyType<typeof ContentPage.contentPages>\nexport type ContentType = Exclude<ContentType_, string>\n\nexport type ViewComponent = Component<{ page: ContentPage; union?: item.Item }>\nexport type LayoutComponent = Component<{ page: ContentPage }>\n\nexport abstract class ContentPage {\n public static layouts = useGlobalVar(\n SourcedKeyMap.createReactive<ContentType, LayoutComponent>(),\n 'uni/contentPage/layouts'\n )\n public static contentPages = useGlobalVar(\n SourcedKeyMap.createReactive<[plugin: string, name: string], ContentPageLike>(),\n 'uni/contentPage/contentPages'\n )\n\n constructor(\n public preload: item.Item | undefined,\n public id: string,\n public ep: string\n ) {}\n public abstract plugin: string\n public abstract contentType: ContentType\n\n public abstract fetchShortId: (signal?: AbortSignal) => Promise<string>\n\n public abstract fetchDetail: (signal?: AbortSignal) => Promise<item.Item>\n\n public abstract fetchRecommends: StreamQuery<[], item.Item>\n\n public abstract fetchComments: StreamQuery<[], comment.Comment>\n\n public abstract fetchEps: StreamQuery<[], ep.Ep>\n\n public abstract ViewComponent: ViewComponent\n}","import type { Metadata, Metadatable } from '@/struct'\n\nexport abstract class Downloader implements Metadatable {\n public abstract id: string\n public abstract name: string\n public abstract $$plugin: string\n public abstract $$meta?: Metadata\n\n public abstract begin: () => void\n public abstract resume: () => void\n public abstract pause: () => void\n}","import { shallowReactive, type Component } from 'vue'\n\nimport type { Metadata, Metadatable } from '@/struct'\n\nimport { Image } from './image'\nimport type { RawResource } from './resource'\n\nexport interface RawUser extends Metadatable {\n avatar?: RawResource\n name: string\n id: string\n}\n\nexport abstract class User {\n public static userBase = shallowReactive(new Map<string, User>())\n public static userEditorBase = shallowReactive(new Map<string, Component>())\n public static userCards = shallowReactive(new Map<string, UserCardComponent>())\n\n constructor(v: RawUser) {\n if (v.avatar) this.avatar = Image.create(v.avatar)\n this.name = v.name\n this.id = v.id\n this.$$plugin = v.$$plugin\n this.$$meta = v.$$meta\n }\n public avatar?: Image\n public name: string\n public id: string\n public $$plugin: string\n public $$meta?: Metadata\n public abstract customUser: object\n}\n\nexport type UserCardComponent = Component<{ user: User; isSmall?: boolean }>","export * as comment from './comment'\nexport * as content from './content'\nexport * as download from './download'\nexport * as ep from './ep'\nexport * as image from './image'\nexport * as item from './item'\nexport * as resource from './resource'\nexport * as user from './user'"],"x_google_ignoreList":[0,1,2,3,6,9,10,11,12,13,14],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["isTypedArray","isString"],"sources":["../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isTypedArray.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/getTag.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isLength.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/predicate/isString.mjs","../lib/struct/store.ts","../lib/struct/struct.ts","../lib/struct/meta.ts","../../../node_modules/.pnpm/dayjs@1.11.20/node_modules/dayjs/dayjs.min.js","../lib/model/comment.ts","../lib/model/ep.ts","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArrayLike.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isArguments.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isString.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/_internal/isPrototype.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isTypedArray.mjs","../../../node_modules/.pnpm/es-toolkit@1.45.1/node_modules/es-toolkit/dist/compat/predicate/isEmpty.mjs","../lib/model/resource.ts","../lib/model/image.ts","../lib/model/item.ts","../lib/model/content.ts","../lib/model/download.ts","../lib/model/user.ts","../lib/model/index.ts"],"sourcesContent":["function isTypedArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n\nexport { isTypedArray };\n","function getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return Object.prototype.toString.call(value);\n}\n\nexport { getTag };\n","function isLength(value) {\n return Number.isSafeInteger(value) && value >= 0;\n}\n\nexport { isLength };\n","function isString(value) {\n return typeof value === 'string';\n}\n\nexport { isString };\n","import { isString } from 'es-toolkit'\nimport { shallowReactive } from 'vue'\n\n/**\n * 比如有很多需要注明来自哪个插件的值都可以用\n */\nexport class SourcedValue<T extends [string, string]> {\n public toJSON(value: T | string) {\n if (isString(value)) return this.parse(value)\n return value\n }\n public parse(value: string) {\n const splited = value.split(this.separator)\n return <T>[splited[0], splited.slice(1).join(this.separator)]\n }\n public toString(value: T | string) {\n if (isString(value)) return value\n return this.stringify(value)\n }\n public stringify(value: T) {\n return value.join(this.separator)\n }\n constructor(public separator = ':') {}\n}\n/**\n * 相比较于普通的Map,这个元素的key操作可以是`TKey | string`\n * _但内部保存仍使用`SourcedValue.key.toString`作为key_\n */\nexport class SourcedKeyMap<TKey extends [string, string], TValue> implements Map<string, TValue> {\n public getOrInsert(key: string | TKey, value: TValue): TValue {\n const storeKey = this.key.toString(key)\n if (this.store.has(storeKey)) {\n return this.store.get(storeKey) as TValue\n }\n this.store.set(storeKey, value)\n return value\n }\n\n public getOrInsertComputed(key: string | TKey, compute: (key: string) => TValue): TValue {\n const storeKey = this.key.toString(key)\n if (this.store.has(storeKey)) {\n return this.store.get(storeKey) as TValue\n }\n const value = compute(storeKey)\n this.store.set(storeKey, value)\n return value\n }\n public static createReactive<TKey extends [string, string], TValue>(separator = ':') {\n return shallowReactive(new this<TKey, TValue>(separator))\n }\n public constructor(separator = ':') {\n this.key = new SourcedValue<TKey>(separator)\n }\n public key: SourcedValue<TKey>\n private store = shallowReactive(new Map<string, TValue>())\n public get size(): number {\n return this.store.size\n }\n public [Symbol.toStringTag] = 'SourcedKeyMap'\n public clear(): void {\n this.store.clear()\n }\n public delete(key: string | TKey): boolean {\n return this.store.delete(this.key.toString(key))\n }\n public forEach(\n callbackfn: (value: TValue, key: string, map: Map<string, TValue>) => void,\n thisArg?: any\n ): void {\n this.store.forEach((v, k) => {\n callbackfn.call(thisArg, v, k, this)\n })\n }\n public get(key: string | TKey): TValue | undefined {\n return this.store.get(this.key.toString(key))\n }\n public has(key: string | TKey): boolean {\n return this.store.has(this.key.toString(key))\n }\n public set(key: string | TKey, value: TValue): this {\n this.store.set(this.key.toString(key), value)\n return this\n }\n public entries() {\n return this.store.entries()\n }\n public keys() {\n return this.store.keys()\n }\n public values() {\n return this.store.values()\n }\n public [Symbol.iterator]() {\n return this.entries()\n }\n}\n\nexport type SourcedKeyType<\n T extends SourcedKeyMap<[string, string], any> | SourcedValue<[string, string]>\n> =\n T extends SourcedKeyMap<infer K, any>\n ? K | string\n : T extends SourcedValue<infer K>\n ? K | string\n : never","/**\n * 可以结构化的数据,调用`toJSON`获取纯粹的json(没有get/set或method)\n */\nexport class Struct<TRaw extends object> {\n public toJSON() {\n return <TRaw>JSON.parse(JSON.stringify(this.$$raw))\n }\n /**\n * @param $$raw 一个纯粹json对象,不可以是高级对象\n */\n constructor(protected $$raw: TRaw) {}\n public static toRaw<T extends object, TRaw = T extends Struct<infer TR> ? TR : T>(item: T): TRaw {\n if (item instanceof Struct) return item.toJSON()\n return item as any\n }\n}","export interface Metadatable {\n $$meta?: Metadata\n $$plugin: string\n}\nexport type Metadata = Record<string | number, any>\n\nexport type PageKey = string | number\nexport class StreamQuery<TResult, TData extends object = {}> {\n constructor(\n public query: (\n data: TData,\n page: PageKey,\n signal?: AbortSignal\n ) => Promise<{ data: TResult[]; lastPage?: PageKey; nextPage?: PageKey }>,\n public initPage: PageKey\n ) {}\n}","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import dayjs from 'dayjs'\nimport { type Component } from 'vue'\n\nimport { SourcedKeyMap, Struct, type Metadata, type Metadatable, type StreamQuery } from '../struct'\n\nimport type { ContentType } from './content'\nimport type { Item } from './item'\nimport type { User } from './user'\n\nexport interface RawComment extends Metadatable {\n sender: User\n content: { type: 'string' | 'html'; text: string }\n time: number\n id: string\n childrenCount: number\n likeCount: number\n isLiked: boolean\n reported: boolean\n isTop: boolean\n}\n\nexport type CommentRow = Component<{ comment: Comment; item: Item; parentComment?: Comment }>\n\nexport abstract class Comment extends Struct<RawComment> implements RawComment {\n public static commentRow = SourcedKeyMap.createReactive<ContentType, CommentRow>()\n\n constructor(v: RawComment) {\n super(v)\n this.content = v.content\n this.time = v.time\n this.id = v.id\n this.childrenCount = v.childrenCount\n this.likeCount = v.likeCount\n this.isLiked = v.isLiked\n this.reported = v.reported\n this.$$plugin = v.$$plugin\n this.$$meta = v.$$meta\n this.isTop = v.isTop\n }\n public abstract sender: User\n public content: { type: 'string' | 'html'; text: string }\n public time: number\n public get $time() {\n return dayjs(this.time)\n }\n public id: string\n public childrenCount: number\n public likeCount: number\n public isTop: boolean\n public isLiked: boolean\n public reported: boolean\n public $$plugin: string\n public $$meta?: Metadata\n public abstract like(signal?: AbortSignal): PromiseLike<boolean>\n public abstract report(signal?: AbortSignal): PromiseLike<any>\n public abstract sendComment(text: string, signal?: AbortSignal): PromiseLike<any>\n public abstract fetchChildren: StreamQuery<Comment>\n}","import { Struct, type Metadata, type Metadatable } from '../struct'\nexport interface RawEp extends Metadatable {\n name: string\n id: string\n}\nexport class Ep extends Struct<RawEp> implements RawEp {\n public name: string\n public id: string\n public $$plugin: string\n public $$meta?: Metadata\n constructor(v: RawEp) {\n super(v)\n this.name = v.name\n this.id = v.id\n this.$$plugin = v.$$plugin\n this.$$meta = v.$$meta\n }\n}","import { isLength } from '../../predicate/isLength.mjs';\n\nfunction isArrayLike(value) {\n return value != null && typeof value !== 'function' && isLength(value.length);\n}\n\nexport { isArrayLike };\n","import { getTag } from '../_internal/getTag.mjs';\n\nfunction isArguments(value) {\n return value !== null && typeof value === 'object' && getTag(value) === '[object Arguments]';\n}\n\nexport { isArguments };\n","function isString(value) {\n return typeof value === 'string' || value instanceof String;\n}\n\nexport { isString };\n","function isPrototype(value) {\n const constructor = value?.constructor;\n const prototype = typeof constructor === 'function' ? constructor.prototype : Object.prototype;\n return value === prototype;\n}\n\nexport { isPrototype };\n","import { isTypedArray as isTypedArray$1 } from '../../predicate/isTypedArray.mjs';\n\nfunction isTypedArray(x) {\n return isTypedArray$1(x);\n}\n\nexport { isTypedArray };\n","import { isArguments } from './isArguments.mjs';\nimport { isArrayLike } from './isArrayLike.mjs';\nimport { isTypedArray } from './isTypedArray.mjs';\nimport { isPrototype } from '../_internal/isPrototype.mjs';\n\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value)) {\n if (typeof value.splice !== 'function' &&\n typeof value !== 'string' &&\n (typeof Buffer === 'undefined' || !Buffer.isBuffer(value)) &&\n !isTypedArray(value) &&\n !isArguments(value)) {\n return false;\n }\n return value.length === 0;\n }\n if (typeof value === 'object') {\n if (value instanceof Map || value instanceof Set) {\n return value.size === 0;\n }\n const keys = Object.keys(value);\n if (isPrototype(value)) {\n return keys.filter(x => x !== 'constructor').length === 0;\n }\n return keys.length === 0;\n }\n return true;\n}\n\nexport { isEmpty };\n","import { useGlobalVar } from '@delta-comic/utils'\nimport { isEmpty, isString } from 'es-toolkit/compat'\nimport { shallowReactive } from 'vue'\n\nimport { SourcedKeyMap, Struct, type Metadata, type Metadatable } from '../struct'\n\nexport type ProcessInstance = (\n nowPath: string,\n resource: Resource\n) => Promise<[path: string, exit: boolean]>\nexport interface ProcessStep {\n referenceName: string\n ignoreExit?: boolean\n}\nexport type ProcessStep_ = ProcessStep | string\n\nexport interface ResourceType {\n type: string\n urls: string[]\n test: (url: string, signal: AbortSignal) => PromiseLike<void>\n}\nexport interface RawResource extends Metadatable {\n pathname: string\n type: string\n processSteps?: ProcessStep_[]\n}\nexport class Resource extends Struct<RawResource> implements RawResource {\n public static processInstances = useGlobalVar(\n SourcedKeyMap.createReactive<[plugin: string, referenceName: string], ProcessInstance>(),\n 'uni/resource/processInstances'\n )\n\n public static fork = useGlobalVar(\n SourcedKeyMap.createReactive<[plugin: string, type: string], ResourceType>(),\n 'uni/resource/fork'\n )\n public static precedenceFork = useGlobalVar(\n SourcedKeyMap.createReactive<[plugin: string, type: string], string>(),\n 'uni/resource/precedenceFork'\n )\n\n public static is(value: unknown): value is Resource {\n return value instanceof this\n }\n public static create(v: RawResource): Resource {\n return new this(v)\n }\n protected constructor(v: RawResource) {\n super(v)\n this.$$plugin = v.$$plugin\n this.$$meta = v.$$meta\n this.pathname = v.pathname\n this.type = v.type\n this.processSteps = (v.processSteps ?? []).map<ProcessStep>(v =>\n isString(v) ? { referenceName: v, ignoreExit: false } : v\n )\n }\n public type: string\n public pathname: string\n public processSteps: ProcessStep[]\n public $$meta?: Metadata\n public $$plugin: string\n public async getUrl(): Promise<string> {\n let resultPath = this.pathname\n for (const option of this.processSteps) {\n // preflight\n const instance = Resource.processInstances.get([this.$$plugin, option.referenceName])\n if (!instance) {\n console.warn(\n `[Resource.getUrl] process not found, fullname: [${this.$$plugin}, ${option.referenceName}]`\n )\n continue\n }\n\n // call\n const result = await instance(resultPath, this)\n resultPath = result[0]\n if (option.ignoreExit || !result[1]) continue\n break\n }\n if (!URL.canParse(resultPath)) return `${this.getThisFork()}/${resultPath}`\n return resultPath\n }\n public omittedForks = shallowReactive(new Set<string>())\n public getThisFork() {\n const all = new Set(Resource.fork.get([this.$$plugin, this.type])?.urls ?? [])\n let fork: string | undefined\n if (isEmpty(this.omittedForks)) {\n fork = Resource.precedenceFork.get([this.$$plugin, this.type])\n } else {\n const diff = Array.from(all.difference(this.omittedForks).values())\n fork = diff[0]\n }\n if (!fork)\n throw new Error(\n `[Resource.getThisFork] fork not found, type: [${this.$$plugin}, ${this.type}]`\n )\n return fork\n }\n public localChangeFork() {\n const all = new Set(Resource.fork.get([this.$$plugin, this.type])?.urls ?? [])\n this.omittedForks.add(this.getThisFork())\n const isChangedFail = isEmpty(all.difference(this.omittedForks))\n if (isChangedFail) this.omittedForks.clear()\n return isChangedFail\n }\n}","import type { Metadatable } from '../struct'\n\nimport { Resource, type RawResource, type ProcessStep_ } from './resource'\n\nexport interface RawImage extends Metadatable {\n path: string\n forkNamespace: string\n processSteps?: ProcessStep_[]\n}\n\nexport class Image extends Resource {\n public static override is(value: unknown): value is Image {\n return value instanceof this\n }\n public static override create(v: RawResource | RawImage, aspect?: ImageAspect): Image {\n return new this(v, aspect)\n }\n protected constructor(v: RawResource | RawImage, aspect?: ImageAspect) {\n if ('forkNamespace' in v)\n super({\n $$plugin: v.$$plugin,\n $$meta: { ...v.$$meta, aspect },\n pathname: v.path,\n type: v.forkNamespace,\n processSteps: v.processSteps\n })\n else super(v)\n }\n public get aspect() {\n return this.$$meta!.aspect as Partial<ImageAspect> | undefined\n }\n public set aspect(v) {\n if (!v) return\n this.$$meta ??= {}\n this.$$meta.aspect ??= {}\n this.$$meta.aspect.width = v.width\n this.$$meta.aspect.height = v.height\n }\n}\nexport interface ImageAspect {\n width: number\n height: number\n}\nexport type Image_ = string | Image","import { useGlobalVar } from '@delta-comic/utils'\nimport dayjs from 'dayjs'\nimport { type Component } from 'vue'\n\nimport { SourcedKeyMap, Struct, type Metadatable } from '../struct'\n\nimport { ContentPage, type ContentType, type ContentType_ } from './content'\nimport { Ep, type RawEp } from './ep'\nimport * as image from './image'\nimport type { RawResource } from './resource'\n\nexport interface Category extends Metadatable {\n name: string\n group: string\n search: { keyword: string; source: string; sort: string }\n}\n\nexport interface Author extends Metadatable {\n label: string\n icon: RawResource | image.RawImage | string\n description: string\n /**\n * 为空则不可订阅\n * 否则传入的为`defineConfig`中定义的`subscribe.type`\n */ subscribe?: string\n actions?: string[]\n}\n\nexport interface RawItem extends Metadatable {\n cover: RawResource | image.RawImage\n title: string\n id: string\n /** @alias tags */\n categories: Category[]\n author: Author[]\n viewNumber?: number\n likeNumber?: number\n commentNumber?: number\n isLiked?: boolean\n updateTime?: number\n customIsAI?: boolean\n contentType: ContentType_\n length: string\n epLength: string\n description?: Description\n thisEp: RawEp\n commentSendable: boolean\n customIsSafe?: boolean\n}\n\nexport type ItemCardComponent = Component<\n {\n item: Item\n freeHeight?: boolean\n disabled?: boolean\n type?: 'default' | 'big' | 'small'\n class?: any\n style?: any\n },\n any,\n any,\n any,\n any,\n { click: [] },\n { default(): void; smallTopInfo(): void; cover(): void }\n>\n\nexport type ItemTranslator = (raw: RawItem) => Item\n\nexport type Description =\n | string\n | { type: 'html'; content: string }\n | { type: 'text'; content: string }\n\nexport abstract class Item extends Struct<RawItem> implements RawItem {\n public static itemTranslator = SourcedKeyMap.createReactive<\n [plugin: string, name: string],\n ItemTranslator\n >()\n public static create(raw: RawItem) {\n const translator = this.itemTranslator.get(raw.contentType)\n if (!translator)\n throw new Error(\n `can not found itemTranslator contentType:\"${ContentPage.contentPages.key.toString(raw.contentType)}\"`\n )\n return translator(raw)\n }\n public static authorIcon = SourcedKeyMap.createReactive<\n [plugin: string, name: string],\n Component\n >()\n\n public static itemCards = useGlobalVar(\n SourcedKeyMap.createReactive<ContentType, ItemCardComponent>(),\n 'uni/item/itemCards'\n )\n\n public abstract like(): Promise<any>\n public abstract report(): Promise<any>\n public abstract sendComment(text: string): Promise<any>\n\n public static is(value: unknown): value is Item {\n return value instanceof this\n }\n public cover: RawResource | image.RawImage\n public get $cover() {\n return image.Image.create(this.cover)\n }\n public title: string\n public id: string\n public categories: Category[]\n public author: Author[]\n public viewNumber?: number\n public likeNumber?: number\n public commentNumber?: number\n public isLiked?: boolean\n public description?: Description\n public updateTime?: number\n public get $updateTime() {\n return dayjs(this.updateTime)\n }\n public contentType: ContentType\n public length: string\n public epLength: string\n public $$plugin: string\n public $$meta\n public thisEp: RawEp\n public customIsSafe?: boolean\n public get $thisEp() {\n return new Ep(this.thisEp)\n }\n constructor(v: RawItem) {\n super(v)\n this.$$plugin = v.$$plugin\n this.$$meta = v.$$meta\n\n this.thisEp = v.thisEp\n this.updateTime = v.updateTime\n this.cover = v.cover\n this.title = v.title\n this.id = v.id\n this.categories = v.categories\n this.author = v.author\n this.viewNumber = v.viewNumber\n this.likeNumber = v.likeNumber\n this.commentNumber = v.commentNumber\n this.isLiked = v.isLiked\n this.customIsAI = v.customIsAI\n this.contentType = ContentPage.contentPages.key.toJSON(v.contentType)\n this.length = v.length\n this.epLength = v.epLength\n this.description = v.description\n this.commentSendable = v.commentSendable\n this.customIsSafe = v.customIsSafe\n }\n public commentSendable: boolean\n public customIsAI?: boolean\n public get $isAi() {\n const check = (str: string) => /(^|[\\((\\[\\s【])ai[】\\))\\]\\s]?/gi.test(str)\n return (\n this.customIsAI ||\n check(this.title) ||\n this.author.some(author => check(`${author.label}\\u1145${author.description}`))\n )\n }\n}","import { useGlobalVar } from '@delta-comic/utils'\nimport { type Component } from 'vue'\n\nimport { SourcedKeyMap, type StreamQuery, type SourcedKeyType } from '../struct'\n\nimport * as comment from './comment'\nimport * as ep from './ep'\nimport * as item from './item'\n\nexport type ContentPageLike = new (\n preload: item.Item | undefined,\n id: string,\n ep: string\n) => ContentPage\n\nexport type ContentType_ = SourcedKeyType<typeof ContentPage.contentPages>\nexport type ContentType = Exclude<ContentType_, string>\n\nexport type ViewComponent = Component<{ page: ContentPage; union?: item.Item }>\nexport type LayoutComponent = Component<\n { page: ContentPage },\n any,\n any,\n any,\n any,\n any,\n { view(args: { item?: item.Item }): any }\n>\n\nexport abstract class ContentPage {\n public static layouts = useGlobalVar(\n SourcedKeyMap.createReactive<ContentType, LayoutComponent>(),\n 'uni/contentPage/layouts'\n )\n public static contentPages = useGlobalVar(\n SourcedKeyMap.createReactive<[plugin: string, name: string], ContentPageLike>(),\n 'uni/contentPage/contentPages'\n )\n\n constructor(\n public preload: item.Item | undefined,\n public id: string,\n public ep: string\n ) {}\n public abstract plugin: string\n public abstract contentType: ContentType\n\n public abstract fetchShortId: (signal?: AbortSignal) => Promise<string>\n\n public abstract fetchDetail: (signal?: AbortSignal) => Promise<item.Item>\n\n public abstract fetchRecommends: StreamQuery<item.Item>\n\n public abstract fetchComments: StreamQuery<comment.Comment>\n\n public abstract fetchEps: StreamQuery<ep.Ep>\n\n public abstract ViewComponent: ViewComponent\n}","import type { Metadata, Metadatable } from '@/struct'\n\nexport abstract class Downloader implements Metadatable {\n public abstract id: string\n public abstract name: string\n public abstract $$plugin: string\n public abstract $$meta?: Metadata\n\n public abstract begin: () => void\n public abstract resume: () => void\n public abstract pause: () => void\n}","import { shallowReactive, type Component } from 'vue'\n\nimport type { Metadata, Metadatable } from '@/struct'\n\nimport { Image } from './image'\nimport type { RawResource } from './resource'\n\nexport interface RawUser extends Metadatable {\n avatar?: RawResource\n name: string\n id: string\n}\n\nexport abstract class User {\n public static userBase = shallowReactive(new Map<string, User>())\n public static userEditorBase = shallowReactive(new Map<string, Component>())\n public static userCards = shallowReactive(new Map<string, UserCardComponent>())\n\n constructor(v: RawUser) {\n if (v.avatar) this.avatar = Image.create(v.avatar)\n this.name = v.name\n this.id = v.id\n this.$$plugin = v.$$plugin\n this.$$meta = v.$$meta\n }\n public avatar?: Image\n public name: string\n public id: string\n public $$plugin: string\n public $$meta?: Metadata\n public abstract customUser: object\n}\n\nexport type UserCardComponent = Component<{ user: User; isSmall?: boolean }>","export * as comment from './comment'\nexport * as content from './content'\nexport * as download from './download'\nexport * as ep from './ep'\nexport * as image from './image'\nexport * as item from './item'\nexport * as resource from './resource'\nexport * as user from './user'"],"x_google_ignoreList":[0,1,2,3,7,10,11,12,13,14,15],"mappings":"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"}
@@ -43,5 +43,5 @@ export declare abstract class Comment extends Struct<RawComment> implements RawC
43
43
  abstract like(signal?: AbortSignal): PromiseLike<boolean>;
44
44
  abstract report(signal?: AbortSignal): PromiseLike<any>;
45
45
  abstract sendComment(text: string, signal?: AbortSignal): PromiseLike<any>;
46
- abstract fetchChildren: StreamQuery<[], Comment>;
46
+ abstract fetchChildren: StreamQuery<Comment>;
47
47
  }
@@ -12,6 +12,10 @@ export type ViewComponent = Component<{
12
12
  }>;
13
13
  export type LayoutComponent = Component<{
14
14
  page: ContentPage;
15
+ }, any, any, any, any, any, {
16
+ view(args: {
17
+ item?: item.Item;
18
+ }): any;
15
19
  }>;
16
20
  export declare abstract class ContentPage {
17
21
  preload: item.Item | undefined;
@@ -24,8 +28,8 @@ export declare abstract class ContentPage {
24
28
  abstract contentType: ContentType;
25
29
  abstract fetchShortId: (signal?: AbortSignal) => Promise<string>;
26
30
  abstract fetchDetail: (signal?: AbortSignal) => Promise<item.Item>;
27
- abstract fetchRecommends: StreamQuery<[], item.Item>;
28
- abstract fetchComments: StreamQuery<[], comment.Comment>;
29
- abstract fetchEps: StreamQuery<[], ep.Ep>;
31
+ abstract fetchRecommends: StreamQuery<item.Item>;
32
+ abstract fetchComments: StreamQuery<comment.Comment>;
33
+ abstract fetchEps: StreamQuery<ep.Ep>;
30
34
  abstract ViewComponent: ViewComponent;
31
35
  }
@@ -4,9 +4,16 @@ export interface Metadatable {
4
4
  }
5
5
  export type Metadata = Record<string | number, any>;
6
6
  export type PageKey = string | number;
7
- export interface StreamQuery<TParameters extends any[], TItem> {
8
- (...args: [...TParameters, page: PageKey, signal?: AbortSignal]): Promise<TItem[] & {
7
+ export declare class StreamQuery<TResult, TData extends object = {}> {
8
+ query: (data: TData, page: PageKey, signal?: AbortSignal) => Promise<{
9
+ data: TResult[];
10
+ lastPage?: PageKey;
9
11
  nextPage?: PageKey;
10
12
  }>;
11
- initialPageParam: PageKey;
13
+ initPage: PageKey;
14
+ constructor(query: (data: TData, page: PageKey, signal?: AbortSignal) => Promise<{
15
+ data: TResult[];
16
+ lastPage?: PageKey;
17
+ nextPage?: PageKey;
18
+ }>, initPage: PageKey);
12
19
  }
@@ -14,6 +14,8 @@ export declare class SourcedValue<T extends [string, string]> {
14
14
  * _但内部保存仍使用`SourcedValue.key.toString`作为key_
15
15
  */
16
16
  export declare class SourcedKeyMap<TKey extends [string, string], TValue> implements Map<string, TValue> {
17
+ getOrInsert(key: string | TKey, value: TValue): TValue;
18
+ getOrInsertComputed(key: string | TKey, compute: (key: string) => TValue): TValue;
17
19
  static createReactive<TKey extends [string, string], TValue>(separator?: string): import('vue').ShallowReactive<SourcedKeyMap<TKey, TValue>>;
18
20
  constructor(separator?: string);
19
21
  key: SourcedValue<TKey>;
package/dist/pack.tgz CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delta-comic/model",
3
- "version": "1.3.2",
3
+ "version": "1.3.5",
4
4
  "description": "空阙虱楼",
5
5
  "homepage": "https://github.com/delta-comic/delta-comic",
6
6
  "license": "AGPL-3.0-only",
@@ -34,13 +34,13 @@
34
34
  "mitt": "^3.0.1"
35
35
  },
36
36
  "devDependencies": {
37
- "vite": "npm:@voidzero-dev/vite-plus-core@latest",
38
- "vite-plus": "latest"
37
+ "vite": "npm:@voidzero-dev/vite-plus-core@^0.1.16",
38
+ "vite-plus": "^0.1.16"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "vue": "^3.5",
42
- "@delta-comic/utils": "1.3.2",
43
- "@delta-comic/request": "1.3.2"
42
+ "@delta-comic/request": "1.3.5",
43
+ "@delta-comic/utils": "1.3.5"
44
44
  },
45
45
  "release": {
46
46
  "tagFormat": "model-${version}"