@webnovel-proxy/schemas 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +12 -10
- package/dist/index.js +2 -2
- package/dist/index.js.map +5 -4
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -58,7 +58,6 @@ export declare const Creator: z.ZodObject<{
|
|
|
58
58
|
primary: boolean;
|
|
59
59
|
}[]>>;
|
|
60
60
|
roles: z.ZodArray<z.ZodEnum<{
|
|
61
|
-
nan: "nan";
|
|
62
61
|
abr: "abr";
|
|
63
62
|
acp: "acp";
|
|
64
63
|
act: "act";
|
|
@@ -242,6 +241,7 @@ export declare const Creator: z.ZodObject<{
|
|
|
242
241
|
mup: "mup";
|
|
243
242
|
mus: "mus";
|
|
244
243
|
mxe: "mxe";
|
|
244
|
+
nan: "nan";
|
|
245
245
|
nrt: "nrt";
|
|
246
246
|
onp: "onp";
|
|
247
247
|
opn: "opn";
|
|
@@ -474,7 +474,6 @@ export type WebNovelComCreatorId = z.infer<typeof WebNovelComCreatorId>;
|
|
|
474
474
|
export declare const BCP47LanguageTag: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
475
475
|
export type BCP47LanguageTag = z.infer<typeof BCP47LanguageTag>;
|
|
476
476
|
export declare const Relator: z.ZodEnum<{
|
|
477
|
-
nan: "nan";
|
|
478
477
|
abr: "abr";
|
|
479
478
|
acp: "acp";
|
|
480
479
|
act: "act";
|
|
@@ -658,6 +657,7 @@ export declare const Relator: z.ZodEnum<{
|
|
|
658
657
|
mup: "mup";
|
|
659
658
|
mus: "mus";
|
|
660
659
|
mxe: "mxe";
|
|
660
|
+
nan: "nan";
|
|
661
661
|
nrt: "nrt";
|
|
662
662
|
onp: "onp";
|
|
663
663
|
opn: "opn";
|
|
@@ -797,7 +797,7 @@ export declare const WebNovelChapterContent: z.ZodObject<{
|
|
|
797
797
|
}, z.core.$strip>;
|
|
798
798
|
export type WebNovelChapterContent = z.infer<typeof WebNovelChapterContent>;
|
|
799
799
|
export declare const WebNovelChapter: z.ZodObject<{
|
|
800
|
-
internalIdentifier: z.ZodPipe<z.ZodString, z.ZodTransform<string, string
|
|
800
|
+
internalIdentifier: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
801
801
|
externalIdentifiers: z.ZodArray<z.ZodObject<{
|
|
802
802
|
provider: z.ZodEnum<{
|
|
803
803
|
"webnovel.com": "webnovel.com";
|
|
@@ -875,7 +875,6 @@ export declare const WebNovelChapter: z.ZodObject<{
|
|
|
875
875
|
primary: boolean;
|
|
876
876
|
}[]>>;
|
|
877
877
|
roles: z.ZodArray<z.ZodEnum<{
|
|
878
|
-
nan: "nan";
|
|
879
878
|
abr: "abr";
|
|
880
879
|
acp: "acp";
|
|
881
880
|
act: "act";
|
|
@@ -1059,6 +1058,7 @@ export declare const WebNovelChapter: z.ZodObject<{
|
|
|
1059
1058
|
mup: "mup";
|
|
1060
1059
|
mus: "mus";
|
|
1061
1060
|
mxe: "mxe";
|
|
1061
|
+
nan: "nan";
|
|
1062
1062
|
nrt: "nrt";
|
|
1063
1063
|
onp: "onp";
|
|
1064
1064
|
opn: "opn";
|
|
@@ -1187,6 +1187,7 @@ export declare const WebNovelChapter: z.ZodObject<{
|
|
|
1187
1187
|
}, z.core.$strip>;
|
|
1188
1188
|
export type WebNovelChapter = z.infer<typeof WebNovelChapter>;
|
|
1189
1189
|
export declare const WebNovelVolume: z.ZodObject<{
|
|
1190
|
+
internalIdentifier: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
1190
1191
|
externalIdentifiers: z.ZodArray<z.ZodObject<{
|
|
1191
1192
|
provider: z.ZodEnum<{
|
|
1192
1193
|
"webnovel.com": "webnovel.com";
|
|
@@ -1228,7 +1229,7 @@ export declare const WebNovelVolume: z.ZodObject<{
|
|
|
1228
1229
|
createdAt: z.ZodNullable<z.ZodCustom<`${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`, `${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`>>;
|
|
1229
1230
|
updatedAt: z.ZodNullable<z.ZodCustom<`${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`, `${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`>>;
|
|
1230
1231
|
chapters: z.ZodArray<z.ZodObject<{
|
|
1231
|
-
internalIdentifier: z.ZodPipe<z.ZodString, z.ZodTransform<string, string
|
|
1232
|
+
internalIdentifier: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
1232
1233
|
externalIdentifiers: z.ZodArray<z.ZodObject<{
|
|
1233
1234
|
provider: z.ZodEnum<{
|
|
1234
1235
|
"webnovel.com": "webnovel.com";
|
|
@@ -1306,7 +1307,6 @@ export declare const WebNovelVolume: z.ZodObject<{
|
|
|
1306
1307
|
primary: boolean;
|
|
1307
1308
|
}[]>>;
|
|
1308
1309
|
roles: z.ZodArray<z.ZodEnum<{
|
|
1309
|
-
nan: "nan";
|
|
1310
1310
|
abr: "abr";
|
|
1311
1311
|
acp: "acp";
|
|
1312
1312
|
act: "act";
|
|
@@ -1490,6 +1490,7 @@ export declare const WebNovelVolume: z.ZodObject<{
|
|
|
1490
1490
|
mup: "mup";
|
|
1491
1491
|
mus: "mus";
|
|
1492
1492
|
mxe: "mxe";
|
|
1493
|
+
nan: "nan";
|
|
1493
1494
|
nrt: "nrt";
|
|
1494
1495
|
onp: "onp";
|
|
1495
1496
|
opn: "opn";
|
|
@@ -1619,7 +1620,7 @@ export declare const WebNovelVolume: z.ZodObject<{
|
|
|
1619
1620
|
}, z.core.$strip>;
|
|
1620
1621
|
export type WebNovelVolume = z.infer<typeof WebNovelVolume>;
|
|
1621
1622
|
export declare const WebNovel: z.ZodObject<{
|
|
1622
|
-
internalIdentifier: z.ZodPipe<z.ZodString, z.ZodTransform<string, string
|
|
1623
|
+
internalIdentifier: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
1623
1624
|
externalIdentifiers: z.ZodArray<z.ZodObject<{
|
|
1624
1625
|
provider: z.ZodEnum<{
|
|
1625
1626
|
"webnovel.com": "webnovel.com";
|
|
@@ -1716,7 +1717,6 @@ export declare const WebNovel: z.ZodObject<{
|
|
|
1716
1717
|
primary: boolean;
|
|
1717
1718
|
}[]>>;
|
|
1718
1719
|
roles: z.ZodArray<z.ZodEnum<{
|
|
1719
|
-
nan: "nan";
|
|
1720
1720
|
abr: "abr";
|
|
1721
1721
|
acp: "acp";
|
|
1722
1722
|
act: "act";
|
|
@@ -1900,6 +1900,7 @@ export declare const WebNovel: z.ZodObject<{
|
|
|
1900
1900
|
mup: "mup";
|
|
1901
1901
|
mus: "mus";
|
|
1902
1902
|
mxe: "mxe";
|
|
1903
|
+
nan: "nan";
|
|
1903
1904
|
nrt: "nrt";
|
|
1904
1905
|
onp: "onp";
|
|
1905
1906
|
opn: "opn";
|
|
@@ -2084,6 +2085,7 @@ export declare const WebNovel: z.ZodObject<{
|
|
|
2084
2085
|
createdAt: z.ZodNullable<z.ZodCustom<`${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`, `${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`>>;
|
|
2085
2086
|
updatedAt: z.ZodNullable<z.ZodCustom<`${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`, `${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`>>;
|
|
2086
2087
|
volumes: z.ZodArray<z.ZodObject<{
|
|
2088
|
+
internalIdentifier: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
2087
2089
|
externalIdentifiers: z.ZodArray<z.ZodObject<{
|
|
2088
2090
|
provider: z.ZodEnum<{
|
|
2089
2091
|
"webnovel.com": "webnovel.com";
|
|
@@ -2125,7 +2127,7 @@ export declare const WebNovel: z.ZodObject<{
|
|
|
2125
2127
|
createdAt: z.ZodNullable<z.ZodCustom<`${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`, `${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`>>;
|
|
2126
2128
|
updatedAt: z.ZodNullable<z.ZodCustom<`${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`, `${number}` | `${number}-${number}` | `${number}-${number}-${number}` | `${number}-${number}-${number}T${number}:${number}:${number}Z`>>;
|
|
2127
2129
|
chapters: z.ZodArray<z.ZodObject<{
|
|
2128
|
-
internalIdentifier: z.ZodPipe<z.ZodString, z.ZodTransform<string, string
|
|
2130
|
+
internalIdentifier: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
|
|
2129
2131
|
externalIdentifiers: z.ZodArray<z.ZodObject<{
|
|
2130
2132
|
provider: z.ZodEnum<{
|
|
2131
2133
|
"webnovel.com": "webnovel.com";
|
|
@@ -2203,7 +2205,6 @@ export declare const WebNovel: z.ZodObject<{
|
|
|
2203
2205
|
primary: boolean;
|
|
2204
2206
|
}[]>>;
|
|
2205
2207
|
roles: z.ZodArray<z.ZodEnum<{
|
|
2206
|
-
nan: "nan";
|
|
2207
2208
|
abr: "abr";
|
|
2208
2209
|
acp: "acp";
|
|
2209
2210
|
act: "act";
|
|
@@ -2387,6 +2388,7 @@ export declare const WebNovel: z.ZodObject<{
|
|
|
2387
2388
|
mup: "mup";
|
|
2388
2389
|
mus: "mus";
|
|
2389
2390
|
mxe: "mxe";
|
|
2391
|
+
nan: "nan";
|
|
2390
2392
|
nrt: "nrt";
|
|
2391
2393
|
onp: "onp";
|
|
2392
2394
|
opn: "opn";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import s from"zod";var z=s.object({uid:s.string().regex(/^\d+$/).max(64),ukey:s.string().regex(/^[a-zA-Z0-9]+$/).max(64)}),N=s.string().regex(/^n\/\d+$/,"Invalid WebNovel novel ID"),y=s.string().regex(/^n\/\d+\/c\/\d+$/,"Invalid WebNovel novel chapter ID"),W=s.string().regex(/^c\/\d+$/,"Invalid WebNovel creator ID");import T from"zod";import A from"zod";var v=A.string().regex(/^n\/[a-zA-Z0-9_-]+$/,"Invalid HostedNovel novel ID"),w=A.string().regex(/^n\/[a-zA-Z0-9_-]+\/c\/[a-zA-Z0-9_-]+$/,"Invalid HostedNovel novel chapter ID"),j=A.string().regex(/^c\/[a-zA-Z0-9_-]+$/,"Invalid HostedNovel creator ID");import $ from"zod";var I=$.string().regex(/^n\/[a-zA-Z0-9_-]+$/,"Invalid NovelFire novel ID"),h=$.string().regex(/^n\/[a-zA-Z0-9_-]+\/c\/[a-zA-Z0-9_-]+$/,"Invalid NovelFire novel chapter ID");var P=T.enum(["webnovel.com","novelfire.net","hostednovel.com"]),b=T.object({provider:P,id:T.union([N,y,W,I,h,v,w,j])}),O=T.enum(["qidian.com","ciweimao.com"]);import M from"language-tags";import B from"zod";var f=B.string().refine((r)=>M(r).valid(),{error:(r)=>`Invalid Language Tag: ${M(String(r?.input??"")).errors().join(";")}`}).transform((r)=>String(M(r).format()));var D=["abr","acp","act","adi","adp","aft","anc","anl","anm","ann","ant","ape","apl","app","aqt","arc","ard","arr","art","asg","asn","ato","att","auc","aud","aue","aui","aup","aus","aut","bdd","bjd","bka","bkd","bkp","blw","bnd","bpd","brd","brl","bsl","cad","cas","ccp","chr","cli","cll","clr","clt","cmm","cmp","cmt","cnd","cng","cns","coe","col","com","con","cop","cor","cos","cot","cou","cov","cpc","cpe","cph","cpl","cpt","cre","crp","crr","crt","csl","csp","cst","ctb","cte","ctg","ctr","cts","ctt","cur","cwt","dbd","dbp","dfd","dfe","dft","dgc","dgg","dgs","dis","djo","dln","dnc","dnr","dpc","dpt","drm","drt","dsr","dst","dtc","dte","dtm","dto","dub","edc","edd","edm","edt","egr","elg","elt","eng","enj","etr","evp","exp","fac","fds","fld","flm","fmd","fmk","fmo","fmp","fnd","fon","fpy","frg","gdv","gis","his","hnr","hst","ill","ilu","ink","ins","inv","isb","itr","ive","ivr","jud","jug","lbr","lbt","ldr","led","lee","lel","len","let","lgd","lie","lil","lit","lsa","lse","lso","ltg","ltr","lyr","mcp","mdc","med","mfp","mfr","mka","mod","mon","mrb","mrk","msd","mte","mtk","mup","mus","mxe","nan","nrt","onp","opn","org","orm","osp","oth","own","pad","pan","pat","pbd","pbl","pdr","pfr","pht","plt","pma","pmn","pnc","pop","ppm","ppt","pra","prc","prd","pre","prf","prg","prm","prn","pro","prp","prs","prt","prv","pta","pte","ptf","pth","ptt","pup","rap","rbr","rcd","rce","rcp","rdd","red","ren","res","rev","rpc","rps","rpt","rpy","rse","rsg","rsp","rsr","rst","rth","rtm","rxa","sad","sce","scl","scr","sde","sds","sec","sfx","sgd","sgn","sht","sll","sng","spk","spn","spy","srv","std","stg","stl","stm","stn","str","swd","tad","tau","tcd","tch","ths","tld","tlg","tlh","tlp","trc","trl","tyd","tyg","uvp","vac","vdg","vfx","voc","wac","wal","wam","wat","waw","wdc","wde","wfs","wft","wfw","win","wit","wpr","wst","wts"];import G from"zod";var V=G.enum(D);import{Mime as J}from"mime/lite";import K from"mime/types/other.js";import Q from"mime/types/standard.js";var q=new J().define({...Q,...K});import{Temporal as E}from"temporal-polyfill";import k from"zod";var m=k.string({error:(r)=>`Not a string: "${typeof r?.input}"`}).transform((r)=>r.trim()).refine((r)=>r!=="","String must not be empty"),jr=k.string({error:(r)=>`Not a string: "${typeof r?.input}"`}).transform((r)=>r.trim()).transform((r)=>r===""?null:r),i=k.custom((r)=>{return typeof r==="string"&&/^(\d{4})(-\d{2})?(-\d{2})?(T\d{2}:\d{2}:\d{2}Z)?$/.test(r)}).refine((r)=>{if(r.indexOf("T")>0)try{return E.Instant.from(r),!0}catch{return!1}else{let o=r.split("-");if(o.length>3)return!1;else if(o.length===3)try{return E.PlainDate.from(r),!0}catch{return!1}else if(o.length===2)try{return E.PlainDate.from(r+"-01"),!0}catch{return!1}else if(o.length===1)try{return E.PlainDate.from(r+"-01-01"),!0}catch{return!1}return!1}},{error:(r)=>`Date "${String(r?.input??"").substring(0,20)}" is invalid`}),H=k.coerce.string().refine((r)=>q.getExtension(r)!==null,{error:(r)=>`Invalid MIME type "${String(r.input)}"`}).transform((r)=>r.toLocaleLowerCase().trim());function c(r){let o=r.filter((a)=>a.primary===!0).length;if(o>1){let a=r.findIndex((p)=>p.primary===!0);return r.map((p,t)=>{return p.primary=t===a,p})}if(o===0&&typeof r[0]<"u")return r[0].primary=!0,r;return r}import n from"zod";var u=n.object({language:f.nullable().default(null),value:m,type:n.enum(["plain","markdown","html"]).nullable().default(null),primary:n.boolean().default(!1)}),X=n.object({displayName:m,givenName:m.nullable(),middleName:m.nullable(),familyName:m.nullable(),primary:n.boolean().default(!1)}),S=n.object({externalIdentifiers:n.array(b),names:n.array(X).min(1).transform(c),roles:n.array(V)}),Y=n.enum(["cover","backdrop","spine","back"]),Z=n.intersection(n.object({type:Y,height:n.int().min(1).nullable(),width:n.int().min(1).nullable(),language:f.nullable().default(null),primary:n.boolean().default(!1),mediaType:H.pipe(n.string().startsWith("image/")).nullable()}),n.union([n.object({provider:P,id:m}),n.object({provider:n.null(),id:n.url()})]));import l from"zod";var Zr=l.object({originalHTML:l.array(m),originalHTMLSize:l.int().min(0),generatedMarkdown:m,generatedMarkdownSize:l.int().min(0)}),C=l.object({internalIdentifier:m,externalIdentifiers:l.array(b).min(1),volumeNumber:l.number().min(0).nullable(),number:l.number().min(0),names:l.array(u).min(1).transform(c),creators:l.array(S),createdAt:i.nullable(),updatedAt:i.nullable()}),F=l.object({externalIdentifiers:l.array(b),number:l.number().min(0),names:l.array(u).transform(c),createdAt:i.nullable(),updatedAt:i.nullable(),chapters:l.array(C)}),gr=l.object({internalIdentifier:m,externalIdentifiers:l.array(b).min(1),names:l.array(u).min(1).transform(c),language:f,overviews:l.array(u).transform(c),creators:l.array(S),images:l.array(Z).transform(c),originalLanguage:f.nullable(),originalSource:O.nullable(),isComplete:l.boolean().nullable(),createdAt:i.nullable(),updatedAt:i.nullable(),volumes:l.array(F)});function Gr(r){let o=r.find((a)=>a.primary===!0);if(typeof o<"u")return o;return r?.[0]??void 0}function Jr(r){let o=r.find((a)=>a.primary===!0);if(typeof o<"u")return o;return r?.[0]??void 0}import d from"zod";function Fr(r){if(r.provider==="webnovel.com"){let o=N.safeParse(r.id)?.data??void 0,a=y.safeParse(r.id)?.data??void 0,p=W.safeParse(r.id)?.data??void 0,t="https://www.webnovel.com";if(typeof o==="string")return new URL(`/book/${o.substring(2)}`,"https://www.webnovel.com");else if(typeof a==="string"){let e=a.split("/");return new URL(`/book/${e[1]}/${e[3]}`,"https://www.webnovel.com")}else if(typeof p==="string")return new URL(`/profile/${p.substring(2)}`,"https://www.webnovel.com")}else if(r.provider==="novelfire.net"){let o=I.safeParse(r.id)?.data??void 0,a=h.safeParse(r.id)?.data??void 0,p="https://novelfire.net";if(typeof o==="string")return new URL(`/book/${o.substring(2)}`,"https://novelfire.net");else if(typeof a==="string"){let t=a.split("/");return new URL(`/book/${t[1]}/${t[3]}`,"https://novelfire.net")}}else if(r.provider==="hostednovel.com"){let o=v.safeParse(r.id)?.data??void 0,a=w.safeParse(r.id)?.data??void 0,p=j.safeParse(r.id)?.data??void 0,t="https://hostednovel.com";if(typeof o==="string")return new URL(`/novel/${o.substring(2)}`,"https://hostednovel.com");else if(typeof a==="string"){let e=a.split("/");return new URL(`/novel/${e[1]}/${e[3]}`,"https://hostednovel.com")}else if(typeof p==="string")return new URL(`/creator/${p.substring(2)}`,"https://hostednovel.com")}return}var g=d.object({imageProxy:d.literal("wsrv.nl"),output:d.enum(["jpg","jxl","png","gif","tiff","webp","original"]).default("original").optional(),quality:d.int().min(1).max(100).default(80).optional(),default:d.url().optional(),lossless:d.boolean().optional(),compressionLevel:d.int().min(0).max(9).default(6).optional(),width:d.int().min(1).max(Number.MAX_SAFE_INTEGER).optional(),height:d.int().min(1).max(Number.MAX_SAFE_INTEGER).optional(),devicePixelRatio:d.int().min(1).max(8).optional(),fit:d.enum(["inside","outside","cover","fill","contain"]).optional(),withoutEnlargement:d.boolean().default(!0).optional(),alignmentPosition:d.enum(["top","right","bottom","left","top-left","bottom-left","bottom-right","top-right","center","entropy","attention"]).default("center").optional()}),x=d.discriminatedUnion("imageProxy",[d.object({imageProxy:d.literal(!1)}),g]);function xr(r,o={imageProxy:!1}){let a=x.parse(o),p=void 0;if(r.provider==="webnovel.com"){if(/^n\/\d+(\/\d+)?/.test(r.id)){let t=r.id.split("/");if(p=new URL(`/bookcover/${t[1]}`,"https://book-pic.webnovel.com"),p.searchParams.set("imageMogr2/thumbnail/600x",""),typeof t?.[2]==="string")p.searchParams.set("imageId",t[2])}}if(typeof p>"u")return;if(a.imageProxy==="wsrv.nl"){let t=new URL("https://wsrv.nl");t.searchParams.set("url",p.toString());let e=g.parse(a);if(typeof e?.width==="number")t.searchParams.set("w",e.width.toString());else if(typeof r?.width==="number")t.searchParams.set("w",r.width.toString());if(typeof e?.height==="number")t.searchParams.set("h",e.height.toString());else if(typeof r?.height==="number")t.searchParams.set("h",r.height.toString());if(typeof e?.devicePixelRatio==="number")t.searchParams.set("dpr",e.devicePixelRatio.toString());if(typeof e?.fit==="string")t.searchParams.set("fit",e.fit);if(typeof e?.withoutEnlargement==="boolean"&&e.withoutEnlargement===!0)t.searchParams.set("we","true");if(typeof e?.alignmentPosition==="string")t.searchParams.set("a",e.alignmentPosition);if(typeof e?.compressionLevel==="number")t.searchParams.set("l",e.compressionLevel.toString());if(typeof e?.lossless==="boolean"&&e.lossless===!0)t.searchParams.set("ll","true");if(typeof e?.default==="string")t.searchParams.set("default",e.default);if(typeof e?.output==="string"&&e.output!=="original")t.searchParams.set("output",e.output);if(typeof e?.quality==="number")t.searchParams.set("q",e.quality.toString());return t}return p}export{xr as webNovelImageToURL,Fr as webNovelExternalIdentifierToURL,q as mime,Gr as getPrimaryTranslation,Jr as getPrimaryImage,F as WebNovelVolume,N as WebNovelComNovelId,y as WebNovelComNovelChapterId,W as WebNovelComCreatorId,z as WebNovelComAuth,Zr as WebNovelChapterContent,C as WebNovelChapter,gr as WebNovel,u as Translation,V as Relator,X as PersonalName,i as PartialDateTime,O as OriginalSource,jr as NullableNonEmptyString,I as NovelFireNetNovelId,h as NovelFireNetNovelChapterId,m as NonEmptyString,H as Mime,Y as ImageType,Z as Image,v as HostedNovelComNovelId,w as HostedNovelComNovelChapterId,j as HostedNovelComCreatorId,P as ExternalProvider,b as ExternalIdentifier,S as Creator,f as BCP47LanguageTag};
|
|
1
|
+
var B=Object.defineProperty;var G=(e,t)=>{for(var a in t)B(e,a,{get:t[a],enumerable:!0,configurable:!0,set:(l)=>t[a]=()=>l})};var M={};G(M,{default:()=>J});var J={abr:"abridger",acp:"art copyist",act:"actor",adi:"art director",adp:"adapter",aft:"author of afterword, colophon, etc.",anc:"announcer",anl:"analyst",anm:"animator",ann:"annotator",ant:"bibliographic antecedent",ape:"appellee",apl:"appellant",app:"applicant",aqt:"author in quotations or text abstracts",arc:"architect",ard:"artistic director",arr:"arranger",art:"artist",asg:"assignee",asn:"associated name",ato:"autographer",att:"attributed name",auc:"auctioneer",aud:"author of dialog",aue:"audio engineer",aui:"author of introduction, etc.",aup:"audio producer",aus:"screenwriter",aut:"author",bdd:"binding designer",bjd:"bookjacket designer",bka:"book artist",bkd:"book designer",bkp:"book producer",blw:"blurb writer",bnd:"binder",bpd:"bookplate designer",brd:"broadcaster",brl:"braille embosser",bsl:"bookseller",cad:"casting director",cas:"caster",ccp:"conceptor",chr:"choreographer",cli:"client",cll:"calligrapher",clr:"colorist",clt:"collotyper",cmm:"commentator",cmp:"composer",cmt:"compositor",cnd:"conductor",cng:"cinematographer",cns:"censor",coe:"contestant-appellee",col:"collector",com:"compiler",con:"conservator",cop:"camera operator",cor:"collection registrar",cos:"contestant",cot:"contestant-appellant",cou:"court governed",cov:"cover designer",cpc:"copyright claimant",cpe:"complainant-appellee",cph:"copyright holder",cpl:"complainant",cpt:"complainant-appellant",cre:"creator",crp:"correspondent",crr:"corrector",crt:"court reporter",csl:"consultant",csp:"consultant to a project",cst:"costume designer",ctb:"contributor",cte:"contestee-appellee",ctg:"cartographer",ctr:"contractor",cts:"contestee",ctt:"contestee-appellant",cur:"curator",cwt:"commentator for written text",dbd:"dubbing director",dbp:"distribution place",dfd:"defendant",dfe:"defendant-appellee",dft:"defendant-appellant",dgc:"degree committee member",dgg:"degree granting institution",dgs:"degree supervisor",dis:"dissertant",djo:"dj",dln:"delineator",dnc:"dancer",dnr:"donor",dpc:"depicted",dpt:"depositor",drm:"draftsman",drt:"director",dsr:"designer",dst:"distributor",dtc:"data contributor",dte:"dedicatee",dtm:"data manager",dto:"dedicator",dub:"dubious author",edc:"editor of compilation",edd:"editorial director",edm:"editor of moving image work",edt:"editor",egr:"engraver",elg:"electrician",elt:"electrotyper",eng:"engineer",enj:"enacting jurisdiction",etr:"etcher",evp:"event place",exp:"expert",fac:"facsimilist",fds:"film distributor",fld:"field director",flm:"film editor",fmd:"film director",fmk:"filmmaker",fmo:"former owner",fmp:"film producer",fnd:"funder",fon:"founder",fpy:"first party",frg:"forger",gdv:"game developer",gis:"geographic information specialist",his:"host institution",hnr:"honoree",hst:"host",ill:"illustrator",ilu:"illuminator",ink:"inker",ins:"inscriber",inv:"inventor",isb:"issuing body",itr:"instrumentalist",ive:"interviewee",ivr:"interviewer",jud:"judge",jug:"jurisdiction governed",lbr:"laboratory",lbt:"librettist",ldr:"laboratory director",led:"lead",lee:"libelee-appellee",lel:"libelee",len:"lender",let:"libelee-appellant",lgd:"lighting designer",lie:"libelant-appellee",lil:"libelant",lit:"libelant-appellant",lsa:"landscape architect",lse:"licensee",lso:"licensor",ltg:"lithographer",ltr:"letterer",lyr:"lyricist",mcp:"music copyist",mdc:"metadata contact",med:"medium",mfp:"manufacture place",mfr:"manufacturer",mka:"makeup artist",mod:"moderator",mon:"monitor",mrb:"marbler",mrk:"markup editor",msd:"musical director",mte:"metal engraver",mtk:"minute taker",mup:"music programmer",mus:"musician",mxe:"mixing engineer",nan:"news anchor",nrt:"narrator",onp:"onscreen participant",opn:"opponent",org:"originator",orm:"organizer",osp:"onscreen presenter",oth:"other",own:"owner",pad:"place of address",pan:"panelist",pat:"patron",pbd:"publisher director",pbl:"publisher",pdr:"project director",pfr:"proofreader",pht:"photographer",plt:"platemaker",pma:"permitting agency",pmn:"production manager",pnc:"penciller",pop:"printer of plates",ppm:"papermaker",ppt:"puppeteer",pra:"praeses",prc:"process contact",prd:"production personnel",pre:"presenter",prf:"performer",prg:"programmer",prm:"printmaker",prn:"production company",pro:"producer",prp:"production place",prs:"production designer",prt:"printer",prv:"provider",pta:"patent applicant",pte:"plaintiff-appellee",ptf:"plaintiff",pth:"patent holder",ptt:"plaintiff-appellant",pup:"publication place",rap:"rapporteur",rbr:"rubricator",rcd:"recordist",rce:"recording engineer",rcp:"addressee",rdd:"radio director",red:"redaktor",ren:"renderer",res:"researcher",rev:"reviewer",rpc:"radio producer",rps:"repository",rpt:"reporter",rpy:"responsible party",rse:"respondent-appellee",rsg:"restager",rsp:"respondent",rsr:"restorationist",rst:"respondent-appellant",rth:"research team head",rtm:"research team member",rxa:"remix artist",sad:"scientific advisor",sce:"scenarist",scl:"sculptor",scr:"scribe",sde:"sound engineer",sds:"sound designer",sec:"secretary",sfx:"special effects provider",sgd:"stage director",sgn:"signer",sht:"supporting host",sll:"seller",sng:"singer",spk:"speaker",spn:"sponsor",spy:"second party",srv:"surveyor",std:"set designer",stg:"setting",stl:"storyteller",stm:"stage manager",stn:"standards body",str:"stereotyper",swd:"software developer",tad:"technical advisor",tau:"television writer",tcd:"technical director",tch:"teacher",ths:"thesis advisor",tld:"television director",tlg:"television guest",tlh:"television host",tlp:"television producer",trc:"transcriber",trl:"translator",tyd:"type designer",tyg:"typographer",uvp:"university place",vac:"voice actor",vdg:"videographer",vfx:"visual effects provider",voc:"vocalist",wac:"writer of added commentary",wal:"writer of added lyrics",wam:"writer of accompanying material",wat:"writer of added text",waw:"writer of afterword",wdc:"woodcutter",wde:"wood engraver",wfs:"writer of film story",wft:"writer of intertitles",wfw:"writer of foreword",win:"writer of introduction",wit:"witness",wpr:"writer of preface",wst:"writer of supplementary textual content",wts:"writer of television story"};import m from"zod";var re=m.object({uid:m.string().regex(/^\d+$/).max(64),ukey:m.string().regex(/^[a-zA-Z0-9]+$/).max(64)}),g=m.string().regex(/^n\/\d+$/,"Invalid WebNovel novel ID"),h=m.string().regex(/^n\/\d+\/c\/\d+$/,"Invalid WebNovel novel chapter ID"),w=m.string().regex(/^c\/\d+$/,"Invalid WebNovel creator ID");import W from"zod";import E from"zod";var y=E.string().regex(/^n\/[a-zA-Z0-9_-]+$/,"Invalid HostedNovel novel ID"),v=E.string().regex(/^n\/[a-zA-Z0-9_-]+\/c\/[a-zA-Z0-9_-]+$/,"Invalid HostedNovel novel chapter ID"),k=E.string().regex(/^c\/[a-zA-Z0-9_-]+$/,"Invalid HostedNovel creator ID");import S from"zod";var N=S.string().regex(/^n\/[a-zA-Z0-9_-]+$/,"Invalid NovelFire novel ID"),j=S.string().regex(/^n\/[a-zA-Z0-9_-]+\/c\/[a-zA-Z0-9_-]+$/,"Invalid NovelFire novel chapter ID");var x=W.enum(["webnovel.com","novelfire.net","hostednovel.com"]),u=W.object({provider:x,id:W.union([g,h,w,N,j,y,v,k])}),$=W.enum(["qidian.com","ciweimao.com"]);import A from"language-tags";import K from"zod";var f=K.string().refine((e)=>A(e).valid(),{error:(e)=>`Invalid Language Tag: ${A(String(e?.input??"")).errors().join(";")}`}).transform((e)=>String(A(e).format()));var q=["abr","acp","act","adi","adp","aft","anc","anl","anm","ann","ant","ape","apl","app","aqt","arc","ard","arr","art","asg","asn","ato","att","auc","aud","aue","aui","aup","aus","aut","bdd","bjd","bka","bkd","bkp","blw","bnd","bpd","brd","brl","bsl","cad","cas","ccp","chr","cli","cll","clr","clt","cmm","cmp","cmt","cnd","cng","cns","coe","col","com","con","cop","cor","cos","cot","cou","cov","cpc","cpe","cph","cpl","cpt","cre","crp","crr","crt","csl","csp","cst","ctb","cte","ctg","ctr","cts","ctt","cur","cwt","dbd","dbp","dfd","dfe","dft","dgc","dgg","dgs","dis","djo","dln","dnc","dnr","dpc","dpt","drm","drt","dsr","dst","dtc","dte","dtm","dto","dub","edc","edd","edm","edt","egr","elg","elt","eng","enj","etr","evp","exp","fac","fds","fld","flm","fmd","fmk","fmo","fmp","fnd","fon","fpy","frg","gdv","gis","his","hnr","hst","ill","ilu","ink","ins","inv","isb","itr","ive","ivr","jud","jug","lbr","lbt","ldr","led","lee","lel","len","let","lgd","lie","lil","lit","lsa","lse","lso","ltg","ltr","lyr","mcp","mdc","med","mfp","mfr","mka","mod","mon","mrb","mrk","msd","mte","mtk","mup","mus","mxe","nan","nrt","onp","opn","org","orm","osp","oth","own","pad","pan","pat","pbd","pbl","pdr","pfr","pht","plt","pma","pmn","pnc","pop","ppm","ppt","pra","prc","prd","pre","prf","prg","prm","prn","pro","prp","prs","prt","prv","pta","pte","ptf","pth","ptt","pup","rap","rbr","rcd","rce","rcp","rdd","red","ren","res","rev","rpc","rps","rpt","rpy","rse","rsg","rsp","rsr","rst","rth","rtm","rxa","sad","sce","scl","scr","sde","sds","sec","sfx","sgd","sgn","sht","sll","sng","spk","spn","spy","srv","std","stg","stl","stm","stn","str","swd","tad","tau","tcd","tch","ths","tld","tlg","tlh","tlp","trc","trl","tyd","tyg","uvp","vac","vdg","vfx","voc","wac","wal","wam","wat","waw","wdc","wde","wfs","wft","wfw","win","wit","wpr","wst","wts"];import Q from"zod";var O=Q.enum(q);import{Mime as X}from"mime/lite";import Y from"mime/types/other.js";import C from"mime/types/standard.js";var D=new X().define({...C,...Y});import{Temporal as I}from"temporal-polyfill";import T from"zod";var c=T.string({error:(e)=>`Not a string: "${typeof e?.input}"`}).transform((e)=>e.trim()).refine((e)=>e!=="","String must not be empty"),Te=T.string({error:(e)=>`Not a string: "${typeof e?.input}"`}).transform((e)=>e.trim()).transform((e)=>e===""?null:e),s=T.custom((e)=>{return typeof e==="string"&&/^(\d{4})(-\d{2})?(-\d{2})?(T\d{2}:\d{2}:\d{2}Z)?$/.test(e)}).refine((e)=>{if(e.indexOf("T")>0)try{return I.Instant.from(e),!0}catch{return!1}else{let t=e.split("-");if(t.length>3)return!1;else if(t.length===3)try{return I.PlainDate.from(e),!0}catch{return!1}else if(t.length===2)try{return I.PlainDate.from(e+"-01"),!0}catch{return!1}else if(t.length===1)try{return I.PlainDate.from(e+"-01-01"),!0}catch{return!1}return!1}},{error:(e)=>`Date "${String(e?.input??"").substring(0,20)}" is invalid`}),V=T.coerce.string().refine((e)=>D.getExtension(e)!==null,{error:(e)=>`Invalid MIME type "${String(e.input)}"`}).transform((e)=>e.toLocaleLowerCase().trim());function d(e){let t=e.filter((a)=>a.primary===!0).length;if(t>1){let a=e.findIndex((l)=>l.primary===!0);return e.map((l,o)=>{return l.primary=o===a,l})}if(t===0&&typeof e[0]<"u")return e[0].primary=!0,e;return e}import i from"zod";var b=i.object({language:f.nullable().default(null),value:c,type:i.enum(["plain","markdown","html"]).nullable().default(null),primary:i.boolean().default(!1)}),F=i.object({displayName:c,givenName:c.nullable(),middleName:c.nullable(),familyName:c.nullable(),primary:i.boolean().default(!1)}),P=i.object({externalIdentifiers:i.array(u),names:i.array(F).min(1).transform(d),roles:i.array(O)}),_=i.enum(["cover","backdrop","spine","back"]),H=i.intersection(i.object({type:_,height:i.int().min(1).nullable(),width:i.int().min(1).nullable(),language:f.nullable().default(null),primary:i.boolean().default(!1),mediaType:V.pipe(i.string().startsWith("image/")).nullable()}),i.union([i.object({provider:x,id:c}),i.object({provider:i.null(),id:i.url()})]));import n from"zod";var Je=n.object({originalHTML:n.array(c),originalHTMLSize:n.int().min(0),generatedMarkdown:c,generatedMarkdownSize:n.int().min(0)}),z=n.object({internalIdentifier:c.nullable(),externalIdentifiers:n.array(u).min(1),volumeNumber:n.number().min(0).nullable(),number:n.number().min(0),names:n.array(b).min(1).transform(d),creators:n.array(P),createdAt:s.nullable(),updatedAt:s.nullable()}),R=n.object({internalIdentifier:c.nullable(),externalIdentifiers:n.array(u),number:n.number().min(0),names:n.array(b).transform(d),createdAt:s.nullable(),updatedAt:s.nullable(),chapters:n.array(z)}),Ke=n.object({internalIdentifier:c.nullable(),externalIdentifiers:n.array(u).min(1),names:n.array(b).min(1).transform(d),language:f,overviews:n.array(b).transform(d),creators:n.array(P),images:n.array(H).transform(d),originalLanguage:f.nullable(),originalSource:$.nullable(),isComplete:n.boolean().nullable(),createdAt:s.nullable(),updatedAt:s.nullable(),volumes:n.array(R)});function Xe(e){let t=e.find((a)=>a.primary===!0);if(typeof t<"u")return t;return e?.[0]??void 0}function Ye(e){let t=e.find((a)=>a.primary===!0);if(typeof t<"u")return t;return e?.[0]??void 0}import p from"zod";function Le(e){if(e.provider==="webnovel.com"){let t=g.safeParse(e.id)?.data??void 0,a=h.safeParse(e.id)?.data??void 0,l=w.safeParse(e.id)?.data??void 0,o="https://www.webnovel.com";if(typeof t==="string")return new URL(`/book/${t.substring(2)}`,"https://www.webnovel.com");else if(typeof a==="string"){let r=a.split("/");return new URL(`/book/${r[1]}/${r[3]}`,"https://www.webnovel.com")}else if(typeof l==="string")return new URL(`/profile/${l.substring(2)}`,"https://www.webnovel.com")}else if(e.provider==="novelfire.net"){let t=N.safeParse(e.id)?.data??void 0,a=j.safeParse(e.id)?.data??void 0,l="https://novelfire.net";if(typeof t==="string")return new URL(`/book/${t.substring(2)}`,"https://novelfire.net");else if(typeof a==="string"){let o=a.split("/");return new URL(`/book/${o[1]}/${o[3]}`,"https://novelfire.net")}}else if(e.provider==="hostednovel.com"){let t=y.safeParse(e.id)?.data??void 0,a=v.safeParse(e.id)?.data??void 0,l=k.safeParse(e.id)?.data??void 0,o="https://hostednovel.com";if(typeof t==="string")return new URL(`/novel/${t.substring(2)}`,"https://hostednovel.com");else if(typeof a==="string"){let r=a.split("/");return new URL(`/novel/${r[1]}/${r[3]}`,"https://hostednovel.com")}else if(typeof l==="string")return new URL(`/creator/${l.substring(2)}`,"https://hostednovel.com")}return}var Z=p.object({imageProxy:p.literal("wsrv.nl"),output:p.enum(["jpg","jxl","png","gif","tiff","webp","original"]).default("original").optional(),quality:p.int().min(1).max(100).default(80).optional(),default:p.url().optional(),lossless:p.boolean().optional(),compressionLevel:p.int().min(0).max(9).default(6).optional(),width:p.int().min(1).max(Number.MAX_SAFE_INTEGER).optional(),height:p.int().min(1).max(Number.MAX_SAFE_INTEGER).optional(),devicePixelRatio:p.int().min(1).max(8).optional(),fit:p.enum(["inside","outside","cover","fill","contain"]).optional(),withoutEnlargement:p.boolean().default(!0).optional(),alignmentPosition:p.enum(["top","right","bottom","left","top-left","bottom-left","bottom-right","top-right","center","entropy","attention"]).default("center").optional()}),L=p.discriminatedUnion("imageProxy",[p.object({imageProxy:p.literal(!1)}),Z]);function Ue(e,t={imageProxy:!1}){let a=L.parse(t),l=void 0;if(e.provider==="webnovel.com"){if(/^n\/\d+(\/\d+)?/.test(e.id)){let o=e.id.split("/");if(l=new URL(`/bookcover/${o[1]}`,"https://book-pic.webnovel.com"),l.searchParams.set("imageMogr2/thumbnail/600x",""),typeof o?.[2]==="string")l.searchParams.set("imageId",o[2])}}if(typeof l>"u")return;if(a.imageProxy==="wsrv.nl"){let o=new URL("https://wsrv.nl");o.searchParams.set("url",l.toString());let r=Z.parse(a);if(typeof r?.width==="number")o.searchParams.set("w",r.width.toString());else if(typeof e?.width==="number")o.searchParams.set("w",e.width.toString());if(typeof r?.height==="number")o.searchParams.set("h",r.height.toString());else if(typeof e?.height==="number")o.searchParams.set("h",e.height.toString());if(typeof r?.devicePixelRatio==="number")o.searchParams.set("dpr",r.devicePixelRatio.toString());if(typeof r?.fit==="string")o.searchParams.set("fit",r.fit);if(typeof r?.withoutEnlargement==="boolean"&&r.withoutEnlargement===!0)o.searchParams.set("we","true");if(typeof r?.alignmentPosition==="string")o.searchParams.set("a",r.alignmentPosition);if(typeof r?.compressionLevel==="number")o.searchParams.set("l",r.compressionLevel.toString());if(typeof r?.lossless==="boolean"&&r.lossless===!0)o.searchParams.set("ll","true");if(typeof r?.default==="string")o.searchParams.set("default",r.default);if(typeof r?.output==="string"&&r.output!=="original")o.searchParams.set("output",r.output);if(typeof r?.quality==="number")o.searchParams.set("q",r.quality.toString());return o}return l}export{Ue as webNovelImageToURL,Le as webNovelExternalIdentifierToURL,M as relatorNames,D as mime,Xe as getPrimaryTranslation,Ye as getPrimaryImage,R as WebNovelVolume,g as WebNovelComNovelId,h as WebNovelComNovelChapterId,w as WebNovelComCreatorId,re as WebNovelComAuth,Je as WebNovelChapterContent,z as WebNovelChapter,Ke as WebNovel,b as Translation,O as Relator,F as PersonalName,s as PartialDateTime,$ as OriginalSource,Te as NullableNonEmptyString,N as NovelFireNetNovelId,j as NovelFireNetNovelChapterId,c as NonEmptyString,V as Mime,_ as ImageType,H as Image,y as HostedNovelComNovelId,v as HostedNovelComNovelChapterId,k as HostedNovelComCreatorId,x as ExternalProvider,u as ExternalIdentifier,P as Creator,f as BCP47LanguageTag};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=79BB28E9F3291B8A64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/schemas/external/webnovel_com.ts", "../src/schemas/external/common.ts", "../src/schemas/external/hostednovel_com.ts", "../src/schemas/external/novelfire_net.ts", "../src/schemas/ietf.ts", "../src/constants/loc/relators.ts", "../src/schemas/loc.ts", "../src/utils/mime.ts", "../src/schemas/string.ts", "../src/utils/array.ts", "../src/schemas/common.ts", "../src/schemas/webnovel.ts", "../src/utils/common.ts", "../src/utils/external.ts"],
|
|
3
|
+
"sources": ["../src/constants/loc/relatorNames.ts", "../src/schemas/external/webnovel_com.ts", "../src/schemas/external/common.ts", "../src/schemas/external/hostednovel_com.ts", "../src/schemas/external/novelfire_net.ts", "../src/schemas/ietf.ts", "../src/constants/loc/relators.ts", "../src/schemas/loc.ts", "../src/utils/mime.ts", "../src/schemas/string.ts", "../src/utils/array.ts", "../src/schemas/common.ts", "../src/schemas/webnovel.ts", "../src/utils/common.ts", "../src/utils/external.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
+
"/* cspell:ignore autographer bookjacket collotyper conceptor dissertant facsimilist funder intertitles papermaker penciller platemaker praeses redaktor restager restorationist videographer */\n\nimport type { Relator } from \"@/schemas/loc\";\n\nexport default {\n\tabr: \"abridger\",\n\tacp: \"art copyist\",\n\tact: \"actor\",\n\tadi: \"art director\",\n\tadp: \"adapter\",\n\taft: \"author of afterword, colophon, etc.\",\n\tanc: \"announcer\",\n\tanl: \"analyst\",\n\tanm: \"animator\",\n\tann: \"annotator\",\n\tant: \"bibliographic antecedent\",\n\tape: \"appellee\",\n\tapl: \"appellant\",\n\tapp: \"applicant\",\n\taqt: \"author in quotations or text abstracts\",\n\tarc: \"architect\",\n\tard: \"artistic director\",\n\tarr: \"arranger\",\n\tart: \"artist\",\n\tasg: \"assignee\",\n\tasn: \"associated name\",\n\tato: \"autographer\",\n\tatt: \"attributed name\",\n\tauc: \"auctioneer\",\n\taud: \"author of dialog\",\n\taue: \"audio engineer\",\n\taui: \"author of introduction, etc.\",\n\taup: \"audio producer\",\n\taus: \"screenwriter\",\n\taut: \"author\",\n\tbdd: \"binding designer\",\n\tbjd: \"bookjacket designer\",\n\tbka: \"book artist\",\n\tbkd: \"book designer\",\n\tbkp: \"book producer\",\n\tblw: \"blurb writer\",\n\tbnd: \"binder\",\n\tbpd: \"bookplate designer\",\n\tbrd: \"broadcaster\",\n\tbrl: \"braille embosser\",\n\tbsl: \"bookseller\",\n\tcad: \"casting director\",\n\tcas: \"caster\",\n\tccp: \"conceptor\",\n\tchr: \"choreographer\",\n\tcli: \"client\",\n\tcll: \"calligrapher\",\n\tclr: \"colorist\",\n\tclt: \"collotyper\",\n\tcmm: \"commentator\",\n\tcmp: \"composer\",\n\tcmt: \"compositor\",\n\tcnd: \"conductor\",\n\tcng: \"cinematographer\",\n\tcns: \"censor\",\n\tcoe: \"contestant-appellee\",\n\tcol: \"collector\",\n\tcom: \"compiler\",\n\tcon: \"conservator\",\n\tcop: \"camera operator\",\n\tcor: \"collection registrar\",\n\tcos: \"contestant\",\n\tcot: \"contestant-appellant\",\n\tcou: \"court governed\",\n\tcov: \"cover designer\",\n\tcpc: \"copyright claimant\",\n\tcpe: \"complainant-appellee\",\n\tcph: \"copyright holder\",\n\tcpl: \"complainant\",\n\tcpt: \"complainant-appellant\",\n\tcre: \"creator\",\n\tcrp: \"correspondent\",\n\tcrr: \"corrector\",\n\tcrt: \"court reporter\",\n\tcsl: \"consultant\",\n\tcsp: \"consultant to a project\",\n\tcst: \"costume designer\",\n\tctb: \"contributor\",\n\tcte: \"contestee-appellee\",\n\tctg: \"cartographer\",\n\tctr: \"contractor\",\n\tcts: \"contestee\",\n\tctt: \"contestee-appellant\",\n\tcur: \"curator\",\n\tcwt: \"commentator for written text\",\n\tdbd: \"dubbing director\",\n\tdbp: \"distribution place\",\n\tdfd: \"defendant\",\n\tdfe: \"defendant-appellee\",\n\tdft: \"defendant-appellant\",\n\tdgc: \"degree committee member\",\n\tdgg: \"degree granting institution\",\n\tdgs: \"degree supervisor\",\n\tdis: \"dissertant\",\n\tdjo: \"dj\",\n\tdln: \"delineator\",\n\tdnc: \"dancer\",\n\tdnr: \"donor\",\n\tdpc: \"depicted\",\n\tdpt: \"depositor\",\n\tdrm: \"draftsman\",\n\tdrt: \"director\",\n\tdsr: \"designer\",\n\tdst: \"distributor\",\n\tdtc: \"data contributor\",\n\tdte: \"dedicatee\",\n\tdtm: \"data manager\",\n\tdto: \"dedicator\",\n\tdub: \"dubious author\",\n\tedc: \"editor of compilation\",\n\tedd: \"editorial director\",\n\tedm: \"editor of moving image work\",\n\tedt: \"editor\",\n\tegr: \"engraver\",\n\telg: \"electrician\",\n\telt: \"electrotyper\",\n\teng: \"engineer\",\n\tenj: \"enacting jurisdiction\",\n\tetr: \"etcher\",\n\tevp: \"event place\",\n\texp: \"expert\",\n\tfac: \"facsimilist\",\n\tfds: \"film distributor\",\n\tfld: \"field director\",\n\tflm: \"film editor\",\n\tfmd: \"film director\",\n\tfmk: \"filmmaker\",\n\tfmo: \"former owner\",\n\tfmp: \"film producer\",\n\tfnd: \"funder\",\n\tfon: \"founder\",\n\tfpy: \"first party\",\n\tfrg: \"forger\",\n\tgdv: \"game developer\",\n\tgis: \"geographic information specialist\",\n\this: \"host institution\",\n\thnr: \"honoree\",\n\thst: \"host\",\n\till: \"illustrator\",\n\tilu: \"illuminator\",\n\tink: \"inker\",\n\tins: \"inscriber\",\n\tinv: \"inventor\",\n\tisb: \"issuing body\",\n\titr: \"instrumentalist\",\n\tive: \"interviewee\",\n\tivr: \"interviewer\",\n\tjud: \"judge\",\n\tjug: \"jurisdiction governed\",\n\tlbr: \"laboratory\",\n\tlbt: \"librettist\",\n\tldr: \"laboratory director\",\n\tled: \"lead\",\n\tlee: \"libelee-appellee\",\n\tlel: \"libelee\",\n\tlen: \"lender\",\n\tlet: \"libelee-appellant\",\n\tlgd: \"lighting designer\",\n\tlie: \"libelant-appellee\",\n\tlil: \"libelant\",\n\tlit: \"libelant-appellant\",\n\tlsa: \"landscape architect\",\n\tlse: \"licensee\",\n\tlso: \"licensor\",\n\tltg: \"lithographer\",\n\tltr: \"letterer\",\n\tlyr: \"lyricist\",\n\tmcp: \"music copyist\",\n\tmdc: \"metadata contact\",\n\tmed: \"medium\",\n\tmfp: \"manufacture place\",\n\tmfr: \"manufacturer\",\n\tmka: \"makeup artist\",\n\tmod: \"moderator\",\n\tmon: \"monitor\",\n\tmrb: \"marbler\",\n\tmrk: \"markup editor\",\n\tmsd: \"musical director\",\n\tmte: \"metal engraver\",\n\tmtk: \"minute taker\",\n\tmup: \"music programmer\",\n\tmus: \"musician\",\n\tmxe: \"mixing engineer\",\n\tnan: \"news anchor\",\n\tnrt: \"narrator\",\n\tonp: \"onscreen participant\",\n\topn: \"opponent\",\n\torg: \"originator\",\n\torm: \"organizer\",\n\tosp: \"onscreen presenter\",\n\toth: \"other\",\n\town: \"owner\",\n\tpad: \"place of address\",\n\tpan: \"panelist\",\n\tpat: \"patron\",\n\tpbd: \"publisher director\",\n\tpbl: \"publisher\",\n\tpdr: \"project director\",\n\tpfr: \"proofreader\",\n\tpht: \"photographer\",\n\tplt: \"platemaker\",\n\tpma: \"permitting agency\",\n\tpmn: \"production manager\",\n\tpnc: \"penciller\",\n\tpop: \"printer of plates\",\n\tppm: \"papermaker\",\n\tppt: \"puppeteer\",\n\tpra: \"praeses\",\n\tprc: \"process contact\",\n\tprd: \"production personnel\",\n\tpre: \"presenter\",\n\tprf: \"performer\",\n\tprg: \"programmer\",\n\tprm: \"printmaker\",\n\tprn: \"production company\",\n\tpro: \"producer\",\n\tprp: \"production place\",\n\tprs: \"production designer\",\n\tprt: \"printer\",\n\tprv: \"provider\",\n\tpta: \"patent applicant\",\n\tpte: \"plaintiff-appellee\",\n\tptf: \"plaintiff\",\n\tpth: \"patent holder\",\n\tptt: \"plaintiff-appellant\",\n\tpup: \"publication place\",\n\trap: \"rapporteur\",\n\trbr: \"rubricator\",\n\trcd: \"recordist\",\n\trce: \"recording engineer\",\n\trcp: \"addressee\",\n\trdd: \"radio director\",\n\tred: \"redaktor\",\n\tren: \"renderer\",\n\tres: \"researcher\",\n\trev: \"reviewer\",\n\trpc: \"radio producer\",\n\trps: \"repository\",\n\trpt: \"reporter\",\n\trpy: \"responsible party\",\n\trse: \"respondent-appellee\",\n\trsg: \"restager\",\n\trsp: \"respondent\",\n\trsr: \"restorationist\",\n\trst: \"respondent-appellant\",\n\trth: \"research team head\",\n\trtm: \"research team member\",\n\trxa: \"remix artist\",\n\tsad: \"scientific advisor\",\n\tsce: \"scenarist\",\n\tscl: \"sculptor\",\n\tscr: \"scribe\",\n\tsde: \"sound engineer\",\n\tsds: \"sound designer\",\n\tsec: \"secretary\",\n\tsfx: \"special effects provider\",\n\tsgd: \"stage director\",\n\tsgn: \"signer\",\n\tsht: \"supporting host\",\n\tsll: \"seller\",\n\tsng: \"singer\",\n\tspk: \"speaker\",\n\tspn: \"sponsor\",\n\tspy: \"second party\",\n\tsrv: \"surveyor\",\n\tstd: \"set designer\",\n\tstg: \"setting\",\n\tstl: \"storyteller\",\n\tstm: \"stage manager\",\n\tstn: \"standards body\",\n\tstr: \"stereotyper\",\n\tswd: \"software developer\",\n\ttad: \"technical advisor\",\n\ttau: \"television writer\",\n\ttcd: \"technical director\",\n\ttch: \"teacher\",\n\tths: \"thesis advisor\",\n\ttld: \"television director\",\n\ttlg: \"television guest\",\n\ttlh: \"television host\",\n\ttlp: \"television producer\",\n\ttrc: \"transcriber\",\n\ttrl: \"translator\",\n\ttyd: \"type designer\",\n\ttyg: \"typographer\",\n\tuvp: \"university place\",\n\tvac: \"voice actor\",\n\tvdg: \"videographer\",\n\tvfx: \"visual effects provider\",\n\tvoc: \"vocalist\",\n\twac: \"writer of added commentary\",\n\twal: \"writer of added lyrics\",\n\twam: \"writer of accompanying material\",\n\twat: \"writer of added text\",\n\twaw: \"writer of afterword\",\n\twdc: \"woodcutter\",\n\twde: \"wood engraver\",\n\twfs: \"writer of film story\",\n\twft: \"writer of intertitles\",\n\twfw: \"writer of foreword\",\n\twin: \"writer of introduction\",\n\twit: \"witness\",\n\twpr: \"writer of preface\",\n\twst: \"writer of supplementary textual content\",\n\twts: \"writer of television story\",\n} as const satisfies Record<Relator, string>;\n",
|
|
5
6
|
"import z from \"zod\";\n\nexport const WebNovelComAuth = z.object({\n\tuid: z.string().regex(/^\\d+$/).max(64),\n\tukey: z\n\t\t.string()\n\t\t.regex(/^[a-zA-Z0-9]+$/)\n\t\t.max(64),\n});\nexport type WebNovelComAuth = z.infer<typeof WebNovelComAuth>;\n\n/** @example `n/1234` */\nexport const WebNovelComNovelId = z.string().regex(/^n\\/\\d+$/, \"Invalid WebNovel novel ID\");\nexport type WebNovelComNovelId = z.infer<typeof WebNovelComNovelId>;\n\n/** @example `n/1234/c/5678` */\nexport const WebNovelComNovelChapterId = z\n\t.string()\n\t.regex(/^n\\/\\d+\\/c\\/\\d+$/, \"Invalid WebNovel novel chapter ID\");\nexport type WebNovelComNovelChapterId = z.infer<typeof WebNovelComNovelChapterId>;\n\n/** @example `c/1234` */\nexport const WebNovelComCreatorId = z.string().regex(/^c\\/\\d+$/, \"Invalid WebNovel creator ID\");\nexport type WebNovelComCreatorId = z.infer<typeof WebNovelComCreatorId>;\n",
|
|
6
7
|
"import {\n\tWebNovelComCreatorId,\n\tWebNovelComNovelChapterId,\n\tWebNovelComNovelId,\n} from \"@/schemas/external/webnovel_com\";\nimport z from \"zod\";\nimport {\n\tHostedNovelComCreatorId,\n\tHostedNovelComNovelChapterId,\n\tHostedNovelComNovelId,\n} from \"./hostednovel_com\";\nimport { NovelFireNetNovelChapterId, NovelFireNetNovelId } from \"./novelfire_net\";\n\nexport const ExternalProvider = z.enum([\"webnovel.com\", \"novelfire.net\", \"hostednovel.com\"]);\nexport type ExternalProvider = z.infer<typeof ExternalProvider>;\n\nexport const ExternalIdentifier = z.object({\n\tprovider: ExternalProvider,\n\tid: z.union([\n\t\tWebNovelComNovelId,\n\t\tWebNovelComNovelChapterId,\n\t\tWebNovelComCreatorId,\n\t\tNovelFireNetNovelId,\n\t\tNovelFireNetNovelChapterId,\n\t\tHostedNovelComNovelId,\n\t\tHostedNovelComNovelChapterId,\n\t\tHostedNovelComCreatorId,\n\t]),\n});\nexport type ExternalIdentifier = z.infer<typeof ExternalIdentifier>;\n\nexport const OriginalSource = z.enum([\"qidian.com\", \"ciweimao.com\"]);\nexport type OriginalSource = z.infer<typeof OriginalSource>;\n",
|
|
7
8
|
"import z from \"zod\";\n\n/** @example `n/example-novel` */\nexport const HostedNovelComNovelId = z\n\t.string()\n\t.regex(/^n\\/[a-zA-Z0-9_-]+$/, \"Invalid HostedNovel novel ID\");\nexport type HostedNovelComNovelId = z.infer<typeof HostedNovelComNovelId>;\n\n/** @example `n/example-novel/c/chapter-1` */\nexport const HostedNovelComNovelChapterId = z\n\t.string()\n\t.regex(/^n\\/[a-zA-Z0-9_-]+\\/c\\/[a-zA-Z0-9_-]+$/, \"Invalid HostedNovel novel chapter ID\");\nexport type HostedNovelComNovelChapterId = z.infer<typeof HostedNovelComNovelChapterId>;\n\n/** @example `c/example-creator` */\nexport const HostedNovelComCreatorId = z\n\t.string()\n\t.regex(/^c\\/[a-zA-Z0-9_-]+$/, \"Invalid HostedNovel creator ID\");\nexport type HostedNovelComCreatorId = z.infer<typeof HostedNovelComCreatorId>;\n",
|
|
@@ -13,11 +14,11 @@
|
|
|
13
14
|
"import { mime } from \"@/utils/mime\";\nimport { Temporal } from \"temporal-polyfill\";\nimport z from \"zod\";\n\nexport const NonEmptyString = z\n\t.string({ error: (e) => `Not a string: \"${typeof e?.input}\"` })\n\t.transform((e) => e.trim())\n\t.refine((e) => e !== \"\", \"String must not be empty\");\nexport type NonEmptyString = z.infer<typeof NonEmptyString>;\n\nexport const NullableNonEmptyString = z\n\t.string({ error: (e) => `Not a string: \"${typeof e?.input}\"` })\n\t.transform((e) => e.trim())\n\t.transform((e) => (e === \"\" ? null : e));\nexport type NullableNonEmptyString = z.infer<typeof NullableNonEmptyString>;\n\nexport const PartialDateTime = z\n\t.custom<\n\t\t| `${number}`\n\t\t| `${number}-${number}`\n\t\t| `${number}-${number}-${number}`\n\t\t| `${number}-${number}-${number}T${number}:${number}:${number}Z`\n\t>((v) => {\n\t\treturn typeof v === \"string\" && /^(\\d{4})(-\\d{2})?(-\\d{2})?(T\\d{2}:\\d{2}:\\d{2}Z)?$/.test(v);\n\t})\n\t.refine(\n\t\t(v) => {\n\t\t\tif (v.indexOf(\"T\") > 0) {\n\t\t\t\ttry {\n\t\t\t\t\tTemporal.Instant.from(v);\n\t\t\t\t\treturn true;\n\t\t\t\t} catch {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst m = v.split(\"-\");\n\n\t\t\t\tif (m.length > 3) {\n\t\t\t\t\t// sanity check; should never happen\n\t\t\t\t\treturn false;\n\t\t\t\t} else if (m.length === 3) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tTemporal.PlainDate.from(v);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} catch {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else if (m.length === 2) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tTemporal.PlainDate.from(v + \"-01\");\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} catch {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else if (m.length === 1) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tTemporal.PlainDate.from(v + \"-01-01\");\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} catch {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// sanity check; should never happen\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\t{ error: (e) => `Date \"${String(e?.input ?? \"\").substring(0, 20)}\" is invalid` }\n\t);\nexport type PartialDateTime = z.infer<typeof PartialDateTime>;\n\nexport const Mime = z.coerce\n\t.string()\n\t.refine((v) => mime.getExtension(v) !== null, {\n\t\terror: (e) => `Invalid MIME type \"${String(e.input)}\"`,\n\t})\n\t.transform((v) => v.toLocaleLowerCase().trim());\nexport type Mime = z.infer<typeof Mime>;\n",
|
|
14
15
|
"interface MandatoryArrayInput {\n\t[x: string]: unknown;\n\tprimary: boolean;\n}\nexport function mandatoryArray<T extends MandatoryArrayInput>(inputArray: T[]): T[] {\n\tconst primaryCount = inputArray.filter((e) => e.primary === true).length;\n\n\tif (primaryCount > 1) {\n\t\tconst firstPrimaryIndex = inputArray.findIndex((e) => e.primary === true);\n\n\t\treturn inputArray.map((e, i) => {\n\t\t\te.primary = i === firstPrimaryIndex;\n\t\t\treturn e;\n\t\t});\n\t}\n\n\tif (primaryCount === 0 && typeof inputArray[0] !== \"undefined\") {\n\t\tinputArray[0].primary = true;\n\t\treturn inputArray;\n\t}\n\n\treturn inputArray;\n}\n",
|
|
15
16
|
"import { ExternalIdentifier, ExternalProvider } from \"@/schemas/external/common\";\nimport { BCP47LanguageTag } from \"@/schemas/ietf\";\nimport { Relator } from \"@/schemas/loc\";\nimport { Mime, NonEmptyString } from \"@/schemas/string\";\nimport { mandatoryArray } from \"@/utils/array\";\nimport z from \"zod\";\n\nexport const Translation = z.object({\n\tlanguage: BCP47LanguageTag.nullable().default(null),\n\tvalue: NonEmptyString,\n\ttype: z.enum([\"plain\", \"markdown\", \"html\"]).nullable().default(null),\n\tprimary: z.boolean().default(false),\n});\nexport type Translation = z.infer<typeof Translation>;\n\nexport const PersonalName = z.object({\n\tdisplayName: NonEmptyString,\n\tgivenName: NonEmptyString.nullable(),\n\tmiddleName: NonEmptyString.nullable(),\n\tfamilyName: NonEmptyString.nullable(),\n\tprimary: z.boolean().default(false),\n});\nexport type PersonalName = z.infer<typeof PersonalName>;\n\nexport const Creator = z.object({\n\texternalIdentifiers: z.array(ExternalIdentifier),\n\tnames: z.array(PersonalName).min(1).transform(mandatoryArray),\n\troles: z.array(Relator),\n});\nexport type Creator = z.infer<typeof Creator>;\n\nexport const ImageType = z.enum([\"cover\", \"backdrop\", \"spine\", \"back\"]);\nexport type ImageType = z.infer<typeof ImageType>;\n\nexport const Image = z.intersection(\n\tz.object({\n\t\ttype: ImageType,\n\t\theight: z.int().min(1).nullable(),\n\t\twidth: z.int().min(1).nullable(),\n\t\tlanguage: BCP47LanguageTag.nullable().default(null),\n\t\tprimary: z.boolean().default(false),\n\t\tmediaType: Mime.pipe(z.string().startsWith(\"image/\")).nullable(),\n\t}),\n\tz.union([\n\t\tz.object({\n\t\t\tprovider: ExternalProvider,\n\t\t\tid: NonEmptyString,\n\t\t}),\n\t\tz.object({\n\t\t\tprovider: z.null(),\n\t\t\tid: z.url(),\n\t\t}),\n\t])\n);\nexport type Image = z.infer<typeof Image>;\n",
|
|
16
|
-
"import { Creator, Image, Translation } from \"@/schemas/common\";\nimport { ExternalIdentifier, OriginalSource } from \"@/schemas/external/common\";\nimport { BCP47LanguageTag } from \"@/schemas/ietf\";\nimport { NonEmptyString, PartialDateTime } from \"@/schemas/string\";\nimport { mandatoryArray } from \"@/utils/array\";\nimport z from \"zod\";\n\nexport const WebNovelChapterContent = z.object({\n\toriginalHTML: z.array(NonEmptyString),\n\toriginalHTMLSize: z.int().min(0),\n\n\tgeneratedMarkdown: NonEmptyString,\n\tgeneratedMarkdownSize: z.int().min(0),\n});\nexport type WebNovelChapterContent = z.infer<typeof WebNovelChapterContent>;\n\nexport const WebNovelChapter = z.object({\n\tinternalIdentifier: NonEmptyString,\n\texternalIdentifiers: z.array(ExternalIdentifier).min(1),\n\n\tvolumeNumber: z.number().min(0).nullable(),\n\tnumber: z.number().min(0),\n\tnames: z.array(Translation).min(1).transform(mandatoryArray),\n\tcreators: z.array(Creator),\n\n\tcreatedAt: PartialDateTime.nullable(),\n\tupdatedAt: PartialDateTime.nullable(),\n});\nexport type WebNovelChapter = z.infer<typeof WebNovelChapter>;\n\nexport const WebNovelVolume = z.object({\n\texternalIdentifiers: z.array(ExternalIdentifier),\n\n\tnumber: z.number().min(0),\n\tnames: z.array(Translation).transform(mandatoryArray),\n\n\tcreatedAt: PartialDateTime.nullable(),\n\tupdatedAt: PartialDateTime.nullable(),\n\n\tchapters: z.array(WebNovelChapter),\n});\nexport type WebNovelVolume = z.infer<typeof WebNovelVolume>;\n\nexport const WebNovel = z.object({\n\tinternalIdentifier: NonEmptyString,\n\texternalIdentifiers: z.array(ExternalIdentifier).min(1),\n\n\tnames: z.array(Translation).min(1).transform(mandatoryArray),\n\tlanguage: BCP47LanguageTag,\n\toverviews: z.array(Translation).transform(mandatoryArray),\n\tcreators: z.array(Creator),\n\timages: z.array(Image).transform(mandatoryArray),\n\toriginalLanguage: BCP47LanguageTag.nullable(),\n\toriginalSource: OriginalSource.nullable(),\n\n\tisComplete: z.boolean().nullable(),\n\n\tcreatedAt: PartialDateTime.nullable(),\n\tupdatedAt: PartialDateTime.nullable(),\n\n\tvolumes: z.array(WebNovelVolume),\n});\nexport type WebNovel = z.infer<typeof WebNovel>;\n",
|
|
17
|
+
"import { Creator, Image, Translation } from \"@/schemas/common\";\nimport { ExternalIdentifier, OriginalSource } from \"@/schemas/external/common\";\nimport { BCP47LanguageTag } from \"@/schemas/ietf\";\nimport { NonEmptyString, PartialDateTime } from \"@/schemas/string\";\nimport { mandatoryArray } from \"@/utils/array\";\nimport z from \"zod\";\n\nexport const WebNovelChapterContent = z.object({\n\toriginalHTML: z.array(NonEmptyString),\n\toriginalHTMLSize: z.int().min(0),\n\n\tgeneratedMarkdown: NonEmptyString,\n\tgeneratedMarkdownSize: z.int().min(0),\n});\nexport type WebNovelChapterContent = z.infer<typeof WebNovelChapterContent>;\n\nexport const WebNovelChapter = z.object({\n\tinternalIdentifier: NonEmptyString.nullable(),\n\texternalIdentifiers: z.array(ExternalIdentifier).min(1),\n\n\tvolumeNumber: z.number().min(0).nullable(),\n\tnumber: z.number().min(0),\n\tnames: z.array(Translation).min(1).transform(mandatoryArray),\n\tcreators: z.array(Creator),\n\n\tcreatedAt: PartialDateTime.nullable(),\n\tupdatedAt: PartialDateTime.nullable(),\n});\nexport type WebNovelChapter = z.infer<typeof WebNovelChapter>;\n\nexport const WebNovelVolume = z.object({\n\tinternalIdentifier: NonEmptyString.nullable(),\n\texternalIdentifiers: z.array(ExternalIdentifier),\n\n\tnumber: z.number().min(0),\n\tnames: z.array(Translation).transform(mandatoryArray),\n\n\tcreatedAt: PartialDateTime.nullable(),\n\tupdatedAt: PartialDateTime.nullable(),\n\n\tchapters: z.array(WebNovelChapter),\n});\nexport type WebNovelVolume = z.infer<typeof WebNovelVolume>;\n\nexport const WebNovel = z.object({\n\tinternalIdentifier: NonEmptyString.nullable(),\n\texternalIdentifiers: z.array(ExternalIdentifier).min(1),\n\n\tnames: z.array(Translation).min(1).transform(mandatoryArray),\n\tlanguage: BCP47LanguageTag,\n\toverviews: z.array(Translation).transform(mandatoryArray),\n\tcreators: z.array(Creator),\n\timages: z.array(Image).transform(mandatoryArray),\n\toriginalLanguage: BCP47LanguageTag.nullable(),\n\toriginalSource: OriginalSource.nullable(),\n\n\tisComplete: z.boolean().nullable(),\n\n\tcreatedAt: PartialDateTime.nullable(),\n\tupdatedAt: PartialDateTime.nullable(),\n\n\tvolumes: z.array(WebNovelVolume),\n});\nexport type WebNovel = z.infer<typeof WebNovel>;\n",
|
|
17
18
|
"import type { Image, Translation } from \"@/schemas/common\";\n\n/**\n * Return primary translation, if none is marked as primary, return the first one\n */\nexport function getPrimaryTranslation(t: Translation[]): Translation | undefined {\n\tconst primary = t.find((e) => e.primary === true);\n\tif (typeof primary !== \"undefined\") {\n\t\treturn primary;\n\t}\n\n\treturn t?.[0] ?? undefined;\n}\n\n/**\n * Return primary image, if none is marked as primary, return the first one\n */\nexport function getPrimaryImage(t: Image[]): Image | undefined {\n\tconst primary = t.find((e) => e.primary === true);\n\tif (typeof primary !== \"undefined\") {\n\t\treturn primary;\n\t}\n\n\treturn t?.[0] ?? undefined;\n}\n",
|
|
18
19
|
"import type { Image } from \"@/schemas/common\";\nimport type { ExternalIdentifier } from \"@/schemas/external/common\";\nimport {\n\tHostedNovelComCreatorId,\n\tHostedNovelComNovelChapterId,\n\tHostedNovelComNovelId,\n} from \"@/schemas/external/hostednovel_com\";\nimport { NovelFireNetNovelChapterId, NovelFireNetNovelId } from \"@/schemas/external/novelfire_net\";\nimport {\n\tWebNovelComCreatorId,\n\tWebNovelComNovelChapterId,\n\tWebNovelComNovelId,\n} from \"@/schemas/external/webnovel_com\";\nimport z from \"zod\";\n\nexport function webNovelExternalIdentifierToURL(ext: ExternalIdentifier): URL | undefined {\n\tif (ext.provider === \"webnovel.com\") {\n\t\tconst novelId = WebNovelComNovelId.safeParse(ext.id)?.data ?? undefined;\n\t\tconst novelChapterId = WebNovelComNovelChapterId.safeParse(ext.id)?.data ?? undefined;\n\t\tconst creatorId = WebNovelComCreatorId.safeParse(ext.id)?.data ?? undefined;\n\n\t\tconst HOST = \"https://www.webnovel.com\";\n\n\t\tif (typeof novelId === \"string\") {\n\t\t\treturn new URL(`/book/${novelId.substring(2)}`, HOST);\n\t\t} else if (typeof novelChapterId === \"string\") {\n\t\t\tconst p = novelChapterId.split(\"/\");\n\t\t\treturn new URL(`/book/${p[1]}/${p[3]}`, HOST);\n\t\t} else if (typeof creatorId === \"string\") {\n\t\t\treturn new URL(`/profile/${creatorId.substring(2)}`, HOST);\n\t\t}\n\t} else if (ext.provider === \"novelfire.net\") {\n\t\tconst novelId = NovelFireNetNovelId.safeParse(ext.id)?.data ?? undefined;\n\t\tconst novelChapterId = NovelFireNetNovelChapterId.safeParse(ext.id)?.data ?? undefined;\n\n\t\tconst HOST = \"https://novelfire.net\";\n\n\t\tif (typeof novelId === \"string\") {\n\t\t\treturn new URL(`/book/${novelId.substring(2)}`, HOST);\n\t\t} else if (typeof novelChapterId === \"string\") {\n\t\t\tconst p = novelChapterId.split(\"/\");\n\t\t\treturn new URL(`/book/${p[1]}/${p[3]}`, HOST);\n\t\t}\n\t} else if (ext.provider === \"hostednovel.com\") {\n\t\tconst novelId = HostedNovelComNovelId.safeParse(ext.id)?.data ?? undefined;\n\t\tconst novelChapterId = HostedNovelComNovelChapterId.safeParse(ext.id)?.data ?? undefined;\n\t\tconst creatorId = HostedNovelComCreatorId.safeParse(ext.id)?.data ?? undefined;\n\n\t\tconst HOST = \"https://hostednovel.com\";\n\n\t\tif (typeof novelId === \"string\") {\n\t\t\treturn new URL(`/novel/${novelId.substring(2)}`, HOST);\n\t\t} else if (typeof novelChapterId === \"string\") {\n\t\t\tconst p = novelChapterId.split(\"/\");\n\t\t\treturn new URL(`/novel/${p[1]}/${p[3]}`, HOST);\n\t\t} else if (typeof creatorId === \"string\") {\n\t\t\treturn new URL(`/creator/${creatorId.substring(2)}`, HOST);\n\t\t}\n\t}\n\n\treturn undefined;\n}\n\nconst ImageConfigWsrvNl = z.object({\n\timageProxy: z.literal(\"wsrv.nl\"),\n\n\t// ================================ Format ================\n\t/**\n\t * @see {@link https://wsrv.nl/docs/format#output}\n\t */\n\toutput: z\n\t\t.enum([\"jpg\", \"jxl\", \"png\", \"gif\", \"tiff\", \"webp\", \"original\"])\n\t\t.default(\"original\")\n\t\t.optional(),\n\t/**\n\t * Only supported by `jpg`, `jxl`, `tiff` and `webp`\n\t * @see {@link https://wsrv.nl/docs/format#quality}\n\t */\n\tquality: z.int().min(1).max(100).default(80).optional(),\n\t/**\n\t * @see {@link https://wsrv.nl/docs/format#default-image}\n\t */\n\tdefault: z.url().optional(),\n\t/**\n\t * Only supported by `png`\n\t * @see {@link https://wsrv.nl/docs/format#lossless-compression}\n\t */\n\tlossless: z.boolean().optional(),\n\t/**\n\t * Only supported by `png`\n\t * @see {@link https://wsrv.nl/docs/format#compression-level}\n\t */\n\tcompressionLevel: z.int().min(0).max(9).default(6).optional(),\n\n\t// ================================ Size ================\n\t/**\n\t * @see {@link https://wsrv.nl/docs/size#width}\n\t */\n\twidth: z.int().min(1).max(Number.MAX_SAFE_INTEGER).optional(),\n\t/**\n\t * @see {@link https://wsrv.nl/docs/size#height}\n\t */\n\theight: z.int().min(1).max(Number.MAX_SAFE_INTEGER).optional(),\n\t/**\n\t * A `width`, a `height`, or both must be specified for this parameter to work.\n\t * @see {@link https://wsrv.nl/docs/size#device-pixel-ratio}\n\t */\n\tdevicePixelRatio: z.int().min(1).max(8).optional(),\n\n\t// ================================ Fit ================\n\t/**\n\t * @see {@link https://wsrv.nl/docs/fit#fit}\n\t */\n\tfit: z.enum([\"inside\", \"outside\", \"cover\", \"fill\", \"contain\"]).optional(),\n\t/**\n\t * @see {@link https://wsrv.nl/docs/fit#without-enlargement}\n\t */\n\twithoutEnlargement: z.boolean().default(true).optional(),\n\n\t// ================================ Crop ================\n\t/**\n\t * How the image should be aligned when `fit=cover` or `fit=contain` is set. The `width` and `height` parameters should also be specified.\n\t *\n\t * `entropy`: Focus on the region with the highest [Shannon entropy](https://en.wikipedia.org/wiki/Entropy_%28information_theory%29)\n\t *\n\t * `attention`: Focus on the region with the highest luminance frequency, color saturation and presence of skin tones.\n\t *\n\t * @see {@link https://wsrv.nl/docs/crop#alignment-position}\n\t */\n\talignmentPosition: z\n\t\t.enum([\n\t\t\t\"top\",\n\t\t\t\"right\",\n\t\t\t\"bottom\",\n\t\t\t\"left\",\n\t\t\t\"top-left\",\n\t\t\t\"bottom-left\",\n\t\t\t\"bottom-right\",\n\t\t\t\"top-right\",\n\t\t\t\"center\",\n\n\t\t\t\"entropy\",\n\t\t\t\"attention\",\n\t\t])\n\t\t.default(\"center\")\n\t\t.optional(),\n});\nconst ImageConfig = z.discriminatedUnion(\"imageProxy\", [\n\tz.object({\n\t\timageProxy: z.literal(false),\n\t}),\n\tImageConfigWsrvNl,\n]);\ntype ImageConfig = z.infer<typeof ImageConfig>;\nexport function webNovelImageToURL(\n\timage: Image,\n\tinputConfig: ImageConfig = { imageProxy: false }\n): URL | undefined {\n\tconst config = ImageConfig.parse(inputConfig);\n\n\tlet imageURL: URL | undefined = undefined;\n\n\tif (image.provider === \"webnovel.com\") {\n\t\tif (/^n\\/\\d+(\\/\\d+)?/.test(image.id)) {\n\t\t\tconst sId = image.id.split(\"/\");\n\t\t\t/* cspell:disable-next-line */\n\t\t\timageURL = new URL(`/bookcover/${sId[1]}`, \"https://book-pic.webnovel.com\");\n\t\t\t/* cspell:disable-next-line */\n\t\t\timageURL.searchParams.set(\"imageMogr2/thumbnail/600x\", \"\");\n\t\t\tif (typeof sId?.[2] === \"string\") {\n\t\t\t\timageURL.searchParams.set(\"imageId\", sId[2]);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (typeof imageURL === \"undefined\") {\n\t\treturn undefined;\n\t}\n\n\t// Image Proxy\n\n\tif (config.imageProxy === \"wsrv.nl\") {\n\t\tconst proxyURL = new URL(\"https://wsrv.nl\");\n\t\tproxyURL.searchParams.set(\"url\", imageURL.toString());\n\n\t\tconst proxyConfig = ImageConfigWsrvNl.parse(config);\n\n\t\tif (typeof proxyConfig?.width === \"number\") {\n\t\t\tproxyURL.searchParams.set(\"w\", proxyConfig.width.toString());\n\t\t} else if (typeof image?.width === \"number\") {\n\t\t\tproxyURL.searchParams.set(\"w\", image.width.toString());\n\t\t}\n\t\tif (typeof proxyConfig?.height === \"number\") {\n\t\t\tproxyURL.searchParams.set(\"h\", proxyConfig.height.toString());\n\t\t} else if (typeof image?.height === \"number\") {\n\t\t\tproxyURL.searchParams.set(\"h\", image.height.toString());\n\t\t}\n\t\tif (typeof proxyConfig?.devicePixelRatio === \"number\") {\n\t\t\tproxyURL.searchParams.set(\"dpr\", proxyConfig.devicePixelRatio.toString());\n\t\t}\n\n\t\tif (typeof proxyConfig?.fit === \"string\") {\n\t\t\tproxyURL.searchParams.set(\"fit\", proxyConfig.fit);\n\t\t}\n\t\tif (\n\t\t\ttypeof proxyConfig?.withoutEnlargement === \"boolean\" &&\n\t\t\tproxyConfig.withoutEnlargement === true\n\t\t) {\n\t\t\tproxyURL.searchParams.set(\"we\", \"true\");\n\t\t}\n\n\t\tif (typeof proxyConfig?.alignmentPosition === \"string\") {\n\t\t\tproxyURL.searchParams.set(\"a\", proxyConfig.alignmentPosition);\n\t\t}\n\n\t\tif (typeof proxyConfig?.compressionLevel === \"number\") {\n\t\t\tproxyURL.searchParams.set(\"l\", proxyConfig.compressionLevel.toString());\n\t\t}\n\t\tif (typeof proxyConfig?.lossless === \"boolean\" && proxyConfig.lossless === true) {\n\t\t\tproxyURL.searchParams.set(\"ll\", \"true\");\n\t\t}\n\t\tif (typeof proxyConfig?.default === \"string\") {\n\t\t\tproxyURL.searchParams.set(\"default\", proxyConfig.default);\n\t\t}\n\t\tif (typeof proxyConfig?.output === \"string\" && proxyConfig.output !== \"original\") {\n\t\t\tproxyURL.searchParams.set(\"output\", proxyConfig.output);\n\t\t}\n\t\tif (typeof proxyConfig?.quality === \"number\") {\n\t\t\tproxyURL.searchParams.set(\"q\", proxyConfig.quality.toString());\n\t\t}\n\n\t\treturn proxyURL;\n\t}\n\n\t// Not yet implemented\n\treturn imageURL;\n}\n"
|
|
19
20
|
],
|
|
20
|
-
"mappings": "AAAA,mBAEO,IAAM,EAAkB,EAAE,OAAO,CACvC,IAAK,EAAE,OAAO,EAAE,MAAM,OAAO,EAAE,IAAI,EAAE,EACrC,KAAM,EACJ,OAAO,EACP,MAAM,gBAAgB,EACtB,IAAI,EAAE,CACT,CAAC,EAIY,EAAqB,EAAE,OAAO,EAAE,MAAM,WAAY,2BAA2B,EAI7E,EAA4B,EACvC,OAAO,EACP,MAAM,mBAAoB,mCAAmC,EAIlD,EAAuB,EAAE,OAAO,EAAE,MAAM,WAAY,6BAA6B,ECjB9F,mBCLA,mBAGO,IAAM,EAAwB,EACnC,OAAO,EACP,MAAM,sBAAuB,8BAA8B,EAIhD,EAA+B,EAC1C,OAAO,EACP,MAAM,yCAA0C,sCAAsC,EAI3E,EAA0B,EACrC,OAAO,EACP,MAAM,sBAAuB,gCAAgC,ECjB/D,mBAGO,IAAM,EAAsB,EACjC,OAAO,EACP,MAAM,sBAAuB,4BAA4B,EAI9C,EAA6B,EACxC,OAAO,EACP,MAAM,yCAA0C,oCAAoC,EFE/E,IAAM,EAAmB,EAAE,KAAK,CAAC,eAAgB,gBAAiB,iBAAiB,CAAC,EAG9E,EAAqB,EAAE,OAAO,CAC1C,SAAU,EACV,GAAI,EAAE,MAAM,CACX,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACD,CAAC,CACF,CAAC,EAGY,EAAiB,EAAE,KAAK,CAAC,aAAc,cAAc,CAAC,EG/BnE,6BACA,mBAeO,IAAM,EAAmB,EAC9B,OAAO,EACP,OAAO,CAAC,IAAM,EAAK,CAAC,EAAE,MAAM,EAAG,CAC/B,MAAO,CAAC,IACP,yBAAyB,EAAK,OAAO,GAAG,OAAS,EAAE,CAAC,EAClD,OAAO,EACP,KAAK,GAAG,GACZ,CAAC,EACA,UAAU,CAAC,IAAM,OAAO,EAAK,CAAC,EAAE,OAAO,CAAC,CAAC,ECxB3C,IAAe,GACd,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,M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",
|
|
21
|
-
"debugId": "
|
|
21
|
+
"mappings": "4JAIA,IAAe,GACd,IAAK,WACL,IAAK,cACL,IAAK,QACL,IAAK,eACL,IAAK,UACL,IAAK,sCACL,IAAK,YACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,2BACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,yCACL,IAAK,YACL,IAAK,oBACL,IAAK,WACL,IAAK,SACL,IAAK,WACL,IAAK,kBACL,IAAK,cACL,IAAK,kBACL,IAAK,aACL,IAAK,mBACL,IAAK,iBACL,IAAK,+BACL,IAAK,iBACL,IAAK,eACL,IAAK,SACL,IAAK,mBACL,IAAK,sBACL,IAAK,cACL,IAAK,gBACL,IAAK,gBACL,IAAK,eACL,IAAK,SACL,IAAK,qBACL,IAAK,cACL,IAAK,mBACL,IAAK,aACL,IAAK,mBACL,IAAK,SACL,IAAK,YACL,IAAK,gBACL,IAAK,SACL,IAAK,eACL,IAAK,WACL,IAAK,aACL,IAAK,cACL,IAAK,WACL,IAAK,aACL,IAAK,YACL,IAAK,kBACL,IAAK,SACL,IAAK,sBACL,IAAK,YACL,IAAK,WACL,IAAK,cACL,IAAK,kBACL,IAAK,uBACL,IAAK,aACL,IAAK,uBACL,IAAK,iBACL,IAAK,iBACL,IAAK,qBACL,IAAK,uBACL,IAAK,mBACL,IAAK,cACL,IAAK,wBACL,IAAK,UACL,IAAK,gBACL,IAAK,YACL,IAAK,iBACL,IAAK,aACL,IAAK,0BACL,IAAK,mBACL,IAAK,cACL,IAAK,qBACL,IAAK,eACL,IAAK,aACL,IAAK,YACL,IAAK,sBACL,IAAK,UACL,IAAK,+BACL,IAAK,mBACL,IAAK,qBACL,IAAK,YACL,IAAK,qBACL,IAAK,sBACL,IAAK,0BACL,IAAK,8BACL,IAAK,oBACL,IAAK,aACL,IAAK,KACL,IAAK,aACL,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,cACL,IAAK,mBACL,IAAK,YACL,IAAK,eACL,IAAK,YACL,IAAK,iBACL,IAAK,wBACL,IAAK,qBACL,IAAK,8BACL,IAAK,SACL,IAAK,WACL,IAAK,cACL,IAAK,eACL,IAAK,WACL,IAAK,wBACL,IAAK,SACL,IAAK,cACL,IAAK,SACL,IAAK,cACL,IAAK,mBACL,IAAK,iBACL,IAAK,cACL,IAAK,gBACL,IAAK,YACL,IAAK,eACL,IAAK,gBACL,IAAK,SACL,IAAK,UACL,IAAK,cACL,IAAK,SACL,IAAK,iBACL,IAAK,oCACL,IAAK,mBACL,IAAK,UACL,IAAK,OACL,IAAK,cACL,IAAK,cACL,IAAK,QACL,IAAK,YACL,IAAK,WACL,IAAK,eACL,IAAK,kBACL,IAAK,cACL,IAAK,cACL,IAAK,QACL,IAAK,wBACL,IAAK,aACL,IAAK,aACL,IAAK,sBACL,IAAK,OACL,IAAK,mBACL,IAAK,UACL,IAAK,SACL,IAAK,oBACL,IAAK,oBACL,IAAK,oBACL,IAAK,WACL,IAAK,qBACL,IAAK,sBACL,IAAK,WACL,IAAK,WACL,IAAK,eACL,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,mBACL,IAAK,SACL,IAAK,oBACL,IAAK,eACL,IAAK,gBACL,IAAK,YACL,IAAK,UACL,IAAK,UACL,IAAK,gBACL,IAAK,mBACL,IAAK,iBACL,IAAK,eACL,IAAK,mBACL,IAAK,WACL,IAAK,kBACL,IAAK,cACL,IAAK,WACL,IAAK,uBACL,IAAK,WACL,IAAK,aACL,IAAK,YACL,IAAK,qBACL,IAAK,QACL,IAAK,QACL,IAAK,mBACL,IAAK,WACL,IAAK,SACL,IAAK,qBACL,IAAK,YACL,IAAK,mBACL,IAAK,cACL,IAAK,eACL,IAAK,aACL,IAAK,oBACL,IAAK,qBACL,IAAK,YACL,IAAK,oBACL,IAAK,aACL,IAAK,YACL,IAAK,UACL,IAAK,kBACL,IAAK,uBACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,aACL,IAAK,qBACL,IAAK,WACL,IAAK,mBACL,IAAK,sBACL,IAAK,UACL,IAAK,WACL,IAAK,mBACL,IAAK,qBACL,IAAK,YACL,IAAK,gBACL,IAAK,sBACL,IAAK,oBACL,IAAK,aACL,IAAK,aACL,IAAK,YACL,IAAK,qBACL,IAAK,YACL,IAAK,iBACL,IAAK,WACL,IAAK,WACL,IAAK,aACL,IAAK,WACL,IAAK,iBACL,IAAK,aACL,IAAK,WACL,IAAK,oBACL,IAAK,sBACL,IAAK,WACL,IAAK,aACL,IAAK,iBACL,IAAK,uBACL,IAAK,qBACL,IAAK,uBACL,IAAK,eACL,IAAK,qBACL,IAAK,YACL,IAAK,WACL,IAAK,SACL,IAAK,iBACL,IAAK,iBACL,IAAK,YACL,IAAK,2BACL,IAAK,iBACL,IAAK,SACL,IAAK,kBACL,IAAK,SACL,IAAK,SACL,IAAK,UACL,IAAK,UACL,IAAK,eACL,IAAK,WACL,IAAK,eACL,IAAK,UACL,IAAK,cACL,IAAK,gBACL,IAAK,iBACL,IAAK,cACL,IAAK,qBACL,IAAK,oBACL,IAAK,oBACL,IAAK,qBACL,IAAK,UACL,IAAK,iBACL,IAAK,sBACL,IAAK,mBACL,IAAK,kBACL,IAAK,sBACL,IAAK,cACL,IAAK,aACL,IAAK,gBACL,IAAK,cACL,IAAK,mBACL,IAAK,cACL,IAAK,eACL,IAAK,0BACL,IAAK,WACL,IAAK,6BACL,IAAK,yBACL,IAAK,kCACL,IAAK,uBACL,IAAK,sBACL,IAAK,aACL,IAAK,gBACL,IAAK,uBACL,IAAK,wBACL,IAAK,qBACL,IAAK,yBACL,IAAK,UACL,IAAK,oBACL,IAAK,0CACL,IAAK,4BACN,ECtTA,mBAEO,IAAM,GAAkB,EAAE,OAAO,CACvC,IAAK,EAAE,OAAO,EAAE,MAAM,OAAO,EAAE,IAAI,EAAE,EACrC,KAAM,EACJ,OAAO,EACP,MAAM,gBAAgB,EACtB,IAAI,EAAE,CACT,CAAC,EAIY,EAAqB,EAAE,OAAO,EAAE,MAAM,WAAY,2BAA2B,EAI7E,EAA4B,EACvC,OAAO,EACP,MAAM,mBAAoB,mCAAmC,EAIlD,EAAuB,EAAE,OAAO,EAAE,MAAM,WAAY,6BAA6B,ECjB9F,mBCLA,mBAGO,IAAM,EAAwB,EACnC,OAAO,EACP,MAAM,sBAAuB,8BAA8B,EAIhD,EAA+B,EAC1C,OAAO,EACP,MAAM,yCAA0C,sCAAsC,EAI3E,EAA0B,EACrC,OAAO,EACP,MAAM,sBAAuB,gCAAgC,ECjB/D,mBAGO,IAAM,EAAsB,EACjC,OAAO,EACP,MAAM,sBAAuB,4BAA4B,EAI9C,EAA6B,EACxC,OAAO,EACP,MAAM,yCAA0C,oCAAoC,EFE/E,IAAM,EAAmB,EAAE,KAAK,CAAC,eAAgB,gBAAiB,iBAAiB,CAAC,EAG9E,EAAqB,EAAE,OAAO,CAC1C,SAAU,EACV,GAAI,EAAE,MAAM,CACX,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACD,CAAC,CACF,CAAC,EAGY,EAAiB,EAAE,KAAK,CAAC,aAAc,cAAc,CAAC,EG/BnE,6BACA,mBAeO,IAAM,EAAmB,EAC9B,OAAO,EACP,OAAO,CAAC,IAAM,EAAK,CAAC,EAAE,MAAM,EAAG,CAC/B,MAAO,CAAC,IACP,yBAAyB,EAAK,OAAO,GAAG,OAAS,EAAE,CAAC,EAClD,OAAO,EACP,KAAK,GAAG,GACZ,CAAC,EACA,UAAU,CAAC,IAAM,OAAO,EAAK,CAAC,EAAE,OAAO,CAAC,CAAC,ECxB3C,IAAe,GACd,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACD,ECjTA,mBAEO,IAAM,EAAU,EAAE,KAAK,CAAQ,ECHtC,eAAS,kBACT,mCACA,sCAEO,IAAM,EAAO,IAAI,EAAK,EAAE,OAAO,IAClC,KACA,CACJ,CAAC,ECND,mBAAS,0BACT,mBAEO,IAAM,EAAiB,EAC5B,OAAO,CAAE,MAAO,CAAC,IAAM,kBAAkB,OAAO,GAAG,QAAS,CAAC,EAC7D,UAAU,CAAC,IAAM,EAAE,KAAK,CAAC,EACzB,OAAO,CAAC,IAAM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",
|
|
22
|
+
"debugId": "79BB28E9F3291B8A64756E2164756E21",
|
|
22
23
|
"names": []
|
|
23
24
|
}
|