@pixzle/browser 0.1.5 → 0.1.7

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/README.md CHANGED
@@ -10,27 +10,6 @@ npm i @pixzle/browser
10
10
 
11
11
  ## Usage
12
12
 
13
- ### Restore multiple images
14
-
15
- ```typescript
16
- import pixzle from '@pixzle/browser';
17
-
18
- const restoredBitmaps = await pixzle.restore({
19
- images: ['https://example.com/fragment1.png', 'https://example.com/fragment2.png'],
20
- manifest: 'https://example.com/manifest.json',
21
- });
22
-
23
- // Draw each restored image to canvas
24
- restoredBitmaps.forEach((bitmap) => {
25
- const canvas = document.createElement('canvas');
26
- canvas.width = bitmap.width;
27
- canvas.height = bitmap.height;
28
- const ctx = canvas.getContext('2d');
29
- ctx.drawImage(bitmap, 0, 0);
30
- document.body.appendChild(canvas);
31
- });
32
- ```
33
-
34
13
  ### Restore a single image
35
14
 
36
15
  ```typescript
@@ -52,3 +31,24 @@ canvas.height = restoredBitmap.height;
52
31
  const ctx = canvas.getContext('2d');
53
32
  ctx.drawImage(restoredBitmap, 0, 0);
54
33
  ```
