@prosopo/datasets-fs 0.1.18 → 0.1.19

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 (137) hide show
  1. package/dist/cli.d.ts +2 -0
  2. package/dist/cli.d.ts.map +1 -0
  3. package/dist/cli.js +49 -0
  4. package/dist/cli.js.map +1 -0
  5. package/dist/flatten/args.d.ts +16 -0
  6. package/dist/flatten/args.d.ts.map +1 -0
  7. package/dist/flatten/args.js +8 -0
  8. package/dist/flatten/args.js.map +1 -0
  9. package/dist/flatten/cli.d.ts +18 -0
  10. package/dist/flatten/cli.d.ts.map +1 -0
  11. package/dist/flatten/cli.js +30 -0
  12. package/dist/flatten/cli.js.map +1 -0
  13. package/dist/flatten/flatten.d.ts +5 -0
  14. package/dist/flatten/flatten.d.ts.map +1 -0
  15. package/dist/flatten/flatten.js +65 -0
  16. package/dist/flatten/flatten.js.map +1 -0
  17. package/dist/flatten/index.d.ts +4 -0
  18. package/dist/flatten/index.d.ts.map +1 -0
  19. package/dist/flatten/index.js +4 -0
  20. package/dist/flatten/index.js.map +1 -0
  21. package/dist/generate/args.d.ts +37 -0
  22. package/dist/generate/args.d.ts.map +1 -0
  23. package/dist/generate/args.js +15 -0
  24. package/dist/generate/args.js.map +1 -0
  25. package/dist/generate/cli.d.ts +32 -0
  26. package/dist/generate/cli.d.ts.map +1 -0
  27. package/dist/generate/cli.js +62 -0
  28. package/dist/generate/cli.js.map +1 -0
  29. package/dist/generate/distinct/args.d.ts +49 -0
  30. package/dist/generate/distinct/args.d.ts.map +1 -0
  31. package/dist/generate/distinct/args.js +10 -0
  32. package/dist/generate/distinct/args.js.map +1 -0
  33. package/dist/generate/distinct/cli.d.ts +20 -0
  34. package/dist/generate/distinct/cli.d.ts.map +1 -0
  35. package/dist/generate/distinct/cli.js +31 -0
  36. package/dist/generate/distinct/cli.js.map +1 -0
  37. package/dist/generate/distinct/dummy.d.ts +2 -0
  38. package/dist/generate/distinct/dummy.d.ts.map +1 -0
  39. package/dist/generate/distinct/dummy.js +29 -0
  40. package/dist/generate/distinct/dummy.js.map +1 -0
  41. package/dist/generate/distinct/generate.d.ts +5 -0
  42. package/dist/generate/distinct/generate.d.ts.map +1 -0
  43. package/dist/generate/distinct/generate.js +186 -0
  44. package/dist/generate/distinct/generate.js.map +1 -0
  45. package/dist/generate/distinct/index.d.ts +4 -0
  46. package/dist/generate/distinct/index.d.ts.map +1 -0
  47. package/dist/generate/distinct/index.js +4 -0
  48. package/dist/generate/distinct/index.js.map +1 -0
  49. package/dist/generate/index.d.ts +5 -0
  50. package/dist/generate/index.d.ts.map +1 -0
  51. package/dist/generate/index.js +5 -0
  52. package/dist/generate/index.js.map +1 -0
  53. package/dist/generate/union/args.d.ts +52 -0
  54. package/dist/generate/union/args.d.ts.map +1 -0
  55. package/dist/generate/union/args.js +11 -0
  56. package/dist/generate/union/args.js.map +1 -0
  57. package/dist/generate/union/cli.d.ts +22 -0
  58. package/dist/generate/union/cli.d.ts.map +1 -0
  59. package/dist/generate/union/cli.js +35 -0
  60. package/dist/generate/union/cli.js.map +1 -0
  61. package/dist/generate/union/generate.d.ts +5 -0
  62. package/dist/generate/union/generate.d.ts.map +1 -0
  63. package/dist/generate/union/generate.js +168 -0
  64. package/dist/generate/union/generate.js.map +1 -0
  65. package/dist/generate/union/index.d.ts +4 -0
  66. package/dist/generate/union/index.d.ts.map +1 -0
  67. package/dist/generate/union/index.js +4 -0
  68. package/dist/generate/union/index.js.map +1 -0
  69. package/dist/generate/util.d.ts +6 -0
  70. package/dist/generate/util.d.ts.map +1 -0
  71. package/dist/generate/util.js +20 -0
  72. package/dist/generate/util.js.map +1 -0
  73. package/dist/get/args.d.ts +10 -0
  74. package/dist/get/args.d.ts.map +1 -0
  75. package/dist/get/args.js +6 -0
  76. package/dist/get/args.js.map +1 -0
  77. package/dist/get/cli.d.ts +14 -0
  78. package/dist/get/cli.d.ts.map +1 -0
  79. package/dist/get/cli.js +19 -0
  80. package/dist/get/cli.js.map +1 -0
  81. package/dist/get/get.d.ts +5 -0
  82. package/dist/get/get.d.ts.map +1 -0
  83. package/dist/get/get.js +60 -0
  84. package/dist/get/get.js.map +1 -0
  85. package/dist/get/index.d.ts +4 -0
  86. package/dist/get/index.d.ts.map +1 -0
  87. package/dist/get/index.js +4 -0
  88. package/dist/get/index.js.map +1 -0
  89. package/dist/index.d.ts +2 -0
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js +15 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/labels/args.d.ts +10 -0
  94. package/dist/labels/args.d.ts.map +1 -0
  95. package/dist/labels/args.js +6 -0
  96. package/dist/labels/args.js.map +1 -0
  97. package/dist/labels/cli.d.ts +14 -0
  98. package/dist/labels/cli.d.ts.map +1 -0
  99. package/dist/labels/cli.js +19 -0
  100. package/dist/labels/cli.js.map +1 -0
  101. package/dist/labels/index.d.ts +4 -0
  102. package/dist/labels/index.d.ts.map +1 -0
  103. package/dist/labels/index.js +4 -0
  104. package/dist/labels/index.js.map +1 -0
  105. package/dist/labels/labels.d.ts +5 -0
  106. package/dist/labels/labels.d.ts.map +1 -0
  107. package/dist/labels/labels.js +22 -0
  108. package/dist/labels/labels.js.map +1 -0
  109. package/dist/relocate/args.d.ts +16 -0
  110. package/dist/relocate/args.d.ts.map +1 -0
  111. package/dist/relocate/args.js +8 -0
  112. package/dist/relocate/args.js.map +1 -0
  113. package/dist/relocate/cli.d.ts +18 -0
  114. package/dist/relocate/cli.d.ts.map +1 -0
  115. package/dist/relocate/cli.js +29 -0
  116. package/dist/relocate/cli.js.map +1 -0
  117. package/dist/relocate/relocate.d.ts +5 -0
  118. package/dist/relocate/relocate.d.ts.map +1 -0
  119. package/dist/relocate/relocate.js +40 -0
  120. package/dist/relocate/relocate.js.map +1 -0
  121. package/dist/scale/args.d.ts +22 -0
  122. package/dist/scale/args.d.ts.map +1 -0
  123. package/dist/scale/args.js +10 -0
  124. package/dist/scale/args.js.map +1 -0
  125. package/dist/scale/cli.d.ts +22 -0
  126. package/dist/scale/cli.d.ts.map +1 -0
  127. package/dist/scale/cli.js +38 -0
  128. package/dist/scale/cli.js.map +1 -0
  129. package/dist/scale/index.d.ts +4 -0
  130. package/dist/scale/index.d.ts.map +1 -0
  131. package/dist/scale/index.js +4 -0
  132. package/dist/scale/index.js.map +1 -0
  133. package/dist/scale/scale.d.ts +5 -0
  134. package/dist/scale/scale.d.ts.map +1 -0
  135. package/dist/scale/scale.js +67 -0
  136. package/dist/scale/scale.js.map +1 -0
  137. package/package.json +4 -4
