@pixzle/node 0.0.20 → 0.0.22

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.
@@ -59,7 +59,7 @@ class ImageFragmenter {
59
59
  const manifest = this._createManifest(manifestId, imageInfos);
60
60
  const blockCountsForCrossImages = (0, core_1.calculateBlockCountsForCrossImages)(blocks.length, paths.length);
61
61
  // Calculate actual block counts per image for per-image shuffle
62
- const blockCountsPerImage = (0, core_1.calculateBlockCountsPerImage)(imageInfos);
62
+ const blockCountsPerImage = (0, core_1.calculateBlockCountsPerImage)(imageInfos, this.config.blockSize);
63
63
  return { manifest, blocks, blockCountsForCrossImages, blockCountsPerImage };
64
64
  }
65
65
  async _processImages(paths) {
@@ -70,13 +70,10 @@ class ImageFragmenter {
70
70
  }
71
71
  async _processImage(path) {
72
72
  const buffer = await (0, file_1.readFileBuffer)(path);
73
- const { blocks, width, height, blockCountX, blockCountY } = await (0, block_1.imageFileToBlocks)(buffer, this.config.blockSize);
73
+ const { blocks, width, height } = await (0, block_1.imageFileToBlocks)(buffer, this.config.blockSize);
74
74
  const imageInfo = {
75
75
  w: width,
76
76
  h: height,
77
- c: 4, // Always use 4 channels (RGBA) for generated PNG
78
- x: blockCountX,
79
- y: blockCountY,
80
77
  name: this.config.preserveName
81
78
  ? (0, core_1.encodeFileName)((0, file_1.fileNameWithoutExtension)(path))
82
79
  : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"fragmenter.js","sourceRoot":"","sources":["../src/fragmenter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fragmenter.js","sourceRoot":"","sources":["../src/fragmenter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { type FragmentationConfig, type ManifestData, type RestoreOptions, type
2
2
  import { ImageFragmenter } from "./fragmenter";
3
3
  import { ImageRestorer } from "./restorer";
4
4
  export { ImageFragmenter, ImageRestorer, type FragmentationConfig, type ManifestData, };
5
- declare function shuffle(options: ShuffleOptions): Promise<void>;
5
+ declare function shuffle(options: ShuffleOptions): Promise<ManifestData>;
6
6
  declare function restore(options: RestoreOptions): Promise<void>;
7
7
  declare const pixzle: {
8
8
  shuffle: typeof shuffle;
package/dist/index.js CHANGED
@@ -17,10 +17,20 @@ async function shuffle(options) {
17
17
  const filename = (0, core_1.generateFragmentFileName)(manifest, i);
18
18
  return (0, file_1.writeFile)(outputDir, filename, img);
19
19
  }));
20
+ return manifest;
20
21
  }
21
22
  async function restore(options) {
22
- const { imagePaths, manifestPath, outputDir } = validateRestoreOptions(options);
23
- const manifest = await (0, file_1.readJsonFile)(manifestPath);
23
+ const { imagePaths, manifestPath, manifestData, outputDir } = validateRestoreOptions(options);
24
+ let manifest;
25
+ if (manifestData) {
26
+ manifest = manifestData;
27
+ }
28
+ else if (manifestPath) {
29
+ manifest = await (0, file_1.readJsonFile)(manifestPath);
30
+ }
31
+ else {
32
+ throw new Error("Manifest not provided");
33
+ }
24
34
  (0, core_1.validateFragmentImageCount)(imagePaths, manifest);
25
35
  const restorer = new restorer_1.ImageRestorer();
26
36
  const restoredImages = await restorer.restoreImages(imagePaths, manifest);
@@ -51,9 +61,11 @@ function validateShuffleOptions(options) {
51
61
  return validateCommonOptions(options, "shuffle");
52
62
  }
53
63
  function validateRestoreOptions(options) {
54
- const { manifestPath } = options;
55
- if (!manifestPath || typeof manifestPath !== "string")
56
- throw new Error("[restore] manifestPath is required and must be a string.");
64
+ const { manifestPath, manifestData } = options;
65
+ if (!manifestPath && !manifestData)
66
+ throw new Error("[restore] Either manifestPath or manifestData is required.");
67
+ if (manifestPath && typeof manifestPath !== "string")
68
+ throw new Error("[restore] manifestPath must be a string.");
57
69
  return validateCommonOptions(options, "restore");
58
70
  }
59
71
  //# sourceMappingURL=index.js.map
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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"}
package/dist/restorer.js CHANGED
@@ -14,7 +14,7 @@ class ImageRestorer {
14
14
  return await this._reconstructImages(restored, manifest);
15
15
  }
16
16
  async _reconstructImages(blocks, manifest) {
17
- const blockCountsPerImage = (0, core_1.calculateBlockCountsPerImage)(manifest.images);
17
+ const blockCountsPerImage = (0, core_1.calculateBlockCountsPerImage)(manifest.images, manifest.config.blockSize);
18
18
  return await Promise.all(manifest.images.map(async (imageInfo, index) => {
19
19
  const { start, end } = (0, core_1.calculateBlockRange)(blockCountsPerImage, index);
20
20
  const imageBlocks = blocks.slice(start, end);
@@ -22,10 +22,10 @@ class ImageRestorer {
22
22
  }));
23
23
  }
24
24
  async _prepareData(fragments, manifest) {
25
- const totalBlocks = (0, core_1.calculateTotalBlocks)(manifest.images);
25
+ const totalBlocks = (0, core_1.calculateTotalBlocks)(manifest.images, manifest.config.blockSize);
26
26
  const blockCountsForCrossImages = (0, core_1.calculateBlockCountsForCrossImages)(totalBlocks, fragments.length);
27
27
  // Calculate actual block counts per image for per-image unshuffle
28
- const blockCountsPerImage = (0, core_1.calculateBlockCountsPerImage)(manifest.images);
28
+ const blockCountsPerImage = (0, core_1.calculateBlockCountsPerImage)(manifest.images, manifest.config.blockSize);
29
29
  // Use blockCountsPerImage when crossImageShuffle is false
30
30
  const blockCounts = manifest.config.crossImageShuffle
31
31
  ? blockCountsForCrossImages
@@ -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/node",
3
- "version": "0.0.20",
3
+ "version": "0.0.22",
4
4
  "description": "Node.js implementation of image fragmentation and restoration",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "dependencies": {
22
22
  "@tuki0918/seeded-shuffle": "^1.0.0",
23
23
  "jimp": "^1.6.0",
24
- "@pixzle/core": "0.0.20"
24
+ "@pixzle/core": "0.0.22"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "^22.10.2",
@@ -32,6 +32,7 @@
32
32
  "scripts": {
33
33
  "build": "tsc -p tsconfig.build.json",
34
34
  "build:check": "tsc -p tsconfig.build.json --noEmit",
35
- "test": "vitest"
35
+ "test": "vitest run",
36
+ "test:watch": "vitest"
36
37
  }
37
38
  }