34
+
35
+ ### Restore multiple images
36
+
37
+ ```typescript
38
+ import pixzle from '@pixzle/browser';
39
+
40
+ const restoredBitmaps = await pixzle.restore({
41
+ images: ['https://example.com/fragment1.png', 'https://example.com/fragment2.png'],
42
+ manifest: 'https://example.com/manifest.json',
43
+ });
44
+
45
+ // Draw each restored image to canvas
46
+ restoredBitmaps.forEach((bitmap) => {
47
+ const canvas = document.createElement('canvas');
48
+ canvas.width = bitmap.width;
49
+ canvas.height = bitmap.height;
50
+ const ctx = canvas.getContext('2d');
51
+ ctx.drawImage(bitmap, 0, 0);
52
+ document.body.appendChild(canvas);
53
+ });
54
+ ```
package/dist/block.js CHANGED
@@ -43,14 +43,24 @@ async function blocksToImageBitmap(blocks, width, height, blockSize) {
43
43
  * @returns Processed blocks
44
44
  */
45
45
  function blocksPerImage(allBlocks, fragmentBlocksCount, seed, processFunc) {
46
- const processedBlocks = [];
46
+ // Pre-allocate array to avoid resizing and stack overflow issues with push(...processed)
47
+ const processedBlocks = new Array(allBlocks.length);
48
+ let globalOffset = 0;
47
49
  let offset = 0;
48
50
  for (const blockCount of fragmentBlocksCount) {
49
51
  const imageBlocks = allBlocks.slice(offset, offset + blockCount);
50
52
  const processed = processFunc(imageBlocks, seed);
51
- processedBlocks.push(...processed);
53
+ // Copy processed blocks to the result array one by one to avoid stack overflow
54
+ for (let i = 0; i < processed.length; i++) {
55
+ processedBlocks[globalOffset + i] = processed[i];
56
+ }
57
+ globalOffset += processed.length;
52
58
  offset += blockCount;
53
59
  }
54
- return processedBlocks;
60
+ // If the total size matches, return as is. Otherwise slice (safety check)
61
+ if (globalOffset === processedBlocks.length) {
62
+ return processedBlocks;
63
+ }
64
+ return processedBlocks.slice(0, globalOffset);
55
65
  }
56
66
  //# sourceMappingURL=block.js.map
package/dist/block.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"block.js","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":";;AAQA,gDA6BC;AAKD,kDAoBC;AAUD,wCAiBC;AAzFD,uCAGsB;AAEtB;;GAEG;AACH,SAAgB,kBAAkB,CAChC,KAAqC,EACrC,SAAiB;IAEjB,MAAM,KAAK,GACT,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACvE,MAAM,MAAM,GACV,KAAK,YAAY,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;IAEzE,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEtD,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAExD,0DAA0D;IAC1D,+FAA+F;IAC/F,0BAA0B;IAC1B,6CAA6C;IAC7C,MAAM,MAAM,GAAG,IAAI,UAAU,CAC3B,SAAS,CAAC,IAAI,CAAC,MAAM,EACrB,SAAS,CAAC,IAAI,CAAC,UAAU,EACzB,SAAS,CAAC,IAAI,CAAC,UAAU,CAC1B,CAAC;IAEF,OAAO,IAAA,yBAAsB,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,KAAa,EACb,MAAc,EACd,SAAiB;IAEjB,MAAM,MAAM,GAAG,IAAA,0BAAuB,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAEzE,mBAAmB;IACnB,MAAM,SAAS,GAAG,IAAI,SAAS,CAC7B,IAAI,iBAAiB,CACnB,MAAM,CAAC,MAAqB,EAC5B,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,UAAU,CAClB,EACD,KAAK,EACL,MAAM,CACP,CAAC;IAEF,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,SAAuB,EACvB,mBAA6B,EAC7B,IAAqB,EACrB,WAA0E;IAE1E,MAAM,eAAe,GAAiB,EAAE,CAAC;IACzC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,UAAU,IAAI,mBAAmB,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACjD,eAAe,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QACnC,MAAM,IAAI,UAAU,CAAC;IACvB,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"block.js","sourceRoot":"","sources":["../src/block.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,8 @@ export interface BrowserRestoreOptions {
8
8
  manifest?: string;
9
9
  /** Manifest data object (alternative to manifest) */
10
10
  manifestData?: ManifestData;
11
+ /** Fetch options to use when fetching resources (images, manifest) */
12
+ fetchOptions?: RequestInit;
11
13
  }
12
14
  export interface BrowserRestoreImageOptions {
13
15
  /** Image source - URL, Blob, HTMLImageElement, or ImageBitmap */
@@ -18,19 +20,23 @@ export interface BrowserRestoreImageOptions {
18
20
  seed: number;
19
21
  /** Information about the original image (dimensions) */
20
22
  imageInfo: ImageInfo;
23
+ /** Fetch options to use when fetching resources */
24
+ fetchOptions?: RequestInit;
21
25
  }
22
26
  /**
23
27
  * Fetch JSON from a URL
24
28
  * @param url The URL to fetch JSON from
29
+ * @param fetchOptions Optional fetch options
25
30
  * @returns Promise resolving to the parsed JSON
26
31
  */
27
- export declare function fetchJson<T>(url: string): Promise<T>;
32
+ export declare function fetchJson<T>(url: string, fetchOptions?: RequestInit): Promise<T>;
28
33
  /**
29
34
  * Fetch manifest data from a URL
30
35
  * @param url The URL to fetch manifest from
36
+ * @param fetchOptions Optional fetch options
31
37
  * @returns Promise resolving to ManifestData
32
38
  */
33
- export declare function fetchManifest(url: string): Promise<ManifestData>;
39
+ export declare function fetchManifest(url: string, fetchOptions?: RequestInit): Promise<ManifestData>;
34
40
  declare function restore(options: BrowserRestoreOptions): Promise<ImageBitmap[]>;
35
41
  declare function restoreImage(options: BrowserRestoreImageOptions): Promise<ImageBitmap>;
36
42
  declare const pixzle: {
package/dist/index.js CHANGED
@@ -8,10 +8,11 @@ Object.defineProperty(exports, "ImageRestorer", { enumerable: true, get: functio
8
8
  /**
9
9
  * Fetch JSON from a URL
10
10
  * @param url The URL to fetch JSON from
11
+ * @param fetchOptions Optional fetch options
11
12
  * @returns Promise resolving to the parsed JSON
12
13
  */
13
- async function fetchJson(url) {
14
- const response = await fetch(url);
14
+ async function fetchJson(url, fetchOptions) {
15
+ const response = await fetch(url, fetchOptions);
15
16
  if (!response.ok) {
16
17
  throw new Error(`Failed to fetch: ${response.status} ${response.statusText}`);
17
18
  }
@@ -20,10 +21,11 @@ async function fetchJson(url) {
20
21
  /**
21
22
  * Fetch manifest data from a URL
22
23
  * @param url The URL to fetch manifest from
24
+ * @param fetchOptions Optional fetch options
23
25
  * @returns Promise resolving to ManifestData
24
26
  */
25
- async function fetchManifest(url) {
26
- return fetchJson(url);
27
+ async function fetchManifest(url, fetchOptions) {
28
+ return fetchJson(url, fetchOptions);
27
29
  }
28
30
  function validateFragmentImageCount(fragmentImages, manifest) {
29
31
  const manifestImageCount = manifest.images.length;
@@ -33,25 +35,25 @@ function validateFragmentImageCount(fragmentImages, manifest) {
33
35
  }
34
36
  }
35
37
  async function restore(options) {
36
- const { images, manifest: manifestSource, manifestData, } = validateRestoreOptions(options);
38
+ const { images, manifest: manifestSource, manifestData, fetchOptions, } = validateRestoreOptions(options);
37
39
  let manifest;
38
40
  if (manifestData) {
39
41
  manifest = manifestData;
40
42
  }
41
43
  else if (manifestSource) {
42
- manifest = await fetchManifest(manifestSource);
44
+ manifest = await fetchManifest(manifestSource, fetchOptions);
43
45
  }
44
46
  else {
45
47
  throw new Error("Manifest not provided");
46
48
  }
47
49
  validateFragmentImageCount(images, manifest);
48
50
  const restorer = new restorer_1.ImageRestorer();
49
- return await restorer.restoreImages(images, manifest);
51
+ return await restorer.restoreImages(images, manifest, fetchOptions);
50
52
  }
51
53
  async function restoreImage(options) {
52
- const { image, blockSize, seed, imageInfo } = validateRestoreImageOptions(options);
54
+ const { image, blockSize, seed, imageInfo, fetchOptions } = validateRestoreImageOptions(options);
53
55
  const restorer = new restorer_1.ImageRestorer();
54
- return await restorer.restoreImage(image, blockSize, seed, imageInfo);
56
+ return await restorer.restoreImage(image, blockSize, seed, imageInfo, fetchOptions);
55
57
  }
56
58
  const pixzle = {
57
59
  restore,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare class ImageRestorer {
7
7
  * @param manifest The manifest data containing restoration information
8
8
  * @returns Promise resolving to an array of restored ImageBitmaps
9
9
  */
10
- restoreImages(fragments: ImageSource[], manifest: ManifestData): Promise<ImageBitmap[]>;
10
+ restoreImages(fragments: ImageSource[], manifest: ManifestData, fetchOptions?: RequestInit): Promise<ImageBitmap[]>;
11
11
  /**
12
12
  * Restore a single image from a shuffled source
13
13
  * @param imageSource The shuffled image (URL, Blob, HTMLImageElement, or ImageBitmap)
@@ -16,7 +16,7 @@ export declare class ImageRestorer {
16
16
  * @param imageInfo Information about the original image (dimensions)
17
17
  * @returns Promise resolving to the restored ImageBitmap
18
18
  */
19
- restoreImage(imageSource: ImageSource, blockSize: number, seed: number, imageInfo: ImageInfo): Promise<ImageBitmap>;
19
+ restoreImage(imageSource: ImageSource, blockSize: number, seed: number, imageInfo: ImageInfo, fetchOptions?: RequestInit): Promise<ImageBitmap>;
20
20
  private _loadImage;
21
21
  private _prepareData;
22
22
  private _readBlocksFromFragment;
package/dist/restorer.js CHANGED
@@ -11,8 +11,8 @@ class ImageRestorer {
11
11
  * @param manifest The manifest data containing restoration information
12
12
  * @returns Promise resolving to an array of restored ImageBitmaps
13
13
  */
14
- async restoreImages(fragments, manifest) {
15
- const { blocks, blockCountsPerImage } = await this._prepareData(fragments, manifest);
14
+ async restoreImages(fragments, manifest, fetchOptions) {
15
+ const { blocks, blockCountsPerImage } = await this._prepareData(fragments, manifest, fetchOptions);
16
16
  const restored = manifest.config.crossImageShuffle
17
17
  ? (0, seeded_shuffle_1.unshuffle)(blocks, manifest.config.seed)
18
18
  : (0, block_1.blocksPerImage)(blocks, blockCountsPerImage, manifest.config.seed, seeded_shuffle_1.unshuffle);
@@ -26,12 +26,12 @@ class ImageRestorer {
26
26
  * @param imageInfo Information about the original image (dimensions)
27
27
  * @returns Promise resolving to the restored ImageBitmap
28
28
  */
29
- async restoreImage(imageSource, blockSize, seed, imageInfo) {
29
+ async restoreImage(imageSource, blockSize, seed, imageInfo, fetchOptions) {
30
30
  const manifest = (0, core_1.createSingleImageManifest)({ blockSize, seed, imageInfo });
31
- const [restoredImage] = await this.restoreImages([imageSource], manifest);
31
+ const [restoredImage] = await this.restoreImages([imageSource], manifest, fetchOptions);
32
32
  return restoredImage;
33
33
  }
34
- async _loadImage(sourceInput) {
34
+ async _loadImage(sourceInput, fetchOptions) {
35
35
  let source = sourceInput;
36
36
  if (typeof URL !== "undefined" && source instanceof URL) {
37
37
  source = source.toString();
@@ -53,7 +53,7 @@ class ImageRestorer {
53
53
  return createImageBitmap(source);
54
54
  }
55
55
  if (typeof source === "string") {
56
- const response = await fetch(source);
56
+ const response = await fetch(source, fetchOptions);
57
57
  if (!response.ok) {
58
58
  throw new Error(`Failed to fetch image: ${response.status} ${response.statusText}`);
59
59
  }
@@ -62,7 +62,7 @@ class ImageRestorer {
62
62
  }
63
63
  throw new Error("Unsupported image source");
64
64
  }
65
- async _prepareData(fragments, manifest) {
65
+ async _prepareData(fragments, manifest, fetchOptions) {
66
66
  const totalBlocks = (0, core_1.calculateTotalBlocks)(manifest.images, manifest.config.blockSize);
67
67
  const blockCountsForCrossImages = (0, core_1.calculateBlockCountsForCrossImages)(totalBlocks, fragments.length);
68
68
  // Calculate actual block counts per image for per-image unshuffle
@@ -71,16 +71,16 @@ class ImageRestorer {
71
71
  const blockCounts = manifest.config.crossImageShuffle
72
72
  ? blockCountsForCrossImages
73
73
  : blockCountsPerImage;
74
- const blocks = await this._readBlocks(fragments, manifest, blockCounts);
74
+ const blocks = await this._readBlocks(fragments, manifest, blockCounts, fetchOptions);
75
75
  return { blocks, blockCountsPerImage };
76
76
  }
77
- async _readBlocksFromFragment(fragment, manifest, expectedCount) {
78
- const image = await this._loadImage(fragment);
77
+ async _readBlocksFromFragment(fragment, manifest, expectedCount, fetchOptions) {
78
+ const image = await this._loadImage(fragment, fetchOptions);
79
79
  const blocks = (0, block_1.splitImageToBlocks)(image, manifest.config.blockSize);
80
80
  return (0, core_1.takeBlocks)(blocks, expectedCount);
81
81
  }
82
- async _readBlocks(fragments, manifest, blockCounts) {
83
- const blockGroups = await Promise.all(fragments.map((fragment, i) => this._readBlocksFromFragment(fragment, manifest, blockCounts[i])));
82
+ async _readBlocks(fragments, manifest, blockCounts, fetchOptions) {
83
+ const blockGroups = await Promise.all(fragments.map((fragment, i) => this._readBlocksFromFragment(fragment, manifest, blockCounts[i], fetchOptions)));
84
84
  return blockGroups.flat();
85
85
  }
86
86
  async _reconstructImages(blocks, manifest) {
@@ -1 +1 @@
1
- {"version":3,"file":"restorer.js","sourceRoot":"","sources":["../src/restorer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restorer.js","sourceRoot":"","sources":["../src/restorer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixzle/browser",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Browser implementation of image fragmentation and restoration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@tuki0918/seeded-shuffle": "^1.0.0",
39
- "@pixzle/core": "0.1.5"
39
+ "@pixzle/core": "0.1.7"
40
40
  },
41
41
  "devDependencies": {
42
42
  "happy-dom": "^20.0.11",