@imferno/wasm 2.0.1-beta.ceb7ee2 → 2.0.1-beta.e0cf1f4

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/codes.d.ts CHANGED
@@ -336,5 +336,12 @@ export declare const codes: {
336
336
  readonly Imferno: {
337
337
  readonly UnreferencedAsset: "IMFERNO:Package/UnreferencedAsset";
338
338
  readonly UnlistedEssence: "IMFERNO:Package/UnlistedEssence";
339
+ readonly ParseError: "IMFERNO:Package/ParseError";
340
+ readonly PklParseError: "IMFERNO:Package/PklParseError";
341
+ readonly XmlAssetParseError: "IMFERNO:Package/XmlAssetParseError";
342
+ readonly XmlReadError: "IMFERNO:Package/XmlReadError";
343
+ readonly ReadDirError: "IMFERNO:Package/ReadDirError";
344
+ readonly DirEntryError: "IMFERNO:Package/DirEntryError";
345
+ readonly PathTraversal: "IMFERNO:Package/PathTraversal";
339
346
  }
340
347
  };
package/codes.js CHANGED
@@ -336,5 +336,12 @@ export const codes = {
336
336
  Imferno: {
337
337
  UnreferencedAsset: "IMFERNO:Package/UnreferencedAsset",
338
338
  UnlistedEssence: "IMFERNO:Package/UnlistedEssence",
339
+ ParseError: "IMFERNO:Package/ParseError",
340
+ PklParseError: "IMFERNO:Package/PklParseError",
341
+ XmlAssetParseError: "IMFERNO:Package/XmlAssetParseError",
342
+ XmlReadError: "IMFERNO:Package/XmlReadError",
343
+ ReadDirError: "IMFERNO:Package/ReadDirError",
344
+ DirEntryError: "IMFERNO:Package/DirEntryError",
345
+ PathTraversal: "IMFERNO:Package/PathTraversal",
339
346
  }
340
347
  };
package/imferno_wasm.d.ts CHANGED
@@ -505,6 +505,24 @@ export function getVersion(): string;
505
505
  */
506
506
  export function init(): void;
507
507
 
508
+ /**
509
+ * Parse an IMF package from in-memory files, returning the full parsed package.
510
+ *
511
+ * Unlike `buildReport` which returns a summary, this returns the complete
512
+ * `Imferno` struct with all essence descriptors, locales, content versions, etc.
513
+ */
514
+ export function parsePackage(files: any): any;
515
+
516
+ /**
517
+ * Parse and validate an IMF package in one call.
518
+ *
519
+ * Returns `{ package, validation }` where `package` is the full `Imferno`
520
+ * struct and `validation` is the `ValidationReport` with all findings.
521
+ *
522
+ * This is the recommended entry point.
523
+ */
524
+ export function validate(files: any, options: any): any;
525
+
508
526
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
509
527
 
510
528
  export interface InitOutput {
@@ -513,6 +531,8 @@ export interface InitOutput {
513
531
  readonly formatReport: (a: any) => [number, number, number, number];
514
532
  readonly getVersion: () => [number, number];
515
533
  readonly init: () => void;
534
+ readonly parsePackage: (a: any) => [number, number, number];
535
+ readonly validate: (a: any, b: any) => [number, number, number];
516
536
  readonly __wbindgen_malloc: (a: number, b: number) => number;
517
537
  readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
518
538
  readonly __wbindgen_exn_store: (a: number) => void;
package/imferno_wasm.js CHANGED
@@ -76,6 +76,41 @@ export function init() {
76
76
  wasm.init();
77
77
  }
78
78
 
79
+ /**
80
+ * Parse an IMF package from in-memory files, returning the full parsed package.
81
+ *
82
+ * Unlike `buildReport` which returns a summary, this returns the complete
83
+ * `Imferno` struct with all essence descriptors, locales, content versions, etc.
84
+ * @param {any} files
85
+ * @returns {any}
86
+ */
87
+ export function parsePackage(files) {
88
+ const ret = wasm.parsePackage(files);
89
+ if (ret[2]) {
90
+ throw takeFromExternrefTable0(ret[1]);
91
+ }
92
+ return takeFromExternrefTable0(ret[0]);
93
+ }
94
+
95
+ /**
96
+ * Parse and validate an IMF package in one call.
97
+ *
98
+ * Returns `{ package, validation }` where `package` is the full `Imferno`
99
+ * struct and `validation` is the `ValidationReport` with all findings.
100
+ *
101
+ * This is the recommended entry point.
102
+ * @param {any} files
103
+ * @param {any} options
104
+ * @returns {any}
105
+ */
106
+ export function validate(files, options) {
107
+ const ret = wasm.validate(files, options);
108
+ if (ret[2]) {
109
+ throw takeFromExternrefTable0(ret[1]);
110
+ }
111
+ return takeFromExternrefTable0(ret[0]);
112
+ }
113
+
79
114
  function __wbg_get_imports() {
80
115
  const import0 = {
81
116
  __proto__: null,
Binary file
@@ -5,6 +5,8 @@ export const buildReport: (a: any, b: any) => [number, number, number];
5
5
  export const formatReport: (a: any) => [number, number, number, number];
6
6
  export const getVersion: () => [number, number];
7
7
  export const init: () => void;
8
+ export const parsePackage: (a: any) => [number, number, number];
9
+ export const validate: (a: any, b: any) => [number, number, number];
8
10
  export const __wbindgen_malloc: (a: number, b: number) => number;
9
11
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
10
12
  export const __wbindgen_exn_store: (a: number) => void;
package/index.js CHANGED
@@ -42,6 +42,18 @@ export async function formatReport(report) {
42
42
  return wasm.formatReport(report);
43
43
  }
44
44
 
45
+ // Parse an IMF package, returning the full Imferno struct (no validation)
46
+ export async function parsePackage(files) {
47
+ await ensureInit();
48
+ return wasm.parsePackage(files);
49
+ }
50
+
51
+ // Parse + validate — returns { package, validation }
52
+ export async function validate(files, options) {
53
+ await ensureInit();
54
+ return wasm.validate(files, options);
55
+ }
56
+
45
57
  // Utility
46
58
  export async function getVersion() {
47
59
  await ensureInit();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imferno/wasm",
3
- "version": "2.0.1-beta.ceb7ee2",
3
+ "version": "2.0.1-beta.e0cf1f4",
4
4
  "description": "Fast, type-safe SMPTE ST 2067 IMF parser for JavaScript and TypeScript",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",