@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 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=19DEB59BCFBDFE7864756E2164756E21
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": "19DEB59BCFBDFE7864756E2164756E21",
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,IAAM,GAAI,0BAA0B,EAGvC,GAAyB,EACpC,OAAO,CAAE,MAAO,CAAC,IAAM,kBAAkB,OAAO,GAAG,QAAS,CAAC,EAC7D,UAAU,CAAC,IAAM,EAAE,KAAK,CAAC,EACzB,UAAU,CAAC,IAAO,IAAM,GAAK,KAAO,CAAE,EAG3B,EAAkB,EAC7B,OAKC,CAAC,IAAM,CACR,OAAO,OAAO,IAAM,UAAY,oDAAoD,KAAK,CAAC,EAC1F,EACA,OACA,CAAC,IAAM,CACN,GAAI,EAAE,QAAQ,GAAG,EAAI,EACpB,GAAI,CAEH,OADA,EAAS,QAAQ,KAAK,CAAC,EAChB,GACN,KAAM,CACP,MAAO,GAEF,KACN,IAAM,EAAI,EAAE,MAAM,GAAG,EAErB,GAAI,EAAE,OAAS,EAEd,MAAO,GACD,QAAI,EAAE,SAAW,EACvB,GAAI,CAEH,OADA,EAAS,UAAU,KAAK,CAAC,EAClB,GACN,KAAM,CACP,MAAO,GAEF,QAAI,EAAE,SAAW,EACvB,GAAI,CAEH,OADA,EAAS,UAAU,KAAK,EAAI,KAAK,EAC1B,GACN,KAAM,CACP,MAAO,GAEF,QAAI,EAAE,SAAW,EACvB,GAAI,CAEH,OADA,EAAS,UAAU,KAAK,EAAI,QAAQ,EAC7B,GACN,KAAM,CACP,MAAO,GAKT,MAAO,KAGT,CAAE,MAAO,CAAC,IAAM,SAAS,OAAO,GAAG,OAAS,EAAE,EAAE,UAAU,EAAG,EAAE,eAAgB,CAChF,EAGY,EAAO,EAAE,OACpB,OAAO,EACP,OAAO,CAAC,IAAM,EAAK,aAAa,CAAC,IAAM,KAAM,CAC7C,MAAO,CAAC,IAAM,sBAAsB,OAAO,EAAE,KAAK,IACnD,CAAC,EACA,UAAU,CAAC,IAAM,EAAE,kBAAkB,EAAE,KAAK,CAAC,ECxExC,SAAS,CAA6C,CAAC,EAAsB,CACnF,IAAM,EAAe,EAAW,OAAO,CAAC,IAAM,EAAE,UAAY,EAAI,EAAE,OAElE,GAAI,EAAe,EAAG,CACrB,IAAM,EAAoB,EAAW,UAAU,CAAC,IAAM,EAAE,UAAY,EAAI,EAExE,OAAO,EAAW,IAAI,CAAC,EAAG,IAAM,CAE/B,OADA,EAAE,QAAU,IAAM,EACX,EACP,EAGF,GAAI,IAAiB,GAAK,OAAO,EAAW,GAAO,IAElD,OADA,EAAW,GAAG,QAAU,GACjB,EAGR,OAAO,EChBR,mBAEO,IAAM,EAAc,EAAE,OAAO,CACnC,SAAU,EAAiB,SAAS,EAAE,QAAQ,IAAI,EAClD,MAAO,EACP,KAAM,EAAE,KAAK,CAAC,QAAS,WAAY,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,IAAI,EACnE,QAAS,EAAE,QAAQ,EAAE,QAAQ,EAAK,CACnC,CAAC,EAGY,EAAe,EAAE,OAAO,CACpC,YAAa,EACb,UAAW,EAAe,SAAS,EACnC,WAAY,EAAe,SAAS,EACpC,WAAY,EAAe,SAAS,EACpC,QAAS,EAAE,QAAQ,EAAE,QAAQ,EAAK,CACnC,CAAC,EAGY,EAAU,EAAE,OAAO,CAC/B,oBAAqB,EAAE,MAAM,CAAkB,EAC/C,MAAO,EAAE,MAAM,CAAY,EAAE,IAAI,CAAC,EAAE,UAAU,CAAc,EAC5D,MAAO,EAAE,MAAM,CAAO,CACvB,CAAC,EAGY,EAAY,EAAE,KAAK,CAAC,QAAS,WAAY,QAAS,MAAM,CAAC,EAGzD,EAAQ,EAAE,aACtB,EAAE,OAAO,CACR,KAAM,EACN,OAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAChC,MAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,EAC/B,SAAU,EAAiB,SAAS,EAAE,QAAQ,IAAI,EAClD,QAAS,EAAE,QAAQ,EAAE,QAAQ,EAAK,EAClC,UAAW,EAAK,KAAK,EAAE,OAAO,EAAE,WAAW,QAAQ,CAAC,EAAE,SAAS,CAChE,CAAC,EACD,EAAE,MAAM,CACP,EAAE,OAAO,CACR,SAAU,EACV,GAAI,CACL,CAAC,EACD,EAAE,OAAO,CACR,SAAU,EAAE,KAAK,EACjB,GAAI,EAAE,IAAI,CACX,CAAC,CACF,CAAC,CACF,EChDA,mBAEO,IAAM,GAAyB,EAAE,OAAO,CAC9C,aAAc,EAAE,MAAM,CAAc,EACpC,iBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,EAE/B,kBAAmB,EACnB,sBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC,CACrC,CAAC,EAGY,EAAkB,EAAE,OAAO,CACvC,mBAAoB,EAAe,SAAS,EAC5C,oBAAqB,EAAE,MAAM,CAAkB,EAAE,IAAI,CAAC,EAEtD,aAAc,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS,EACzC,OAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,EACxB,MAAO,EAAE,MAAM,CAAW,EAAE,IAAI,CAAC,EAAE,UAAU,CAAc,EAC3D,SAAU,EAAE,MAAM,CAAO,EAEzB,UAAW,EAAgB,SAAS,EACpC,UAAW,EAAgB,SAAS,CACrC,CAAC,EAGY,EAAiB,EAAE,OAAO,CACtC,mBAAoB,EAAe,SAAS,EAC5C,oBAAqB,EAAE,MAAM,CAAkB,EAE/C,OAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,EACxB,MAAO,EAAE,MAAM,CAAW,EAAE,UAAU,CAAc,EAEpD,UAAW,EAAgB,SAAS,EACpC,UAAW,EAAgB,SAAS,EAEpC,SAAU,EAAE,MAAM,CAAe,CAClC,CAAC,EAGY,GAAW,EAAE,OAAO,CAChC,mBAAoB,EAAe,SAAS,EAC5C,oBAAqB,EAAE,MAAM,CAAkB,EAAE,IAAI,CAAC,EAEtD,MAAO,EAAE,MAAM,CAAW,EAAE,IAAI,CAAC,EAAE,UAAU,CAAc,EAC3D,SAAU,EACV,UAAW,EAAE,MAAM,CAAW,EAAE,UAAU,CAAc,EACxD,SAAU,EAAE,MAAM,CAAO,EACzB,OAAQ,EAAE,MAAM,CAAK,EAAE,UAAU,CAAc,EAC/C,iBAAkB,EAAiB,SAAS,EAC5C,eAAgB,EAAe,SAAS,EAExC,WAAY,EAAE,QAAQ,EAAE,SAAS,EAEjC,UAAW,EAAgB,SAAS,EACpC,UAAW,EAAgB,SAAS,EAEpC,QAAS,EAAE,MAAM,CAAc,CAChC,CAAC,ECzDM,SAAS,EAAqB,CAAC,EAA2C,CAChF,IAAM,EAAU,EAAE,KAAK,CAAC,IAAM,EAAE,UAAY,EAAI,EAChD,GAAI,OAAO,EAAY,IACtB,OAAO,EAGR,OAAO,IAAI,IAAM,OAMX,SAAS,EAAe,CAAC,EAA+B,CAC9D,IAAM,EAAU,EAAE,KAAK,CAAC,IAAM,EAAE,UAAY,EAAI,EAChD,GAAI,OAAO,EAAY,IACtB,OAAO,EAGR,OAAO,IAAI,IAAM,OCVlB,mBAEO,SAAS,EAA+B,CAAC,EAA0C,CACzF,GAAI,EAAI,WAAa,eAAgB,CACpC,IAAM,EAAU,EAAmB,UAAU,EAAI,EAAE,GAAG,MAAQ,OACxD,EAAiB,EAA0B,UAAU,EAAI,EAAE,GAAG,MAAQ,OACtE,EAAY,EAAqB,UAAU,EAAI,EAAE,GAAG,MAAQ,OAE5D,EAAO,2BAEb,GAAI,OAAO,IAAY,SACtB,OAAO,IAAI,IAAI,SAAS,EAAQ,UAAU,CAAC,IAH/B,0BAGwC,EAC9C,QAAI,OAAO,IAAmB,SAAU,CAC9C,IAAM,EAAI,EAAe,MAAM,GAAG,EAClC,OAAO,IAAI,IAAI,SAAS,EAAE,MAAM,EAAE,KANtB,0BAMgC,EACtC,QAAI,OAAO,IAAc,SAC/B,OAAO,IAAI,IAAI,YAAY,EAAU,UAAU,CAAC,IARpC,0BAQ6C,EAEpD,QAAI,EAAI,WAAa,gBAAiB,CAC5C,IAAM,EAAU,EAAoB,UAAU,EAAI,EAAE,GAAG,MAAQ,OACzD,EAAiB,EAA2B,UAAU,EAAI,EAAE,GAAG,MAAQ,OAEvE,EAAO,wBAEb,GAAI,OAAO,IAAY,SACtB,OAAO,IAAI,IAAI,SAAS,EAAQ,UAAU,CAAC,IAH/B,uBAGwC,EAC9C,QAAI,OAAO,IAAmB,SAAU,CAC9C,IAAM,EAAI,EAAe,MAAM,GAAG,EAClC,OAAO,IAAI,IAAI,SAAS,EAAE,MAAM,EAAE,KANtB,uBAMgC,GAEvC,QAAI,EAAI,WAAa,kBAAmB,CAC9C,IAAM,EAAU,EAAsB,UAAU,EAAI,EAAE,GAAG,MAAQ,OAC3D,EAAiB,EAA6B,UAAU,EAAI,EAAE,GAAG,MAAQ,OACzE,EAAY,EAAwB,UAAU,EAAI,EAAE,GAAG,MAAQ,OAE/D,EAAO,0BAEb,GAAI,OAAO,IAAY,SACtB,OAAO,IAAI,IAAI,UAAU,EAAQ,UAAU,CAAC,IAHhC,yBAGyC,EAC/C,QAAI,OAAO,IAAmB,SAAU,CAC9C,IAAM,EAAI,EAAe,MAAM,GAAG,EAClC,OAAO,IAAI,IAAI,UAAU,EAAE,MAAM,EAAE,KANvB,yBAMiC,EACvC,QAAI,OAAO,IAAc,SAC/B,OAAO,IAAI,IAAI,YAAY,EAAU,UAAU,CAAC,IARpC,yBAQ6C,EAI3D,OAGD,IAAM,EAAoB,EAAE,OAAO,CAClC,WAAY,EAAE,QAAQ,SAAS,EAM/B,OAAQ,EACN,KAAK,CAAC,MAAO,MAAO,MAAO,MAAO,OAAQ,OAAQ,UAAU,CAAC,EAC7D,QAAQ,UAAU,EAClB,SAAS,EAKX,QAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE,EAAE,SAAS,EAItD,QAAS,EAAE,IAAI,EAAE,SAAS,EAK1B,SAAU,EAAE,QAAQ,EAAE,SAAS,EAK/B,iBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,SAAS,EAM5D,MAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,OAAO,gBAAgB,EAAE,SAAS,EAI5D,OAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,OAAO,gBAAgB,EAAE,SAAS,EAK7D,iBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,EAMjD,IAAK,EAAE,KAAK,CAAC,SAAU,UAAW,QAAS,OAAQ,SAAS,CAAC,EAAE,SAAS,EAIxE,mBAAoB,EAAE,QAAQ,EAAE,QAAQ,EAAI,EAAE,SAAS,EAYvD,kBAAmB,EACjB,KAAK,CACL,MACA,QACA,SACA,OACA,WACA,cACA,eACA,YACA,SAEA,UACA,WACD,CAAC,EACA,QAAQ,QAAQ,EAChB,SAAS,CACZ,CAAC,EACK,EAAc,EAAE,mBAAmB,aAAc,CACtD,EAAE,OAAO,CACR,WAAY,EAAE,QAAQ,EAAK,CAC5B,CAAC,EACD,CACD,CAAC,EAEM,SAAS,EAAkB,CACjC,EACA,EAA2B,CAAE,WAAY,EAAM,EAC7B,CAClB,IAAM,EAAS,EAAY,MAAM,CAAW,EAExC,EAA4B,OAEhC,GAAI,EAAM,WAAa,gBACtB,GAAI,kBAAkB,KAAK,EAAM,EAAE,EAAG,CACrC,IAAM,EAAM,EAAM,GAAG,MAAM,GAAG,EAK9B,GAHA,EAAW,IAAI,IAAI,cAAc,EAAI,KAAM,+BAA+B,EAE1E,EAAS,aAAa,IAAI,4BAA6B,EAAE,EACrD,OAAO,IAAM,KAAO,SACvB,EAAS,aAAa,IAAI,UAAW,EAAI,EAAE,GAK9C,GAAI,OAAO,EAAa,IACvB,OAKD,GAAI,EAAO,aAAe,UAAW,CACpC,IAAM,EAAW,IAAI,IAAI,iBAAiB,EAC1C,EAAS,aAAa,IAAI,MAAO,EAAS,SAAS,CAAC,EAEpD,IAAM,EAAc,EAAkB,MAAM,CAAM,EAElD,GAAI,OAAO,GAAa,QAAU,SACjC,EAAS,aAAa,IAAI,IAAK,EAAY,MAAM,SAAS,CAAC,EACrD,QAAI,OAAO,GAAO,QAAU,SAClC,EAAS,aAAa,IAAI,IAAK,EAAM,MAAM,SAAS,CAAC,EAEtD,GAAI,OAAO,GAAa,SAAW,SAClC,EAAS,aAAa,IAAI,IAAK,EAAY,OAAO,SAAS,CAAC,EACtD,QAAI,OAAO,GAAO,SAAW,SACnC,EAAS,aAAa,IAAI,IAAK,EAAM,OAAO,SAAS,CAAC,EAEvD,GAAI,OAAO,GAAa,mBAAqB,SAC5C,EAAS,aAAa,IAAI,MAAO,EAAY,iBAAiB,SAAS,CAAC,EAGzE,GAAI,OAAO,GAAa,MAAQ,SAC/B,EAAS,aAAa,IAAI,MAAO,EAAY,GAAG,EAEjD,GACC,OAAO,GAAa,qBAAuB,WAC3C,EAAY,qBAAuB,GAEnC,EAAS,aAAa,IAAI,KAAM,MAAM,EAGvC,GAAI,OAAO,GAAa,oBAAsB,SAC7C,EAAS,aAAa,IAAI,IAAK,EAAY,iBAAiB,EAG7D,GAAI,OAAO,GAAa,mBAAqB,SAC5C,EAAS,aAAa,IAAI,IAAK,EAAY,iBAAiB,SAAS,CAAC,EAEvE,GAAI,OAAO,GAAa,WAAa,WAAa,EAAY,WAAa,GAC1E,EAAS,aAAa,IAAI,KAAM,MAAM,EAEvC,GAAI,OAAO,GAAa,UAAY,SACnC,EAAS,aAAa,IAAI,UAAW,EAAY,OAAO,EAEzD,GAAI,OAAO,GAAa,SAAW,UAAY,EAAY,SAAW,WACrE,EAAS,aAAa,IAAI,SAAU,EAAY,MAAM,EAEvD,GAAI,OAAO,GAAa,UAAY,SACnC,EAAS,aAAa,IAAI,IAAK,EAAY,QAAQ,SAAS,CAAC,EAG9D,OAAO,EAIR,OAAO",
22
+ "debugId": "79BB28E9F3291B8A64756E2164756E21",
22
23
  "names": []
23
24
  }
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "dist"
9
9
  ],
10
10
  "type": "module",
11
- "version": "0.6.0",
11
+ "version": "0.7.0",
12
12
  "scripts": {
13
13
  "format": "prettier --write --cache .",
14
14
  "lint": "prettier --check . && eslint --cache .",