models.js 63 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213
  1. // @ts-check
  2. // Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
  3. // This file is automatically generated. DO NOT EDIT
  4. // eslint-disable-next-line @typescript-eslint/ban-ts-comment
  5. // @ts-ignore: Unused imports
  6. import { Create as $Create } from "@wailsio/runtime";
  7. /**
  8. * APIStatus API 服务运行状态,供「主机」页展示
  9. */
  10. export class APIStatus {
  11. /**
  12. * Creates a new APIStatus instance.
  13. * @param {Partial<APIStatus>} [$$source = {}] - The source object to create the APIStatus.
  14. */
  15. constructor($$source = {}) {
  16. if (!("addr" in $$source)) {
  17. /**
  18. * 当前监听地址
  19. * @member
  20. * @type {string}
  21. */
  22. this["addr"] = "";
  23. }
  24. if (!("running" in $$source)) {
  25. /**
  26. * 是否正在监听
  27. * @member
  28. * @type {boolean}
  29. */
  30. this["running"] = false;
  31. }
  32. if (!("startedAt" in $$source)) {
  33. /**
  34. * 启动时间
  35. * @member
  36. * @type {string}
  37. */
  38. this["startedAt"] = "";
  39. }
  40. if (!("error" in $$source)) {
  41. /**
  42. * 最近错误信息
  43. * @member
  44. * @type {string}
  45. */
  46. this["error"] = "";
  47. }
  48. Object.assign(this, $$source);
  49. }
  50. /**
  51. * Creates a new APIStatus instance from a string or object.
  52. * @param {any} [$$source = {}]
  53. * @returns {APIStatus}
  54. */
  55. static createFrom($$source = {}) {
  56. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  57. return new APIStatus(/** @type {Partial<APIStatus>} */($$parsedSource));
  58. }
  59. }
  60. /**
  61. * AppSettings 保存全部可自定义配置,序列化为 JSON 存于用户配置目录
  62. */
  63. export class AppSettings {
  64. /**
  65. * Creates a new AppSettings instance.
  66. * @param {Partial<AppSettings>} [$$source = {}] - The source object to create the AppSettings.
  67. */
  68. constructor($$source = {}) {
  69. if (!("theme" in $$source)) {
  70. /**
  71. * 界面主题:dark / light
  72. * @member
  73. * @type {string}
  74. */
  75. this["theme"] = "";
  76. }
  77. if (!("autostart" in $$source)) {
  78. /**
  79. * 系统启动时运行
  80. * @member
  81. * @type {boolean}
  82. */
  83. this["autostart"] = false;
  84. }
  85. if (!("alwaysOnTop" in $$source)) {
  86. /**
  87. * 窗口置顶
  88. * @member
  89. * @type {boolean}
  90. */
  91. this["alwaysOnTop"] = false;
  92. }
  93. if (!("startCompact" in $$source)) {
  94. /**
  95. * 启动时自动收拢为圆点(窗口缩小)
  96. * @member
  97. * @type {boolean}
  98. */
  99. this["startCompact"] = false;
  100. }
  101. if (!("hotkey" in $$source)) {
  102. /**
  103. * 呼出(显示)窗口的全局热键
  104. * @member
  105. * @type {string}
  106. */
  107. this["hotkey"] = "";
  108. }
  109. if (!("tabOrder" in $$source)) {
  110. /**
  111. * Tab 显示顺序(tabId 列表,未列出的追加到末尾)
  112. * @member
  113. * @type {string[]}
  114. */
  115. this["tabOrder"] = [];
  116. }
  117. if (!("stockCodes" in $$source)) {
  118. /**
  119. * 股市页展示的股票代码列表
  120. * @member
  121. * @type {string[]}
  122. */
  123. this["stockCodes"] = [];
  124. }
  125. if (!("links" in $$source)) {
  126. /**
  127. * 常用网址列表
  128. * @member
  129. * @type {LinkItem[]}
  130. */
  131. this["links"] = [];
  132. }
  133. if (!("newsKeywords" in $$source)) {
  134. /**
  135. * 新闻关注关键词,逗号分隔
  136. * @member
  137. * @type {string}
  138. */
  139. this["newsKeywords"] = "";
  140. }
  141. if (!("biliCookie" in $$source)) {
  142. /**
  143. * B站登录 cookie(含 SESSDATA),用于抓取「关注的人最新动态」
  144. * @member
  145. * @type {string}
  146. */
  147. this["biliCookie"] = "";
  148. }
  149. if (!("githubRepos" in $$source)) {
  150. /**
  151. * 关注的 GitHub 仓库列表
  152. * @member
  153. * @type {RepoItem[]}
  154. */
  155. this["githubRepos"] = [];
  156. }
  157. if (!("customTabs" in $$source)) {
  158. /**
  159. * 用户自定义 Tab 页面(名字 + 网址)
  160. * @member
  161. * @type {CustomTab[]}
  162. */
  163. this["customTabs"] = [];
  164. }
  165. if (!("apiAddr" in $$source)) {
  166. /**
  167. * 内置 API 服务监听地址
  168. * @member
  169. * @type {string}
  170. */
  171. this["apiAddr"] = "";
  172. }
  173. if (!("apiAutoStart" in $$source)) {
  174. /**
  175. * 应用启动时自动启动内置 API 服务(默认开启)
  176. * @member
  177. * @type {boolean}
  178. */
  179. this["apiAutoStart"] = false;
  180. }
  181. if (!("uploadPassword" in $$source)) {
  182. /**
  183. * 文件上传密码(空=不启用上传/下载接口)
  184. * @member
  185. * @type {string}
  186. */
  187. this["uploadPassword"] = "";
  188. }
  189. if (!("uploadDir" in $$source)) {
  190. /**
  191. * 文件上传保存目录(空=用户配置目录/uploads)
  192. * @member
  193. * @type {string}
  194. */
  195. this["uploadDir"] = "";
  196. }
  197. if (!("uploadMaxSize" in $$source)) {
  198. /**
  199. * 单个上传文件大小上限(MB),<=0 用默认 512
  200. * @member
  201. * @type {number}
  202. */
  203. this["uploadMaxSize"] = 0;
  204. }
  205. if (!("todoPath" in $$source)) {
  206. /**
  207. * 待办(TODO)文件路径
  208. * @member
  209. * @type {string}
  210. */
  211. this["todoPath"] = "";
  212. }
  213. if (!("recordPath" in $$source)) {
  214. /**
  215. * 记录(Record)文件路径:每行「姓名|名称|值」(保留兼容)
  216. * @member
  217. * @type {string}
  218. */
  219. this["recordPath"] = "";
  220. }
  221. if (!("recordDBPath" in $$source)) {
  222. /**
  223. * 记录数据库路径:SQLite3 数据库文件(记录 Tab 实际存储)
  224. * @member
  225. * @type {string}
  226. */
  227. this["recordDBPath"] = "";
  228. }
  229. if (!("backupDir" in $$source)) {
  230. /**
  231. * 文本文件备份目录(文件类自定义 Tab「备份」按钮使用)
  232. * @member
  233. * @type {string}
  234. */
  235. this["backupDir"] = "";
  236. }
  237. if (!("stockTicker" in $$source)) {
  238. /**
  239. * 股票滚动条配置
  240. * @member
  241. * @type {TickerConfig}
  242. */
  243. this["stockTicker"] = (new TickerConfig());
  244. }
  245. if (!("newsTicker" in $$source)) {
  246. /**
  247. * 新闻滚动条配置
  248. * @member
  249. * @type {TickerConfig}
  250. */
  251. this["newsTicker"] = (new TickerConfig());
  252. }
  253. if (!("poem" in $$source)) {
  254. /**
  255. * 随机古诗显示配置
  256. * @member
  257. * @type {PoemConfig}
  258. */
  259. this["poem"] = (new PoemConfig());
  260. }
  261. if (!("mouseAlert" in $$source)) {
  262. /**
  263. * 系统级鼠标提醒气泡配置
  264. * @member
  265. * @type {MouseAlertConfig}
  266. */
  267. this["mouseAlert"] = (new MouseAlertConfig());
  268. }
  269. if (!("browserPath" in $$source)) {
  270. /**
  271. * 指定浏览器 exe 路径(空=系统默认浏览器)
  272. * @member
  273. * @type {string}
  274. */
  275. this["browserPath"] = "";
  276. }
  277. if (!("ledColor" in $$source)) {
  278. /**
  279. * LED 滚动文字点阵颜色(如 #ff4d4d)
  280. * @member
  281. * @type {string}
  282. */
  283. this["ledColor"] = "";
  284. }
  285. if (!("stockUpColor" in $$source)) {
  286. /**
  287. * 股票上涨颜色
  288. * @member
  289. * @type {string}
  290. */
  291. this["stockUpColor"] = "";
  292. }
  293. if (!("stockDownColor" in $$source)) {
  294. /**
  295. * 股票下跌颜色
  296. * @member
  297. * @type {string}
  298. */
  299. this["stockDownColor"] = "";
  300. }
  301. if (!("stockRefreshSecs" in $$source)) {
  302. /**
  303. * 股市自动刷新间隔(秒)
  304. * @member
  305. * @type {number}
  306. */
  307. this["stockRefreshSecs"] = 0;
  308. }
  309. if (!("stockClosedRefreshSecs" in $$source)) {
  310. /**
  311. * 股市休市时自动刷新间隔(秒)
  312. * @member
  313. * @type {number}
  314. */
  315. this["stockClosedRefreshSecs"] = 0;
  316. }
  317. if (!("newsRefreshMinutes" in $$source)) {
  318. /**
  319. * 新闻自动刷新间隔(分钟)
  320. * @member
  321. * @type {number}
  322. */
  323. this["newsRefreshMinutes"] = 0;
  324. }
  325. if (!("newsCount" in $$source)) {
  326. /**
  327. * 新闻页显示条数
  328. * @member
  329. * @type {number}
  330. */
  331. this["newsCount"] = 0;
  332. }
  333. if (!("githubRefreshMinutes" in $$source)) {
  334. /**
  335. * Github 自动刷新间隔(分钟)
  336. * @member
  337. * @type {number}
  338. */
  339. this["githubRefreshMinutes"] = 0;
  340. }
  341. if (!("fontDelta" in $$source)) {
  342. /**
  343. * 全局字号偏移(px),+-3 范围内调整
  344. * @member
  345. * @type {number}
  346. */
  347. this["fontDelta"] = 0;
  348. }
  349. if (!("localSend" in $$source)) {
  350. /**
  351. * LocalSend 文件互传配置(本机名/接收目录/接收模式等)
  352. * @member
  353. * @type {LocalSendConfig}
  354. */
  355. this["localSend"] = (new LocalSendConfig());
  356. }
  357. if (!("croc" in $$source)) {
  358. /**
  359. * Croc 传送配置(发送/接收共用密码)
  360. * @member
  361. * @type {CrocConfig}
  362. */
  363. this["croc"] = (new CrocConfig());
  364. }
  365. if (!("ytdlp" in $$source)) {
  366. /**
  367. * 视频下载配置(yt-dlp 保存目录)
  368. * @member
  369. * @type {YTDLPConfig}
  370. */
  371. this["ytdlp"] = (new YTDLPConfig());
  372. }
  373. if (!("memos" in $$source)) {
  374. /**
  375. * Memos 速记配置(地址/访问令牌/默认可见性)
  376. * @member
  377. * @type {MemosConfig}
  378. */
  379. this["memos"] = (new MemosConfig());
  380. }
  381. if (!("toolOrder" in $$source)) {
  382. /**
  383. * 工具页卡片显示顺序(工具 id 列表,未列出的追加到末尾)
  384. * @member
  385. * @type {string[]}
  386. */
  387. this["toolOrder"] = [];
  388. }
  389. Object.assign(this, $$source);
  390. }
  391. /**
  392. * Creates a new AppSettings instance from a string or object.
  393. * @param {any} [$$source = {}]
  394. * @returns {AppSettings}
  395. */
  396. static createFrom($$source = {}) {
  397. const $$createField5_0 = $$createType0;
  398. const $$createField6_0 = $$createType0;
  399. const $$createField7_0 = $$createType2;
  400. const $$createField10_0 = $$createType4;
  401. const $$createField11_0 = $$createType6;
  402. const $$createField21_0 = $$createType7;
  403. const $$createField22_0 = $$createType7;
  404. const $$createField23_0 = $$createType8;
  405. const $$createField24_0 = $$createType9;
  406. const $$createField35_0 = $$createType10;
  407. const $$createField36_0 = $$createType11;
  408. const $$createField37_0 = $$createType12;
  409. const $$createField38_0 = $$createType13;
  410. const $$createField39_0 = $$createType0;
  411. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  412. if ("tabOrder" in $$parsedSource) {
  413. $$parsedSource["tabOrder"] = $$createField5_0($$parsedSource["tabOrder"]);
  414. }
  415. if ("stockCodes" in $$parsedSource) {
  416. $$parsedSource["stockCodes"] = $$createField6_0($$parsedSource["stockCodes"]);
  417. }
  418. if ("links" in $$parsedSource) {
  419. $$parsedSource["links"] = $$createField7_0($$parsedSource["links"]);
  420. }
  421. if ("githubRepos" in $$parsedSource) {
  422. $$parsedSource["githubRepos"] = $$createField10_0($$parsedSource["githubRepos"]);
  423. }
  424. if ("customTabs" in $$parsedSource) {
  425. $$parsedSource["customTabs"] = $$createField11_0($$parsedSource["customTabs"]);
  426. }
  427. if ("stockTicker" in $$parsedSource) {
  428. $$parsedSource["stockTicker"] = $$createField21_0($$parsedSource["stockTicker"]);
  429. }
  430. if ("newsTicker" in $$parsedSource) {
  431. $$parsedSource["newsTicker"] = $$createField22_0($$parsedSource["newsTicker"]);
  432. }
  433. if ("poem" in $$parsedSource) {
  434. $$parsedSource["poem"] = $$createField23_0($$parsedSource["poem"]);
  435. }
  436. if ("mouseAlert" in $$parsedSource) {
  437. $$parsedSource["mouseAlert"] = $$createField24_0($$parsedSource["mouseAlert"]);
  438. }
  439. if ("localSend" in $$parsedSource) {
  440. $$parsedSource["localSend"] = $$createField35_0($$parsedSource["localSend"]);
  441. }
  442. if ("croc" in $$parsedSource) {
  443. $$parsedSource["croc"] = $$createField36_0($$parsedSource["croc"]);
  444. }
  445. if ("ytdlp" in $$parsedSource) {
  446. $$parsedSource["ytdlp"] = $$createField37_0($$parsedSource["ytdlp"]);
  447. }
  448. if ("memos" in $$parsedSource) {
  449. $$parsedSource["memos"] = $$createField38_0($$parsedSource["memos"]);
  450. }
  451. if ("toolOrder" in $$parsedSource) {
  452. $$parsedSource["toolOrder"] = $$createField39_0($$parsedSource["toolOrder"]);
  453. }
  454. return new AppSettings(/** @type {Partial<AppSettings>} */($$parsedSource));
  455. }
  456. }
  457. /**
  458. * BiliDynamicItem 一条 B站动态,供「新闻」页展示
  459. */
  460. export class BiliDynamicItem {
  461. /**
  462. * Creates a new BiliDynamicItem instance.
  463. * @param {Partial<BiliDynamicItem>} [$$source = {}] - The source object to create the BiliDynamicItem.
  464. */
  465. constructor($$source = {}) {
  466. if (!("source" in $$source)) {
  467. /**
  468. * 来源:B站动态
  469. * @member
  470. * @type {string}
  471. */
  472. this["source"] = "";
  473. }
  474. if (!("title" in $$source)) {
  475. /**
  476. * 标题(动态文案或视频标题)
  477. * @member
  478. * @type {string}
  479. */
  480. this["title"] = "";
  481. }
  482. if (!("url" in $$source)) {
  483. /**
  484. * 详情页地址
  485. * @member
  486. * @type {string}
  487. */
  488. this["url"] = "";
  489. }
  490. if (!("matched" in $$source)) {
  491. /**
  492. * 是否命中关注关键词
  493. * @member
  494. * @type {boolean}
  495. */
  496. this["matched"] = false;
  497. }
  498. Object.assign(this, $$source);
  499. }
  500. /**
  501. * Creates a new BiliDynamicItem instance from a string or object.
  502. * @param {any} [$$source = {}]
  503. * @returns {BiliDynamicItem}
  504. */
  505. static createFrom($$source = {}) {
  506. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  507. return new BiliDynamicItem(/** @type {Partial<BiliDynamicItem>} */($$parsedSource));
  508. }
  509. }
  510. /**
  511. * CommitItem 仓库的一条提交记录
  512. */
  513. export class CommitItem {
  514. /**
  515. * Creates a new CommitItem instance.
  516. * @param {Partial<CommitItem>} [$$source = {}] - The source object to create the CommitItem.
  517. */
  518. constructor($$source = {}) {
  519. if (!("title" in $$source)) {
  520. /**
  521. * 提交标题(首行)
  522. * @member
  523. * @type {string}
  524. */
  525. this["title"] = "";
  526. }
  527. if (!("url" in $$source)) {
  528. /**
  529. * 提交详情页地址
  530. * @member
  531. * @type {string}
  532. */
  533. this["url"] = "";
  534. }
  535. if (!("updated" in $$source)) {
  536. /**
  537. * 提交时间(MM-DD HH:MM)
  538. * @member
  539. * @type {string}
  540. */
  541. this["updated"] = "";
  542. }
  543. Object.assign(this, $$source);
  544. }
  545. /**
  546. * Creates a new CommitItem instance from a string or object.
  547. * @param {any} [$$source = {}]
  548. * @returns {CommitItem}
  549. */
  550. static createFrom($$source = {}) {
  551. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  552. return new CommitItem(/** @type {Partial<CommitItem>} */($$parsedSource));
  553. }
  554. }
  555. /**
  556. * CrocConfig 是 Croc 传送的配置(发送/接收共用密码)。
  557. */
  558. export class CrocConfig {
  559. /**
  560. * Creates a new CrocConfig instance.
  561. * @param {Partial<CrocConfig>} [$$source = {}] - The source object to create the CrocConfig.
  562. */
  563. constructor($$source = {}) {
  564. if (!("password" in $$source)) {
  565. /**
  566. * 发送/接收共用密码:作为 croc 传输码(--code),空=使用随机传输码
  567. * @member
  568. * @type {string}
  569. */
  570. this["password"] = "";
  571. }
  572. if (!("dir" in $$source)) {
  573. /**
  574. * 接收保存目录,空=当前工作目录
  575. * @member
  576. * @type {string}
  577. */
  578. this["dir"] = "";
  579. }
  580. Object.assign(this, $$source);
  581. }
  582. /**
  583. * Creates a new CrocConfig instance from a string or object.
  584. * @param {any} [$$source = {}]
  585. * @returns {CrocConfig}
  586. */
  587. static createFrom($$source = {}) {
  588. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  589. return new CrocConfig(/** @type {Partial<CrocConfig>} */($$parsedSource));
  590. }
  591. }
  592. /**
  593. * CrocInfo 描述本机 croc 的可用性,用于前端决定是否展示工具卡片。
  594. */
  595. export class CrocInfo {
  596. /**
  597. * Creates a new CrocInfo instance.
  598. * @param {Partial<CrocInfo>} [$$source = {}] - The source object to create the CrocInfo.
  599. */
  600. constructor($$source = {}) {
  601. if (!("available" in $$source)) {
  602. /**
  603. * PATH 中是否找到 croc
  604. * @member
  605. * @type {boolean}
  606. */
  607. this["available"] = false;
  608. }
  609. if (!("path" in $$source)) {
  610. /**
  611. * croc 可执行文件路径
  612. * @member
  613. * @type {string}
  614. */
  615. this["path"] = "";
  616. }
  617. if (!("version" in $$source)) {
  618. /**
  619. * 版本信息(croc --version 输出)
  620. * @member
  621. * @type {string}
  622. */
  623. this["version"] = "";
  624. }
  625. Object.assign(this, $$source);
  626. }
  627. /**
  628. * Creates a new CrocInfo instance from a string or object.
  629. * @param {any} [$$source = {}]
  630. * @returns {CrocInfo}
  631. */
  632. static createFrom($$source = {}) {
  633. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  634. return new CrocInfo(/** @type {Partial<CrocInfo>} */($$parsedSource));
  635. }
  636. }
  637. /**
  638. * CustomTab 用户自定义 Tab 页面
  639. */
  640. export class CustomTab {
  641. /**
  642. * Creates a new CustomTab instance.
  643. * @param {Partial<CustomTab>} [$$source = {}] - The source object to create the CustomTab.
  644. */
  645. constructor($$source = {}) {
  646. if (!("name" in $$source)) {
  647. /**
  648. * 页面名称(Tab 按钮显示文字)
  649. * @member
  650. * @type {string}
  651. */
  652. this["name"] = "";
  653. }
  654. if (!("url" in $$source)) {
  655. /**
  656. * 页面地址(iframe 加载)
  657. * @member
  658. * @type {string}
  659. */
  660. this["url"] = "";
  661. }
  662. if (!("desc" in $$source)) {
  663. /**
  664. * 备注/提示信息(可空),Tab 说明文字优先显示
  665. * @member
  666. * @type {string}
  667. */
  668. this["desc"] = "";
  669. }
  670. Object.assign(this, $$source);
  671. }
  672. /**
  673. * Creates a new CustomTab instance from a string or object.
  674. * @param {any} [$$source = {}]
  675. * @returns {CustomTab}
  676. */
  677. static createFrom($$source = {}) {
  678. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  679. return new CustomTab(/** @type {Partial<CustomTab>} */($$parsedSource));
  680. }
  681. }
  682. /**
  683. * KLineBar 日 K 的一根柱子
  684. */
  685. export class KLineBar {
  686. /**
  687. * Creates a new KLineBar instance.
  688. * @param {Partial<KLineBar>} [$$source = {}] - The source object to create the KLineBar.
  689. */
  690. constructor($$source = {}) {
  691. if (!("date" in $$source)) {
  692. /**
  693. * 交易日
  694. * @member
  695. * @type {string}
  696. */
  697. this["date"] = "";
  698. }
  699. if (!("open" in $$source)) {
  700. /**
  701. * 开盘价
  702. * @member
  703. * @type {number}
  704. */
  705. this["open"] = 0;
  706. }
  707. if (!("close" in $$source)) {
  708. /**
  709. * 收盘价
  710. * @member
  711. * @type {number}
  712. */
  713. this["close"] = 0;
  714. }
  715. if (!("high" in $$source)) {
  716. /**
  717. * 最高价
  718. * @member
  719. * @type {number}
  720. */
  721. this["high"] = 0;
  722. }
  723. if (!("low" in $$source)) {
  724. /**
  725. * 最低价
  726. * @member
  727. * @type {number}
  728. */
  729. this["low"] = 0;
  730. }
  731. if (!("volume" in $$source)) {
  732. /**
  733. * 成交量(手)
  734. * @member
  735. * @type {number}
  736. */
  737. this["volume"] = 0;
  738. }
  739. Object.assign(this, $$source);
  740. }
  741. /**
  742. * Creates a new KLineBar instance from a string or object.
  743. * @param {any} [$$source = {}]
  744. * @returns {KLineBar}
  745. */
  746. static createFrom($$source = {}) {
  747. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  748. return new KLineBar(/** @type {Partial<KLineBar>} */($$parsedSource));
  749. }
  750. }
  751. /**
  752. * LinkItem 常用网址条目
  753. */
  754. export class LinkItem {
  755. /**
  756. * Creates a new LinkItem instance.
  757. * @param {Partial<LinkItem>} [$$source = {}] - The source object to create the LinkItem.
  758. */
  759. constructor($$source = {}) {
  760. if (!("name" in $$source)) {
  761. /**
  762. * 网站名称
  763. * @member
  764. * @type {string}
  765. */
  766. this["name"] = "";
  767. }
  768. if (!("url" in $$source)) {
  769. /**
  770. * 网站地址
  771. * @member
  772. * @type {string}
  773. */
  774. this["url"] = "";
  775. }
  776. Object.assign(this, $$source);
  777. }
  778. /**
  779. * Creates a new LinkItem instance from a string or object.
  780. * @param {any} [$$source = {}]
  781. * @returns {LinkItem}
  782. */
  783. static createFrom($$source = {}) {
  784. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  785. return new LinkItem(/** @type {Partial<LinkItem>} */($$parsedSource));
  786. }
  787. }
  788. /**
  789. * LocalSendConfig 是 LocalSend 的运行时配置。
  790. */
  791. export class LocalSendConfig {
  792. /**
  793. * Creates a new LocalSendConfig instance.
  794. * @param {Partial<LocalSendConfig>} [$$source = {}] - The source object to create the LocalSendConfig.
  795. */
  796. constructor($$source = {}) {
  797. if (!("enabled" in $$source)) {
  798. /**
  799. * 是否已启动服务
  800. * @member
  801. * @type {boolean}
  802. */
  803. this["enabled"] = false;
  804. }
  805. if (!("alias" in $$source)) {
  806. /**
  807. * 本机名称(广播给其他设备)
  808. * @member
  809. * @type {string}
  810. */
  811. this["alias"] = "";
  812. }
  813. if (!("receiveDir" in $$source)) {
  814. /**
  815. * 接收文件保存目录
  816. * @member
  817. * @type {string}
  818. */
  819. this["receiveDir"] = "";
  820. }
  821. if (!("autoAccept" in $$source)) {
  822. /**
  823. * true=自动接收;false=手动确认
  824. * @member
  825. * @type {boolean}
  826. */
  827. this["autoAccept"] = false;
  828. }
  829. if (!("port" in $$source)) {
  830. /**
  831. * 监听端口
  832. * @member
  833. * @type {number}
  834. */
  835. this["port"] = 0;
  836. }
  837. if (!("fingerprint" in $$source)) {
  838. /**
  839. * 本机证书指纹
  840. * @member
  841. * @type {string}
  842. */
  843. this["fingerprint"] = "";
  844. }
  845. Object.assign(this, $$source);
  846. }
  847. /**
  848. * Creates a new LocalSendConfig instance from a string or object.
  849. * @param {any} [$$source = {}]
  850. * @returns {LocalSendConfig}
  851. */
  852. static createFrom($$source = {}) {
  853. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  854. return new LocalSendConfig(/** @type {Partial<LocalSendConfig>} */($$parsedSource));
  855. }
  856. }
  857. /**
  858. * MemosConfig 保存 Memos 速记所需的配置。
  859. */
  860. export class MemosConfig {
  861. /**
  862. * Creates a new MemosConfig instance.
  863. * @param {Partial<MemosConfig>} [$$source = {}] - The source object to create the MemosConfig.
  864. */
  865. constructor($$source = {}) {
  866. if (!("url" in $$source)) {
  867. /**
  868. * 实例地址,如 https://m.scwy.net
  869. * @member
  870. * @type {string}
  871. */
  872. this["url"] = "";
  873. }
  874. if (!("token" in $$source)) {
  875. /**
  876. * 个人访问令牌(PAT),只存本地
  877. * @member
  878. * @type {string}
  879. */
  880. this["token"] = "";
  881. }
  882. Object.assign(this, $$source);
  883. }
  884. /**
  885. * Creates a new MemosConfig instance from a string or object.
  886. * @param {any} [$$source = {}]
  887. * @returns {MemosConfig}
  888. */
  889. static createFrom($$source = {}) {
  890. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  891. return new MemosConfig(/** @type {Partial<MemosConfig>} */($$parsedSource));
  892. }
  893. }
  894. /**
  895. * MinuteChart 分时图数据
  896. */
  897. export class MinuteChart {
  898. /**
  899. * Creates a new MinuteChart instance.
  900. * @param {Partial<MinuteChart>} [$$source = {}] - The source object to create the MinuteChart.
  901. */
  902. constructor($$source = {}) {
  903. if (!("code" in $$source)) {
  904. /**
  905. * 股票代码
  906. * @member
  907. * @type {string}
  908. */
  909. this["code"] = "";
  910. }
  911. if (!("prevClose" in $$source)) {
  912. /**
  913. * 昨收,作为分时基准线
  914. * @member
  915. * @type {number}
  916. */
  917. this["prevClose"] = 0;
  918. }
  919. if (!("points" in $$source)) {
  920. /**
  921. * 分时点序列
  922. * @member
  923. * @type {MinutePoint[]}
  924. */
  925. this["points"] = [];
  926. }
  927. Object.assign(this, $$source);
  928. }
  929. /**
  930. * Creates a new MinuteChart instance from a string or object.
  931. * @param {any} [$$source = {}]
  932. * @returns {MinuteChart}
  933. */
  934. static createFrom($$source = {}) {
  935. const $$createField2_0 = $$createType15;
  936. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  937. if ("points" in $$parsedSource) {
  938. $$parsedSource["points"] = $$createField2_0($$parsedSource["points"]);
  939. }
  940. return new MinuteChart(/** @type {Partial<MinuteChart>} */($$parsedSource));
  941. }
  942. }
  943. /**
  944. * MinutePoint 分时图上的一个点
  945. */
  946. export class MinutePoint {
  947. /**
  948. * Creates a new MinutePoint instance.
  949. * @param {Partial<MinutePoint>} [$$source = {}] - The source object to create the MinutePoint.
  950. */
  951. constructor($$source = {}) {
  952. if (!("time" in $$source)) {
  953. /**
  954. * HH:MM
  955. * @member
  956. * @type {string}
  957. */
  958. this["time"] = "";
  959. }
  960. if (!("price" in $$source)) {
  961. /**
  962. * 当前价
  963. * @member
  964. * @type {number}
  965. */
  966. this["price"] = 0;
  967. }
  968. if (!("avg" in $$source)) {
  969. /**
  970. * 均价
  971. * @member
  972. * @type {number}
  973. */
  974. this["avg"] = 0;
  975. }
  976. Object.assign(this, $$source);
  977. }
  978. /**
  979. * Creates a new MinutePoint instance from a string or object.
  980. * @param {any} [$$source = {}]
  981. * @returns {MinutePoint}
  982. */
  983. static createFrom($$source = {}) {
  984. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  985. return new MinutePoint(/** @type {Partial<MinutePoint>} */($$parsedSource));
  986. }
  987. }
  988. /**
  989. * MouseAlertConfig 系统级鼠标提醒气泡的显示配置
  990. */
  991. export class MouseAlertConfig {
  992. /**
  993. * Creates a new MouseAlertConfig instance.
  994. * @param {Partial<MouseAlertConfig>} [$$source = {}] - The source object to create the MouseAlertConfig.
  995. */
  996. constructor($$source = {}) {
  997. if (!("fontSize" in $$source)) {
  998. /**
  999. * 字号(px)
  1000. * @member
  1001. * @type {number}
  1002. */
  1003. this["fontSize"] = 0;
  1004. }
  1005. if (!("width" in $$source)) {
  1006. /**
  1007. * 气泡窗口宽度(px)
  1008. * @member
  1009. * @type {number}
  1010. */
  1011. this["width"] = 0;
  1012. }
  1013. if (!("speed" in $$source)) {
  1014. /**
  1015. * 超长文字滚动速度(px/s)
  1016. * @member
  1017. * @type {number}
  1018. */
  1019. this["speed"] = 0;
  1020. }
  1021. if (!("color" in $$source)) {
  1022. /**
  1023. * 文字颜色
  1024. * @member
  1025. * @type {string}
  1026. */
  1027. this["color"] = "";
  1028. }
  1029. if (!("background" in $$source)) {
  1030. /**
  1031. * 气泡背景色(COLORKEY 抠成透明,仅作底色参考)
  1032. * @member
  1033. * @type {string}
  1034. */
  1035. this["background"] = "";
  1036. }
  1037. if (!("duration" in $$source)) {
  1038. /**
  1039. * 显示时长(秒)
  1040. * @member
  1041. * @type {number}
  1042. */
  1043. this["duration"] = 0;
  1044. }
  1045. if (!("outlineColor" in $$source)) {
  1046. /**
  1047. * 文字描边颜色(白边/黑边,与文字形成反差)
  1048. * @member
  1049. * @type {string}
  1050. */
  1051. this["outlineColor"] = "";
  1052. }
  1053. if (!("outlineWidth" in $$source)) {
  1054. /**
  1055. * 文字描边宽度(px),0 表示关闭描边
  1056. * @member
  1057. * @type {number}
  1058. */
  1059. this["outlineWidth"] = 0;
  1060. }
  1061. Object.assign(this, $$source);
  1062. }
  1063. /**
  1064. * Creates a new MouseAlertConfig instance from a string or object.
  1065. * @param {any} [$$source = {}]
  1066. * @returns {MouseAlertConfig}
  1067. */
  1068. static createFrom($$source = {}) {
  1069. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1070. return new MouseAlertConfig(/** @type {Partial<MouseAlertConfig>} */($$parsedSource));
  1071. }
  1072. }
  1073. /**
  1074. * NewsItem 一条新闻标题,供「新闻」页与新闻滚动条使用
  1075. */
  1076. export class NewsItem {
  1077. /**
  1078. * Creates a new NewsItem instance.
  1079. * @param {Partial<NewsItem>} [$$source = {}] - The source object to create the NewsItem.
  1080. */
  1081. constructor($$source = {}) {
  1082. if (!("source" in $$source)) {
  1083. /**
  1084. * 来源:煎蛋 / 头条 / 腾讯
  1085. * @member
  1086. * @type {string}
  1087. */
  1088. this["source"] = "";
  1089. }
  1090. if (!("title" in $$source)) {
  1091. /**
  1092. * 标题
  1093. * @member
  1094. * @type {string}
  1095. */
  1096. this["title"] = "";
  1097. }
  1098. if (!("url" in $$source)) {
  1099. /**
  1100. * 详情页地址
  1101. * @member
  1102. * @type {string}
  1103. */
  1104. this["url"] = "";
  1105. }
  1106. if (!("matched" in $$source)) {
  1107. /**
  1108. * 是否命中关注关键词
  1109. * @member
  1110. * @type {boolean}
  1111. */
  1112. this["matched"] = false;
  1113. }
  1114. Object.assign(this, $$source);
  1115. }
  1116. /**
  1117. * Creates a new NewsItem instance from a string or object.
  1118. * @param {any} [$$source = {}]
  1119. * @returns {NewsItem}
  1120. */
  1121. static createFrom($$source = {}) {
  1122. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1123. return new NewsItem(/** @type {Partial<NewsItem>} */($$parsedSource));
  1124. }
  1125. }
  1126. /**
  1127. * PCStatus 电源命令状态快照,供 API 与「主机」页查询
  1128. */
  1129. export class PCStatus {
  1130. /**
  1131. * Creates a new PCStatus instance.
  1132. * @param {Partial<PCStatus>} [$$source = {}] - The source object to create the PCStatus.
  1133. */
  1134. constructor($$source = {}) {
  1135. if (!("command" in $$source)) {
  1136. /**
  1137. * 最近一次命令类型
  1138. * @member
  1139. * @type {string}
  1140. */
  1141. this["command"] = "";
  1142. }
  1143. if (!("pending" in $$source)) {
  1144. /**
  1145. * 是否有待执行命令
  1146. * @member
  1147. * @type {boolean}
  1148. */
  1149. this["pending"] = false;
  1150. }
  1151. if (!("executeAt" in $$source)) {
  1152. /**
  1153. * 计划执行时间
  1154. * @member
  1155. * @type {string}
  1156. */
  1157. this["executeAt"] = "";
  1158. }
  1159. if (!("remainingSecs" in $$source)) {
  1160. /**
  1161. * 剩余秒数
  1162. * @member
  1163. * @type {number}
  1164. */
  1165. this["remainingSecs"] = 0;
  1166. }
  1167. if (!("clientIp" in $$source)) {
  1168. /**
  1169. * 最近一次请求的客户端 IP
  1170. * @member
  1171. * @type {string}
  1172. */
  1173. this["clientIp"] = "";
  1174. }
  1175. if (!("requestTime" in $$source)) {
  1176. /**
  1177. * 最近一次请求时间
  1178. * @member
  1179. * @type {string}
  1180. */
  1181. this["requestTime"] = "";
  1182. }
  1183. if (!("requested" in $$source)) {
  1184. /**
  1185. * 是否收到过请求
  1186. * @member
  1187. * @type {boolean}
  1188. */
  1189. this["requested"] = false;
  1190. }
  1191. Object.assign(this, $$source);
  1192. }
  1193. /**
  1194. * Creates a new PCStatus instance from a string or object.
  1195. * @param {any} [$$source = {}]
  1196. * @returns {PCStatus}
  1197. */
  1198. static createFrom($$source = {}) {
  1199. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1200. return new PCStatus(/** @type {Partial<PCStatus>} */($$parsedSource));
  1201. }
  1202. }
  1203. /**
  1204. * PoemConfig 古诗显示的配置
  1205. */
  1206. export class PoemConfig {
  1207. /**
  1208. * Creates a new PoemConfig instance.
  1209. * @param {Partial<PoemConfig>} [$$source = {}] - The source object to create the PoemConfig.
  1210. */
  1211. constructor($$source = {}) {
  1212. if (!("enabled" in $$source)) {
  1213. /**
  1214. * 是否启用古诗显示
  1215. * @member
  1216. * @type {boolean}
  1217. */
  1218. this["enabled"] = false;
  1219. }
  1220. if (!("color" in $$source)) {
  1221. /**
  1222. * 文字颜色
  1223. * @member
  1224. * @type {string}
  1225. */
  1226. this["color"] = "";
  1227. }
  1228. if (!("fontSize" in $$source)) {
  1229. /**
  1230. * 字号(px)
  1231. * @member
  1232. * @type {number}
  1233. */
  1234. this["fontSize"] = 0;
  1235. }
  1236. if (!("tts" in $$source)) {
  1237. /**
  1238. * 允许 TTS 阅读(显示朗读按钮)
  1239. * @member
  1240. * @type {boolean}
  1241. */
  1242. this["tts"] = false;
  1243. }
  1244. if (!("interval" in $$source)) {
  1245. /**
  1246. * 自动换诗间隔(秒),0 表示不自动换
  1247. * @member
  1248. * @type {number}
  1249. */
  1250. this["interval"] = 0;
  1251. }
  1252. if (!("speed" in $$source)) {
  1253. /**
  1254. * 滚动速度(秒/轮),即滚动一个文本周期所需秒数,越小越快
  1255. * @member
  1256. * @type {number}
  1257. */
  1258. this["speed"] = 0;
  1259. }
  1260. Object.assign(this, $$source);
  1261. }
  1262. /**
  1263. * Creates a new PoemConfig instance from a string or object.
  1264. * @param {any} [$$source = {}]
  1265. * @returns {PoemConfig}
  1266. */
  1267. static createFrom($$source = {}) {
  1268. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1269. return new PoemConfig(/** @type {Partial<PoemConfig>} */($$parsedSource));
  1270. }
  1271. }
  1272. /**
  1273. * PoemData 一首古诗的完整数据(从接口解析)
  1274. */
  1275. export class PoemData {
  1276. /**
  1277. * Creates a new PoemData instance.
  1278. * @param {Partial<PoemData>} [$$source = {}] - The source object to create the PoemData.
  1279. */
  1280. constructor($$source = {}) {
  1281. if (!("title" in $$source)) {
  1282. /**
  1283. * 题目
  1284. * @member
  1285. * @type {string}
  1286. */
  1287. this["title"] = "";
  1288. }
  1289. if (!("author" in $$source)) {
  1290. /**
  1291. * 作者
  1292. * @member
  1293. * @type {string}
  1294. */
  1295. this["author"] = "";
  1296. }
  1297. if (!("dynasty" in $$source)) {
  1298. /**
  1299. * 朝代
  1300. * @member
  1301. * @type {string}
  1302. */
  1303. this["dynasty"] = "";
  1304. }
  1305. if (!("content" in $$source)) {
  1306. /**
  1307. * 每句诗(数组,按行显示)
  1308. * @member
  1309. * @type {string[]}
  1310. */
  1311. this["content"] = [];
  1312. }
  1313. if (!("type" in $$source)) {
  1314. /**
  1315. * 体裁,如 五言律诗
  1316. * @member
  1317. * @type {string}
  1318. */
  1319. this["type"] = "";
  1320. }
  1321. Object.assign(this, $$source);
  1322. }
  1323. /**
  1324. * Creates a new PoemData instance from a string or object.
  1325. * @param {any} [$$source = {}]
  1326. * @returns {PoemData}
  1327. */
  1328. static createFrom($$source = {}) {
  1329. const $$createField3_0 = $$createType0;
  1330. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1331. if ("content" in $$parsedSource) {
  1332. $$parsedSource["content"] = $$createField3_0($$parsedSource["content"]);
  1333. }
  1334. return new PoemData(/** @type {Partial<PoemData>} */($$parsedSource));
  1335. }
  1336. }
  1337. /**
  1338. * RecordItem 一条记录:姓名 + 名称 + 值 + 备注 + 录入时间,供记录 Tab 列表与柱状图使用
  1339. */
  1340. export class RecordItem {
  1341. /**
  1342. * Creates a new RecordItem instance.
  1343. * @param {Partial<RecordItem>} [$$source = {}] - The source object to create the RecordItem.
  1344. */
  1345. constructor($$source = {}) {
  1346. if (!("name" in $$source)) {
  1347. /**
  1348. * 姓名
  1349. * @member
  1350. * @type {string}
  1351. */
  1352. this["name"] = "";
  1353. }
  1354. if (!("item" in $$source)) {
  1355. /**
  1356. * 名称
  1357. * @member
  1358. * @type {string}
  1359. */
  1360. this["item"] = "";
  1361. }
  1362. if (!("value" in $$source)) {
  1363. /**
  1364. * 值
  1365. * @member
  1366. * @type {number}
  1367. */
  1368. this["value"] = 0;
  1369. }
  1370. if (!("remark" in $$source)) {
  1371. /**
  1372. * 备注(可选)
  1373. * @member
  1374. * @type {string}
  1375. */
  1376. this["remark"] = "";
  1377. }
  1378. if (!("createdAt" in $$source)) {
  1379. /**
  1380. * 录入时间 YYYY-MM-DD HH:MM:SS(前端新增时生成;为空时后端用当前时间)
  1381. * @member
  1382. * @type {string}
  1383. */
  1384. this["createdAt"] = "";
  1385. }
  1386. Object.assign(this, $$source);
  1387. }
  1388. /**
  1389. * Creates a new RecordItem instance from a string or object.
  1390. * @param {any} [$$source = {}]
  1391. * @returns {RecordItem}
  1392. */
  1393. static createFrom($$source = {}) {
  1394. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1395. return new RecordItem(/** @type {Partial<RecordItem>} */($$parsedSource));
  1396. }
  1397. }
  1398. /**
  1399. * ReleaseItem 一个 GitHub release 的简略信息,用于列出 Latest 之后的版本(Pre-release 等)
  1400. */
  1401. export class ReleaseItem {
  1402. /**
  1403. * Creates a new ReleaseItem instance.
  1404. * @param {Partial<ReleaseItem>} [$$source = {}] - The source object to create the ReleaseItem.
  1405. */
  1406. constructor($$source = {}) {
  1407. if (!("tagName" in $$source)) {
  1408. /**
  1409. * 版本标签,如 v1.3.0-beta.1
  1410. * @member
  1411. * @type {string}
  1412. */
  1413. this["tagName"] = "";
  1414. }
  1415. if (!("name" in $$source)) {
  1416. /**
  1417. * release 显示名称(标题),可能比 tag 更完整,如 "Rolling: v2.1.0-..."
  1418. * @member
  1419. * @type {string}
  1420. */
  1421. this["name"] = "";
  1422. }
  1423. if (!("url" in $$source)) {
  1424. /**
  1425. * release 详情页地址
  1426. * @member
  1427. * @type {string}
  1428. */
  1429. this["url"] = "";
  1430. }
  1431. if (!("isPrerelease" in $$source)) {
  1432. /**
  1433. * 是否预发布版本
  1434. * @member
  1435. * @type {boolean}
  1436. */
  1437. this["isPrerelease"] = false;
  1438. }
  1439. if (!("isDraft" in $$source)) {
  1440. /**
  1441. * 是否草稿版本
  1442. * @member
  1443. * @type {boolean}
  1444. */
  1445. this["isDraft"] = false;
  1446. }
  1447. if (!("publishedAt" in $$source)) {
  1448. /**
  1449. * 发布时间(MM-DD HH:MM)
  1450. * @member
  1451. * @type {string}
  1452. */
  1453. this["publishedAt"] = "";
  1454. }
  1455. Object.assign(this, $$source);
  1456. }
  1457. /**
  1458. * Creates a new ReleaseItem instance from a string or object.
  1459. * @param {any} [$$source = {}]
  1460. * @returns {ReleaseItem}
  1461. */
  1462. static createFrom($$source = {}) {
  1463. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1464. return new ReleaseItem(/** @type {Partial<ReleaseItem>} */($$parsedSource));
  1465. }
  1466. }
  1467. /**
  1468. * RepoFeed 一个 GitHub 仓库的最新提交摘要
  1469. */
  1470. export class RepoFeed {
  1471. /**
  1472. * Creates a new RepoFeed instance.
  1473. * @param {Partial<RepoFeed>} [$$source = {}] - The source object to create the RepoFeed.
  1474. */
  1475. constructor($$source = {}) {
  1476. if (!("url" in $$source)) {
  1477. /**
  1478. * 仓库地址(设置中配置)
  1479. * @member
  1480. * @type {string}
  1481. */
  1482. this["url"] = "";
  1483. }
  1484. if (!("desc" in $$source)) {
  1485. /**
  1486. * 项目说明
  1487. * @member
  1488. * @type {string}
  1489. */
  1490. this["desc"] = "";
  1491. }
  1492. if (!("repo" in $$source)) {
  1493. /**
  1494. * owner/repo 短名
  1495. * @member
  1496. * @type {string}
  1497. */
  1498. this["repo"] = "";
  1499. }
  1500. if (!("version" in $$source)) {
  1501. /**
  1502. * 本地已安装版本(设置中配置)
  1503. * @member
  1504. * @type {string}
  1505. */
  1506. this["version"] = "";
  1507. }
  1508. if (!("versionTime" in $$source)) {
  1509. /**
  1510. * 本地版本对应 release 的发布时间(MM-DD HH:MM),用于鼠标提示
  1511. * @member
  1512. * @type {string}
  1513. */
  1514. this["versionTime"] = "";
  1515. }
  1516. if (!("latest" in $$source)) {
  1517. /**
  1518. * 最新正式 release 版本号,无正式 release 时为空
  1519. * @member
  1520. * @type {string}
  1521. */
  1522. this["latest"] = "";
  1523. }
  1524. if (!("latestTime" in $$source)) {
  1525. /**
  1526. * 最新正式 release 发布时间(MM-DD HH:MM),用于鼠标提示
  1527. * @member
  1528. * @type {string}
  1529. */
  1530. this["latestTime"] = "";
  1531. }
  1532. if (!("hasUpdate" in $$source)) {
  1533. /**
  1534. * 是否存在可用更新(本地版本低于最新正式 release)
  1535. * @member
  1536. * @type {boolean}
  1537. */
  1538. this["hasUpdate"] = false;
  1539. }
  1540. if (!("releaseURL" in $$source)) {
  1541. /**
  1542. * 最新正式 release 的下载 / 详情页地址
  1543. * @member
  1544. * @type {string}
  1545. */
  1546. this["releaseURL"] = "";
  1547. }
  1548. if (!("newer" in $$source)) {
  1549. /**
  1550. * Latest 之后的版本(Pre-release 等,仅列出不参与更新比较)
  1551. * @member
  1552. * @type {ReleaseItem[]}
  1553. */
  1554. this["newer"] = [];
  1555. }
  1556. if (!("commits" in $$source)) {
  1557. /**
  1558. * 最近提交(最多 5 条)
  1559. * @member
  1560. * @type {CommitItem[]}
  1561. */
  1562. this["commits"] = [];
  1563. }
  1564. if (!("error" in $$source)) {
  1565. /**
  1566. * 抓取失败原因,为空表示正常
  1567. * @member
  1568. * @type {string}
  1569. */
  1570. this["error"] = "";
  1571. }
  1572. Object.assign(this, $$source);
  1573. }
  1574. /**
  1575. * Creates a new RepoFeed instance from a string or object.
  1576. * @param {any} [$$source = {}]
  1577. * @returns {RepoFeed}
  1578. */
  1579. static createFrom($$source = {}) {
  1580. const $$createField9_0 = $$createType17;
  1581. const $$createField10_0 = $$createType19;
  1582. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1583. if ("newer" in $$parsedSource) {
  1584. $$parsedSource["newer"] = $$createField9_0($$parsedSource["newer"]);
  1585. }
  1586. if ("commits" in $$parsedSource) {
  1587. $$parsedSource["commits"] = $$createField10_0($$parsedSource["commits"]);
  1588. }
  1589. return new RepoFeed(/** @type {Partial<RepoFeed>} */($$parsedSource));
  1590. }
  1591. }
  1592. /**
  1593. * RepoItem 关注的 GitHub 仓库条目
  1594. */
  1595. export class RepoItem {
  1596. /**
  1597. * Creates a new RepoItem instance.
  1598. * @param {Partial<RepoItem>} [$$source = {}] - The source object to create the RepoItem.
  1599. */
  1600. constructor($$source = {}) {
  1601. if (!("url" in $$source)) {
  1602. /**
  1603. * 仓库地址,如 https://github.com/wailsapp/wails
  1604. * @member
  1605. * @type {string}
  1606. */
  1607. this["url"] = "";
  1608. }
  1609. if (!("desc" in $$source)) {
  1610. /**
  1611. * 项目说明
  1612. * @member
  1613. * @type {string}
  1614. */
  1615. this["desc"] = "";
  1616. }
  1617. if (!("version" in $$source)) {
  1618. /**
  1619. * 本地已安装版本(用于与最新 release 比较),可为空
  1620. * @member
  1621. * @type {string}
  1622. */
  1623. this["version"] = "";
  1624. }
  1625. Object.assign(this, $$source);
  1626. }
  1627. /**
  1628. * Creates a new RepoItem instance from a string or object.
  1629. * @param {any} [$$source = {}]
  1630. * @returns {RepoItem}
  1631. */
  1632. static createFrom($$source = {}) {
  1633. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1634. return new RepoItem(/** @type {Partial<RepoItem>} */($$parsedSource));
  1635. }
  1636. }
  1637. /**
  1638. * StockQuote 单只股票的行情快照,供前端「股市」页展示
  1639. */
  1640. export class StockQuote {
  1641. /**
  1642. * Creates a new StockQuote instance.
  1643. * @param {Partial<StockQuote>} [$$source = {}] - The source object to create the StockQuote.
  1644. */
  1645. constructor($$source = {}) {
  1646. if (!("code" in $$source)) {
  1647. /**
  1648. * 带市场前缀的代码,如 sh600519
  1649. * @member
  1650. * @type {string}
  1651. */
  1652. this["code"] = "";
  1653. }
  1654. if (!("name" in $$source)) {
  1655. /**
  1656. * 股票名称
  1657. * @member
  1658. * @type {string}
  1659. */
  1660. this["name"] = "";
  1661. }
  1662. if (!("price" in $$source)) {
  1663. /**
  1664. * 当前价
  1665. * @member
  1666. * @type {number}
  1667. */
  1668. this["price"] = 0;
  1669. }
  1670. if (!("change" in $$source)) {
  1671. /**
  1672. * 涨跌额
  1673. * @member
  1674. * @type {number}
  1675. */
  1676. this["change"] = 0;
  1677. }
  1678. if (!("changePercent" in $$source)) {
  1679. /**
  1680. * 涨跌幅(%)
  1681. * @member
  1682. * @type {number}
  1683. */
  1684. this["changePercent"] = 0;
  1685. }
  1686. if (!("amount" in $$source)) {
  1687. /**
  1688. * 成交额(万元)
  1689. * @member
  1690. * @type {number}
  1691. */
  1692. this["amount"] = 0;
  1693. }
  1694. if (!("time" in $$source)) {
  1695. /**
  1696. * 行情时间 HH:MM:SS
  1697. * @member
  1698. * @type {string}
  1699. */
  1700. this["time"] = "";
  1701. }
  1702. Object.assign(this, $$source);
  1703. }
  1704. /**
  1705. * Creates a new StockQuote instance from a string or object.
  1706. * @param {any} [$$source = {}]
  1707. * @returns {StockQuote}
  1708. */
  1709. static createFrom($$source = {}) {
  1710. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1711. return new StockQuote(/** @type {Partial<StockQuote>} */($$parsedSource));
  1712. }
  1713. }
  1714. /**
  1715. * TickerConfig 置顶滚动条(股票 / 新闻)的显示配置
  1716. */
  1717. export class TickerConfig {
  1718. /**
  1719. * Creates a new TickerConfig instance.
  1720. * @param {Partial<TickerConfig>} [$$source = {}] - The source object to create the TickerConfig.
  1721. */
  1722. constructor($$source = {}) {
  1723. if (!("enabled" in $$source)) {
  1724. /**
  1725. * 是否显示滚动条窗口
  1726. * @member
  1727. * @type {boolean}
  1728. */
  1729. this["enabled"] = false;
  1730. }
  1731. if (!("width" in $$source)) {
  1732. /**
  1733. * 窗口宽度(px),0 表示默认 1400
  1734. * @member
  1735. * @type {number}
  1736. */
  1737. this["width"] = 0;
  1738. }
  1739. if (!("fontSize" in $$source)) {
  1740. /**
  1741. * 字号(px)
  1742. * @member
  1743. * @type {number}
  1744. */
  1745. this["fontSize"] = 0;
  1746. }
  1747. if (!("color" in $$source)) {
  1748. /**
  1749. * 文字颜色
  1750. * @member
  1751. * @type {string}
  1752. */
  1753. this["color"] = "";
  1754. }
  1755. if (!("speed" in $$source)) {
  1756. /**
  1757. * 滚动速度(px/s)
  1758. * @member
  1759. * @type {number}
  1760. */
  1761. this["speed"] = 0;
  1762. }
  1763. if (!("transparent" in $$source)) {
  1764. /**
  1765. * 背景透明,不遮挡下方内容
  1766. * @member
  1767. * @type {boolean}
  1768. */
  1769. this["transparent"] = false;
  1770. }
  1771. if (!("x" in $$source)) {
  1772. /**
  1773. * 窗口位置,-1 表示未设置(系统默认位置)
  1774. * @member
  1775. * @type {number}
  1776. */
  1777. this["x"] = 0;
  1778. }
  1779. if (!("y" in $$source)) {
  1780. /**
  1781. * 窗口位置,-1 表示未设置
  1782. * @member
  1783. * @type {number}
  1784. */
  1785. this["y"] = 0;
  1786. }
  1787. Object.assign(this, $$source);
  1788. }
  1789. /**
  1790. * Creates a new TickerConfig instance from a string or object.
  1791. * @param {any} [$$source = {}]
  1792. * @returns {TickerConfig}
  1793. */
  1794. static createFrom($$source = {}) {
  1795. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1796. return new TickerConfig(/** @type {Partial<TickerConfig>} */($$parsedSource));
  1797. }
  1798. }
  1799. /**
  1800. * TranslateResult 一次翻译的结果,供前端展示。
  1801. */
  1802. export class TranslateResult {
  1803. /**
  1804. * Creates a new TranslateResult instance.
  1805. * @param {Partial<TranslateResult>} [$$source = {}] - The source object to create the TranslateResult.
  1806. */
  1807. constructor($$source = {}) {
  1808. if (!("text" in $$source)) {
  1809. /**
  1810. * 翻译结果文本
  1811. * @member
  1812. * @type {string}
  1813. */
  1814. this["text"] = "";
  1815. }
  1816. if (!("detected" in $$source)) {
  1817. /**
  1818. * 检测到的源语言(zh / en)
  1819. * @member
  1820. * @type {string}
  1821. */
  1822. this["detected"] = "";
  1823. }
  1824. if (!("target" in $$source)) {
  1825. /**
  1826. * 目标语言(zh / en)
  1827. * @member
  1828. * @type {string}
  1829. */
  1830. this["target"] = "";
  1831. }
  1832. Object.assign(this, $$source);
  1833. }
  1834. /**
  1835. * Creates a new TranslateResult instance from a string or object.
  1836. * @param {any} [$$source = {}]
  1837. * @returns {TranslateResult}
  1838. */
  1839. static createFrom($$source = {}) {
  1840. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1841. return new TranslateResult(/** @type {Partial<TranslateResult>} */($$parsedSource));
  1842. }
  1843. }
  1844. /**
  1845. * TrendingRepo 一个热门仓库条目(来源可为 GitHub Trending 或 HelloGitHub)
  1846. */
  1847. export class TrendingRepo {
  1848. /**
  1849. * Creates a new TrendingRepo instance.
  1850. * @param {Partial<TrendingRepo>} [$$source = {}] - The source object to create the TrendingRepo.
  1851. */
  1852. constructor($$source = {}) {
  1853. if (!("name" in $$source)) {
  1854. /**
  1855. * owner/repo 短名
  1856. * @member
  1857. * @type {string}
  1858. */
  1859. this["name"] = "";
  1860. }
  1861. if (!("url" in $$source)) {
  1862. /**
  1863. * 仓库主页地址(GitHub 直链)
  1864. * @member
  1865. * @type {string}
  1866. */
  1867. this["url"] = "";
  1868. }
  1869. if (!("desc" in $$source)) {
  1870. /**
  1871. * 简介(英文已自动翻译为中文,翻译失败保留原文)
  1872. * @member
  1873. * @type {string}
  1874. */
  1875. this["desc"] = "";
  1876. }
  1877. if (!("lang" in $$source)) {
  1878. /**
  1879. * 主要语言,无则空
  1880. * @member
  1881. * @type {string}
  1882. */
  1883. this["lang"] = "";
  1884. }
  1885. if (!("stars" in $$source)) {
  1886. /**
  1887. * 总星数(如 "106,375")
  1888. * @member
  1889. * @type {string}
  1890. */
  1891. this["stars"] = "";
  1892. }
  1893. if (!("todayStars" in $$source)) {
  1894. /**
  1895. * 今日新增星数(如 "1,140",无则空)
  1896. * @member
  1897. * @type {string}
  1898. */
  1899. this["todayStars"] = "";
  1900. }
  1901. if (!("forks" in $$source)) {
  1902. /**
  1903. * fork 数(如 "9,365",无则空)
  1904. * @member
  1905. * @type {string}
  1906. */
  1907. this["forks"] = "";
  1908. }
  1909. if (!("source" in $$source)) {
  1910. /**
  1911. * 来源:"github"(GitHub Trending)/ "hellogithub"
  1912. * @member
  1913. * @type {string}
  1914. */
  1915. this["source"] = "";
  1916. }
  1917. if (!("heat" in $$source)) {
  1918. /**
  1919. * 热度(HelloGitHub 点击量,其它来源为空)
  1920. * @member
  1921. * @type {string}
  1922. */
  1923. this["heat"] = "";
  1924. }
  1925. Object.assign(this, $$source);
  1926. }
  1927. /**
  1928. * Creates a new TrendingRepo instance from a string or object.
  1929. * @param {any} [$$source = {}]
  1930. * @returns {TrendingRepo}
  1931. */
  1932. static createFrom($$source = {}) {
  1933. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  1934. return new TrendingRepo(/** @type {Partial<TrendingRepo>} */($$parsedSource));
  1935. }
  1936. }
  1937. /**
  1938. * WebServiceInfo 描述一次 Web 服务运行实例的状态,供前端展示。
  1939. */
  1940. export class WebServiceInfo {
  1941. /**
  1942. * Creates a new WebServiceInfo instance.
  1943. * @param {Partial<WebServiceInfo>} [$$source = {}] - The source object to create the WebServiceInfo.
  1944. */
  1945. constructor($$source = {}) {
  1946. if (!("running" in $$source)) {
  1947. /**
  1948. * 是否运行中
  1949. * @member
  1950. * @type {boolean}
  1951. */
  1952. this["running"] = false;
  1953. }
  1954. if (!("dir" in $$source)) {
  1955. /**
  1956. * 服务目录
  1957. * @member
  1958. * @type {string}
  1959. */
  1960. this["dir"] = "";
  1961. }
  1962. if (!("url" in $$source)) {
  1963. /**
  1964. * 访问地址 http://127.0.0.1:port/
  1965. * @member
  1966. * @type {string}
  1967. */
  1968. this["url"] = "";
  1969. }
  1970. if (!("indexName" in $$source)) {
  1971. /**
  1972. * 实际用作默认页的文件(index.html / readme.md / 空)
  1973. * @member
  1974. * @type {string}
  1975. */
  1976. this["indexName"] = "";
  1977. }
  1978. if (!("startedAt" in $$source)) {
  1979. /**
  1980. * 启动时间
  1981. * @member
  1982. * @type {string}
  1983. */
  1984. this["startedAt"] = "";
  1985. }
  1986. if (!("error" in $$source)) {
  1987. /**
  1988. * 最近一次错误
  1989. * @member
  1990. * @type {string}
  1991. */
  1992. this["error"] = "";
  1993. }
  1994. if (!("connections" in $$source)) {
  1995. /**
  1996. * 累计请求次数
  1997. * @member
  1998. * @type {number}
  1999. */
  2000. this["connections"] = 0;
  2001. }
  2002. Object.assign(this, $$source);
  2003. }
  2004. /**
  2005. * Creates a new WebServiceInfo instance from a string or object.
  2006. * @param {any} [$$source = {}]
  2007. * @returns {WebServiceInfo}
  2008. */
  2009. static createFrom($$source = {}) {
  2010. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  2011. return new WebServiceInfo(/** @type {Partial<WebServiceInfo>} */($$parsedSource));
  2012. }
  2013. }
  2014. /**
  2015. * YTDLPConfig 是「视频下载」的配置。
  2016. */
  2017. export class YTDLPConfig {
  2018. /**
  2019. * Creates a new YTDLPConfig instance.
  2020. * @param {Partial<YTDLPConfig>} [$$source = {}] - The source object to create the YTDLPConfig.
  2021. */
  2022. constructor($$source = {}) {
  2023. if (!("dir" in $$source)) {
  2024. /**
  2025. * 下载保存目录,空=程序当前工作目录
  2026. * @member
  2027. * @type {string}
  2028. */
  2029. this["dir"] = "";
  2030. }
  2031. if (!("mp3Quality" in $$source)) {
  2032. /**
  2033. * mp3 转换质量:0-9(VBR,0 最好)或 128K/192K/320K,默认 0
  2034. * @member
  2035. * @type {string}
  2036. */
  2037. this["mp3Quality"] = "";
  2038. }
  2039. Object.assign(this, $$source);
  2040. }
  2041. /**
  2042. * Creates a new YTDLPConfig instance from a string or object.
  2043. * @param {any} [$$source = {}]
  2044. * @returns {YTDLPConfig}
  2045. */
  2046. static createFrom($$source = {}) {
  2047. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  2048. return new YTDLPConfig(/** @type {Partial<YTDLPConfig>} */($$parsedSource));
  2049. }
  2050. }
  2051. /**
  2052. * YTDLPInfo 描述本机 yt-dlp 的可用性,用于前端决定是否展示工具卡片。
  2053. */
  2054. export class YTDLPInfo {
  2055. /**
  2056. * Creates a new YTDLPInfo instance.
  2057. * @param {Partial<YTDLPInfo>} [$$source = {}] - The source object to create the YTDLPInfo.
  2058. */
  2059. constructor($$source = {}) {
  2060. if (!("available" in $$source)) {
  2061. /**
  2062. * PATH 中是否找到 yt-dlp
  2063. * @member
  2064. * @type {boolean}
  2065. */
  2066. this["available"] = false;
  2067. }
  2068. if (!("path" in $$source)) {
  2069. /**
  2070. * yt-dlp 可执行文件路径
  2071. * @member
  2072. * @type {string}
  2073. */
  2074. this["path"] = "";
  2075. }
  2076. if (!("version" in $$source)) {
  2077. /**
  2078. * 版本信息(yt-dlp --version 输出)
  2079. * @member
  2080. * @type {string}
  2081. */
  2082. this["version"] = "";
  2083. }
  2084. if (!("ffmpeg" in $$source)) {
  2085. /**
  2086. * PATH 中是否找到 ffmpeg(用于「下载转 mp3」)
  2087. * @member
  2088. * @type {boolean}
  2089. */
  2090. this["ffmpeg"] = false;
  2091. }
  2092. Object.assign(this, $$source);
  2093. }
  2094. /**
  2095. * Creates a new YTDLPInfo instance from a string or object.
  2096. * @param {any} [$$source = {}]
  2097. * @returns {YTDLPInfo}
  2098. */
  2099. static createFrom($$source = {}) {
  2100. let $$parsedSource = typeof $$source === 'string' ? JSON.parse($$source) : $$source;
  2101. return new YTDLPInfo(/** @type {Partial<YTDLPInfo>} */($$parsedSource));
  2102. }
  2103. }
  2104. // Private type creation functions
  2105. const $$createType0 = $Create.Array($Create.Any);
  2106. const $$createType1 = LinkItem.createFrom;
  2107. const $$createType2 = $Create.Array($$createType1);
  2108. const $$createType3 = RepoItem.createFrom;
  2109. const $$createType4 = $Create.Array($$createType3);
  2110. const $$createType5 = CustomTab.createFrom;
  2111. const $$createType6 = $Create.Array($$createType5);
  2112. const $$createType7 = TickerConfig.createFrom;
  2113. const $$createType8 = PoemConfig.createFrom;
  2114. const $$createType9 = MouseAlertConfig.createFrom;
  2115. const $$createType10 = LocalSendConfig.createFrom;
  2116. const $$createType11 = CrocConfig.createFrom;
  2117. const $$createType12 = YTDLPConfig.createFrom;
  2118. const $$createType13 = MemosConfig.createFrom;
  2119. const $$createType14 = MinutePoint.createFrom;
  2120. const $$createType15 = $Create.Array($$createType14);
  2121. const $$createType16 = ReleaseItem.createFrom;
  2122. const $$createType17 = $Create.Array($$createType16);
  2123. const $$createType18 = CommitItem.createFrom;
  2124. const $$createType19 = $Create.Array($$createType18);