@@ -0,0 +1,67 @@
1
+ import { DataSchema } from '@prosopo/types';
2
+ import { ProsopoEnvError, getLoggerDefault } from '@prosopo/common';
3
+ import { blake2b } from '@noble/hashes/blake2b';
4
+ import { u8aToHex } from '@polkadot/util';
5
+ import fs from 'fs';
6
+ import sharp from 'sharp';
7
+ export default async (args, logger) => {
8
+ logger = logger || getLoggerDefault();
9
+ logger.debug(args, 'scaling...');
10
+ const size = args.size;
11
+ const square = args.square ?? false;
12
+ const mapFile = args.data;
13
+ if (!fs.existsSync(mapFile)) {
14
+ throw new ProsopoEnvError(new Error(`Map file does not exist: ${mapFile}`), 'FS.FILE_NOT_FOUND');
15
+ }
16
+ const outDir = args.out;
17
+ const overwrite = args.overwrite || false;
18
+ if (!overwrite && fs.existsSync(outDir)) {
19
+ throw new ProsopoEnvError(new Error(`Output directory already exists: ${outDir}`), 'FS.FILE_NOT_FOUND');
20
+ }
21
+ // create the output directory
22
+ const imgDir = `${outDir}/images`;
23
+ fs.mkdirSync(imgDir, { recursive: true });
24
+ // read the map file
25
+ const inputItems = DataSchema.parse(JSON.parse(fs.readFileSync(mapFile, 'utf8'))).items;
26
+ // for each item
27
+ const outputItems = [];
28
+ for (const inputItem of inputItems) {
29
+ logger.log(`scaling ${inputItem.data}`);
30
+ // read the file
31
+ const img = fs.readFileSync(inputItem.data);
32
+ // resize the image
33
+ const resized = await sharp(img)
34
+ .resize({
35
+ width: size,
36
+ height: size,
37
+ fit: square ? 'fill' : 'inside',
38
+ })
39
+ .png();
40
+ const tmpFilePath = `${imgDir}/tmp.png`;
41
+ await resized.toFile(tmpFilePath);
42
+ // read the resized image
43
+ const resizedImg = fs.readFileSync(tmpFilePath);
44
+ // hash the image
45
+ const hash = blake2b(resizedImg);
46
+ const hex = u8aToHex(hash);
47
+ // move the image
48
+ const finalFilePath = `${imgDir}/${hex}.png`;
49
+ fs.renameSync(tmpFilePath, finalFilePath);
50
+ // add the item to the output
51
+ const outputItem = {
52
+ ...inputItem,
53
+ hash: hex,
54
+ data: fs.realpathSync(finalFilePath),
55
+ };
56
+ outputItems.push(outputItem);
57
+ }
58
+ // write the map file
59
+ const outputMapFile = `${outDir}/map.json`;
60
+ const data = {
61
+ items: outputItems,
62
+ };
63
+ // verify the output
64
+ DataSchema.parse(data);
65
+ fs.writeFileSync(outputMapFile, JSON.stringify(outputItems, null, 4));
66
+ };
67
+ //# sourceMappingURL=scale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scale.js","sourceRoot":"","sources":["../../src/scale/scale.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/datasets-fs",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "private": false,
@@ -17,9 +17,9 @@
17
17
  "types": "./dist/index.d.ts",
18
18
  "dependencies": {
19
19
  "@polkadot/util": "^12.3.2",
20
- "@prosopo/common": "^0.1.18",
21
- "@prosopo/types": "^0.1.18",
22
- "@prosopo/util": "^0.1.18",
20
+ "@prosopo/common": "^0.1.19",
21
+ "@prosopo/types": "^0.1.19",
22
+ "@prosopo/util": "^0.1.19",
23
23
  "bcrypt": "^5.1.0",
24
24
  "cli-progress": "^3.12.0",
25
25
  "es-main": "^1.2.0",