epublib 0.0.0 → 0.1.1

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.
Files changed (44) hide show
  1. package/dist/epub.d.ts +274 -0
  2. package/dist/epub.d.ts.map +1 -0
  3. package/dist/epub.js +367 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +3 -0
  7. package/dist/schemas/epub/containerXml.d.ts +18 -0
  8. package/dist/schemas/epub/containerXml.d.ts.map +1 -0
  9. package/dist/schemas/epub/containerXml.js +14 -0
  10. package/dist/schemas/epub/dublinCore.d.ts +393 -0
  11. package/dist/schemas/epub/dublinCore.d.ts.map +1 -0
  12. package/dist/schemas/epub/dublinCore.js +39 -0
  13. package/dist/schemas/epub/global.d.ts +2146 -0
  14. package/dist/schemas/epub/global.d.ts.map +1 -0
  15. package/dist/schemas/epub/global.js +52 -0
  16. package/dist/schemas/epub/packageOpf.d.ts +18 -0
  17. package/dist/schemas/epub/packageOpf.d.ts.map +1 -0
  18. package/dist/schemas/epub/packageOpf.js +20 -0
  19. package/dist/schemas/epub2/packageOpf.d.ts +2273 -0
  20. package/dist/schemas/epub2/packageOpf.d.ts.map +1 -0
  21. package/dist/schemas/epub2/packageOpf.js +57 -0
  22. package/dist/schemas/epub3/global.d.ts +8 -0
  23. package/dist/schemas/epub3/global.d.ts.map +1 -0
  24. package/dist/schemas/epub3/global.js +2 -0
  25. package/dist/schemas/epub3/packageOpf.d.ts +2426 -0
  26. package/dist/schemas/epub3/packageOpf.d.ts.map +1 -0
  27. package/dist/schemas/epub3/packageOpf.js +75 -0
  28. package/dist/schemas/global.d.ts +33 -0
  29. package/dist/schemas/global.d.ts.map +1 -0
  30. package/dist/schemas/global.js +94 -0
  31. package/dist/schemas/loc.d.ts +316 -0
  32. package/dist/schemas/loc.d.ts.map +1 -0
  33. package/dist/schemas/loc.js +314 -0
  34. package/dist/utils/html.d.ts +2 -0
  35. package/dist/utils/html.d.ts.map +1 -0
  36. package/dist/utils/html.js +4 -0
  37. package/dist/utils/mime.d.ts +3 -0
  38. package/dist/utils/mime.d.ts.map +1 -0
  39. package/dist/utils/mime.js +6 -0
  40. package/dist/utils/xml.d.ts +4 -0
  41. package/dist/utils/xml.d.ts.map +1 -0
  42. package/dist/utils/xml.js +11 -0
  43. package/package.json +49 -5
  44. package/index.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageOpf.d.ts","sourceRoot":"","sources":["../../../src/schemas/epub2/packageOpf.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAOpB,eAAO,MAAM,2BAA2B;;;;;mBAKtC,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,2BAA2B,CAClC,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;mBAMtC,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,2BAA2B,CAClC,CAAC;AAOF,+CAA+C;AAC/C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA2C3B,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { satisfies, valid } from "semver";
2
+ import z from "zod";
3
+ import { PackageMetadataCommonDublinCoreTerms, PackageOpfSpine, } from "../epub/global.js";
4
+ import { BCP47LanguageTag, MimeType, NonEmptyString } from "../global.js";
5
+ export const Epub2PackageOPFManifestItem = z.object({
6
+ "@_id": NonEmptyString,
7
+ "@_media-type": MimeType,
8
+ "@_href": NonEmptyString,
9
+ "@_fallback": NonEmptyString.optional(),
10
+ });
11
+ export const Epub2PackageOpfMetadataMeta = z.object({
12
+ "@_name": NonEmptyString,
13
+ "@_content": NonEmptyString.optional(),
14
+ "@_dir": z.enum(["ltr", "rtl"]).optional(),
15
+ "@_xml:lang": BCP47LanguageTag.optional(),
16
+ "@_scheme": NonEmptyString.optional(),
17
+ });
18
+ const MetadataMeta = z
19
+ .union([z.array(Epub2PackageOpfMetadataMeta), Epub2PackageOpfMetadataMeta])
20
+ .transform((e) => (Array.isArray(e) ? e : [e]))
21
+ .pipe(z.array(Epub2PackageOpfMetadataMeta));
22
+ /** {@see {@link https://idpf.org/epub/201}} */
23
+ export const Epub2PackageOPF = z.object({
24
+ "?xml": z.object({
25
+ "@_version": z.literal("1.0"),
26
+ "@_encoding": z.string().toUpperCase().pipe(z.literal("UTF-8")),
27
+ }),
28
+ package: z.object({
29
+ "@_version": z.string().refine((e) => {
30
+ return satisfies(valid(e + ".0") ?? "0.0.0", "^2");
31
+ }, {
32
+ error: (e) => `EPUB version "${e.input}" not supported ("^2")`,
33
+ }),
34
+ "@_xmlns": z.literal("http://www.idpf.org/2007/opf"),
35
+ "@_unique-identifier": NonEmptyString,
36
+ metadata: z.looseObject({
37
+ ...PackageMetadataCommonDublinCoreTerms.shape,
38
+ meta: MetadataMeta.optional(),
39
+ "opf:meta": MetadataMeta.optional(),
40
+ }),
41
+ spine: PackageOpfSpine.optional(),
42
+ manifest: z.object({
43
+ "@_id": NonEmptyString.optional(),
44
+ item: z
45
+ .union([
46
+ z.array(Epub2PackageOPFManifestItem).nonempty(),
47
+ Epub2PackageOPFManifestItem,
48
+ ])
49
+ .transform((e) => {
50
+ if (Array.isArray(e)) {
51
+ return e;
52
+ }
53
+ return [e];
54
+ }),
55
+ }),
56
+ }),
57
+ }, "Malformed package.opf (version 2)");
@@ -0,0 +1,8 @@
1
+ import { z } from "zod/v4";
2
+ export declare const Dir: z.ZodEnum<{
3
+ ltr: "ltr";
4
+ rtl: "rtl";
5
+ auto: "auto";
6
+ }>;
7
+ export type Dir = z.infer<typeof Dir>;
8
+ //# sourceMappingURL=global.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../../src/schemas/epub3/global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,GAAG;;;;EAAiC,CAAC;AAClD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { z } from "zod/v4";
2
+ export const Dir = z.enum(["ltr", "rtl", "auto"]);