@prosopo/datasets-fs 0.2.7 → 0.2.9

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 (230) hide show
  1. package/README.md +21 -0
  2. package/dist/cjs/cli/cli.cjs +55 -0
  3. package/dist/cjs/index.cjs +3 -1
  4. package/dist/cli/cli.d.ts +9 -0
  5. package/dist/cli/cli.d.ts.map +1 -0
  6. package/dist/cli/cli.js +54 -0
  7. package/dist/cli/cli.js.map +1 -0
  8. package/dist/cli/cliCommand.d.ts +17 -0
  9. package/dist/cli/cliCommand.d.ts.map +1 -0
  10. package/dist/cli/cliCommand.js +36 -0
  11. package/dist/cli/cliCommand.js.map +1 -0
  12. package/dist/cli/cliCommandComposite.d.ts +14 -0
  13. package/dist/cli/cliCommandComposite.d.ts.map +1 -0
  14. package/dist/cli/cliCommandComposite.js +34 -0
  15. package/dist/cli/cliCommandComposite.js.map +1 -0
  16. package/dist/cli.js +21 -35
  17. package/dist/cli.js.map +1 -1
  18. package/dist/commands/flatten.d.ts +56 -0
  19. package/dist/commands/flatten.d.ts.map +1 -0
  20. package/dist/commands/flatten.js +103 -0
  21. package/dist/commands/flatten.js.map +1 -0
  22. package/dist/commands/generate.d.ts +114 -0
  23. package/dist/commands/generate.d.ts.map +1 -0
  24. package/dist/commands/generate.js +151 -0
  25. package/dist/commands/generate.js.map +1 -0
  26. package/dist/commands/generateV1.d.ts +174 -0
  27. package/dist/commands/generateV1.d.ts.map +1 -0
  28. package/dist/commands/generateV1.js +178 -0
  29. package/dist/commands/generateV1.js.map +1 -0
  30. package/dist/commands/generateV2.d.ts +184 -0
  31. package/dist/commands/generateV2.d.ts.map +1 -0
  32. package/dist/commands/generateV2.js +204 -0
  33. package/dist/commands/generateV2.js.map +1 -0
  34. package/dist/commands/get.d.ts +35 -0
  35. package/dist/commands/get.d.ts.map +1 -0
  36. package/dist/commands/get.js +81 -0
  37. package/dist/commands/get.js.map +1 -0
  38. package/dist/commands/labels.d.ts +46 -0
  39. package/dist/commands/labels.d.ts.map +1 -0
  40. package/dist/commands/labels.js +43 -0
  41. package/dist/commands/labels.js.map +1 -0
  42. package/dist/commands/relocate.d.ts +68 -0
  43. package/dist/commands/relocate.d.ts.map +1 -0
  44. package/dist/commands/relocate.js +75 -0
  45. package/dist/commands/relocate.js.map +1 -0
  46. package/dist/commands/resize.d.ts +66 -0
  47. package/dist/commands/resize.d.ts.map +1 -0
  48. package/dist/commands/resize.js +118 -0
  49. package/dist/commands/resize.js.map +1 -0
  50. package/dist/{generate/distinct/dummy.d.ts.map → dummy.d.ts.map} +1 -1
  51. package/dist/dummy.js.map +1 -0
  52. package/dist/index.d.ts +1 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +1 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/tests/data/flat_resized/labels.json +3 -0
  57. package/dist/tests/data/flat_resized/relocated_data.json +364 -0
  58. package/dist/tests/mocked.test.d.ts +2 -0
  59. package/dist/tests/mocked.test.d.ts.map +1 -0
  60. package/dist/tests/mocked.test.js +271 -0
  61. package/dist/tests/mocked.test.js.map +1 -0
  62. package/dist/tests/utils.d.ts +35 -0
  63. package/dist/tests/utils.d.ts.map +1 -0
  64. package/dist/tests/utils.js +120 -0
  65. package/dist/tests/utils.js.map +1 -0
  66. package/dist/utils/input.d.ts +24 -0
  67. package/dist/utils/input.d.ts.map +1 -0
  68. package/dist/utils/input.js +34 -0
  69. package/dist/utils/input.js.map +1 -0
  70. package/dist/utils/inputOutput.d.ts +20 -0
  71. package/dist/utils/inputOutput.d.ts.map +1 -0
  72. package/dist/utils/inputOutput.js +10 -0
  73. package/dist/utils/inputOutput.js.map +1 -0
  74. package/dist/utils/output.d.ts +37 -0
  75. package/dist/utils/output.d.ts.map +1 -0
  76. package/dist/utils/output.js +63 -0
  77. package/dist/utils/output.js.map +1 -0
  78. package/package.json +5 -6
  79. package/dist/cjs/cli.cjs +0 -34
  80. package/dist/cjs/flatten/args.cjs +0 -9
  81. package/dist/cjs/flatten/cli.cjs +0 -28
  82. package/dist/cjs/flatten/flatten.cjs +0 -55
  83. package/dist/cjs/generate/args.cjs +0 -16
  84. package/dist/cjs/generate/cli.cjs +0 -50
  85. package/dist/cjs/generate/distinct/args.cjs +0 -11
  86. package/dist/cjs/generate/distinct/cli.cjs +0 -28
  87. package/dist/cjs/generate/distinct/generate.cjs +0 -174
  88. package/dist/cjs/generate/union/args.cjs +0 -12
  89. package/dist/cjs/generate/union/cli.cjs +0 -31
  90. package/dist/cjs/generate/union/generate.cjs +0 -151
  91. package/dist/cjs/generate/util.cjs +0 -21
  92. package/dist/cjs/get/args.cjs +0 -7
  93. package/dist/cjs/get/cli.cjs +0 -20
  94. package/dist/cjs/get/get.cjs +0 -53
  95. package/dist/cjs/labels/args.cjs +0 -7
  96. package/dist/cjs/labels/cli.cjs +0 -20
  97. package/dist/cjs/labels/labels.cjs +0 -21
  98. package/dist/cjs/relocate/args.cjs +0 -9
  99. package/dist/cjs/relocate/cli.cjs +0 -27
  100. package/dist/cjs/relocate/relocate.cjs +0 -36
  101. package/dist/cjs/scale/args.cjs +0 -11
  102. package/dist/cjs/scale/cli.cjs +0 -34
  103. package/dist/cjs/scale/scale.cjs +0 -55
  104. package/dist/flatten/args.d.ts +0 -16
  105. package/dist/flatten/args.d.ts.map +0 -1
  106. package/dist/flatten/args.js +0 -8
  107. package/dist/flatten/args.js.map +0 -1
  108. package/dist/flatten/cli.d.ts +0 -18
  109. package/dist/flatten/cli.d.ts.map +0 -1
  110. package/dist/flatten/cli.js +0 -30
  111. package/dist/flatten/cli.js.map +0 -1
  112. package/dist/flatten/flatten.d.ts +0 -5
  113. package/dist/flatten/flatten.d.ts.map +0 -1
  114. package/dist/flatten/flatten.js +0 -65
  115. package/dist/flatten/flatten.js.map +0 -1
  116. package/dist/flatten/index.d.ts +0 -4
  117. package/dist/flatten/index.d.ts.map +0 -1
  118. package/dist/flatten/index.js +0 -4
  119. package/dist/flatten/index.js.map +0 -1
  120. package/dist/generate/args.d.ts +0 -37
  121. package/dist/generate/args.d.ts.map +0 -1
  122. package/dist/generate/args.js +0 -15
  123. package/dist/generate/args.js.map +0 -1
  124. package/dist/generate/cli.d.ts +0 -32
  125. package/dist/generate/cli.d.ts.map +0 -1
  126. package/dist/generate/cli.js +0 -62
  127. package/dist/generate/cli.js.map +0 -1
  128. package/dist/generate/distinct/args.d.ts +0 -49
  129. package/dist/generate/distinct/args.d.ts.map +0 -1
  130. package/dist/generate/distinct/args.js +0 -10
  131. package/dist/generate/distinct/args.js.map +0 -1
  132. package/dist/generate/distinct/cli.d.ts +0 -20
  133. package/dist/generate/distinct/cli.d.ts.map +0 -1
  134. package/dist/generate/distinct/cli.js +0 -31
  135. package/dist/generate/distinct/cli.js.map +0 -1
  136. package/dist/generate/distinct/dummy.js.map +0 -1
  137. package/dist/generate/distinct/generate.d.ts +0 -5
  138. package/dist/generate/distinct/generate.d.ts.map +0 -1
  139. package/dist/generate/distinct/generate.js +0 -186
  140. package/dist/generate/distinct/generate.js.map +0 -1
  141. package/dist/generate/distinct/index.d.ts +0 -4
  142. package/dist/generate/distinct/index.d.ts.map +0 -1
  143. package/dist/generate/distinct/index.js +0 -4
  144. package/dist/generate/distinct/index.js.map +0 -1
  145. package/dist/generate/index.d.ts +0 -5
  146. package/dist/generate/index.d.ts.map +0 -1
  147. package/dist/generate/index.js +0 -5
  148. package/dist/generate/index.js.map +0 -1
  149. package/dist/generate/union/args.d.ts +0 -52
  150. package/dist/generate/union/args.d.ts.map +0 -1
  151. package/dist/generate/union/args.js +0 -11
  152. package/dist/generate/union/args.js.map +0 -1
  153. package/dist/generate/union/cli.d.ts +0 -22
  154. package/dist/generate/union/cli.d.ts.map +0 -1
  155. package/dist/generate/union/cli.js +0 -35
  156. package/dist/generate/union/cli.js.map +0 -1
  157. package/dist/generate/union/generate.d.ts +0 -5
  158. package/dist/generate/union/generate.d.ts.map +0 -1
  159. package/dist/generate/union/generate.js +0 -168
  160. package/dist/generate/union/generate.js.map +0 -1
  161. package/dist/generate/union/index.d.ts +0 -4
  162. package/dist/generate/union/index.d.ts.map +0 -1
  163. package/dist/generate/union/index.js +0 -4
  164. package/dist/generate/union/index.js.map +0 -1
  165. package/dist/generate/util.d.ts +0 -6
  166. package/dist/generate/util.d.ts.map +0 -1
  167. package/dist/generate/util.js +0 -20
  168. package/dist/generate/util.js.map +0 -1
  169. package/dist/get/args.d.ts +0 -10
  170. package/dist/get/args.d.ts.map +0 -1
  171. package/dist/get/args.js +0 -6
  172. package/dist/get/args.js.map +0 -1
  173. package/dist/get/cli.d.ts +0 -14
  174. package/dist/get/cli.d.ts.map +0 -1
  175. package/dist/get/cli.js +0 -19
  176. package/dist/get/cli.js.map +0 -1
  177. package/dist/get/get.d.ts +0 -5
  178. package/dist/get/get.d.ts.map +0 -1
  179. package/dist/get/get.js +0 -60
  180. package/dist/get/get.js.map +0 -1
  181. package/dist/get/index.d.ts +0 -4
  182. package/dist/get/index.d.ts.map +0 -1
  183. package/dist/get/index.js +0 -4
  184. package/dist/get/index.js.map +0 -1
  185. package/dist/labels/args.d.ts +0 -10
  186. package/dist/labels/args.d.ts.map +0 -1
  187. package/dist/labels/args.js +0 -6
  188. package/dist/labels/args.js.map +0 -1
  189. package/dist/labels/cli.d.ts +0 -14
  190. package/dist/labels/cli.d.ts.map +0 -1
  191. package/dist/labels/cli.js +0 -19
  192. package/dist/labels/cli.js.map +0 -1
  193. package/dist/labels/index.d.ts +0 -4
  194. package/dist/labels/index.d.ts.map +0 -1
  195. package/dist/labels/index.js +0 -4
  196. package/dist/labels/index.js.map +0 -1
  197. package/dist/labels/labels.d.ts +0 -5
  198. package/dist/labels/labels.d.ts.map +0 -1
  199. package/dist/labels/labels.js +0 -22
  200. package/dist/labels/labels.js.map +0 -1
  201. package/dist/relocate/args.d.ts +0 -16
  202. package/dist/relocate/args.d.ts.map +0 -1
  203. package/dist/relocate/args.js +0 -8
  204. package/dist/relocate/args.js.map +0 -1
  205. package/dist/relocate/cli.d.ts +0 -18
  206. package/dist/relocate/cli.d.ts.map +0 -1
  207. package/dist/relocate/cli.js +0 -29
  208. package/dist/relocate/cli.js.map +0 -1
  209. package/dist/relocate/relocate.d.ts +0 -5
  210. package/dist/relocate/relocate.d.ts.map +0 -1
  211. package/dist/relocate/relocate.js +0 -40
  212. package/dist/relocate/relocate.js.map +0 -1
  213. package/dist/scale/args.d.ts +0 -22
  214. package/dist/scale/args.d.ts.map +0 -1
  215. package/dist/scale/args.js +0 -10
  216. package/dist/scale/args.js.map +0 -1
  217. package/dist/scale/cli.d.ts +0 -22
  218. package/dist/scale/cli.d.ts.map +0 -1
  219. package/dist/scale/cli.js +0 -38
  220. package/dist/scale/cli.js.map +0 -1
  221. package/dist/scale/index.d.ts +0 -4
  222. package/dist/scale/index.d.ts.map +0 -1
  223. package/dist/scale/index.js +0 -4
  224. package/dist/scale/index.js.map +0 -1
  225. package/dist/scale/scale.d.ts +0 -5
  226. package/dist/scale/scale.d.ts.map +0 -1
  227. package/dist/scale/scale.js +0 -67
  228. package/dist/scale/scale.js.map +0 -1
  229. /package/dist/{generate/distinct/dummy.d.ts → dummy.d.ts} +0 -0
  230. /package/dist/{generate/distinct/dummy.js → dummy.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mocked.test.js","sourceRoot":"","sources":["../../src/tests/mocked.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { CaptchasContainer } from '@prosopo/types';
2
+ export declare function fsWalk(pth: string, options?: {
3
+ filesFirst?: boolean;
4
+ }): Generator<string>;
5
+ export declare const fsEq: (pth1: string, pth2: string) => boolean;
6
+ export declare const readDataJson: (pth: string) => {
7
+ items: {
8
+ type: import("@prosopo/types").CaptchaItemTypes;
9
+ data: string;
10
+ hash: string;
11
+ label?: string | undefined;
12
+ }[];
13
+ };
14
+ export declare const readCaptchasJson: (pth: string) => {
15
+ captchas: {
16
+ items: {
17
+ type: import("@prosopo/types").CaptchaItemTypes;
18
+ data: string;
19
+ hash: string;
20
+ }[];
21
+ salt: string;
22
+ target: string;
23
+ captchaId?: string | undefined;
24
+ captchaContentId?: string | undefined;
25
+ solution?: number[] | undefined;
26
+ unlabelled?: number[] | undefined;
27
+ timeLimit?: number | undefined;
28
+ }[];
29
+ format: import("@prosopo/types").CaptchaTypes;
30
+ };
31
+ export declare const captchasEqFs: (pth1: string, pth2: string) => boolean;
32
+ export declare const captchasEq: (first: CaptchasContainer, second: CaptchasContainer) => boolean;
33
+ export declare const substituteRepoDir: () => void;
34
+ export declare const restoreRepoDir: () => void;
35
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tests/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAuC,MAAM,gBAAgB,CAAA;AAKvF,wBAAiB,MAAM,CACnB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IACN,UAAU,CAAC,EAAE,OAAO,CAAA;CACvB,GACF,SAAS,CAAC,MAAM,CAAC,CAcnB;AAGD,eAAO,MAAM,IAAI,SAAU,MAAM,QAAQ,MAAM,YAiC9C,CAAA;AAED,eAAO,MAAM,YAAY,QAAS,MAAM;;;;;;;CAOvC,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,MAAM;;;;;;;;;;;;;;;;CAK3C,CAAA;AAED,eAAO,MAAM,YAAY,SAAU,MAAM,QAAQ,MAAM,YAItD,CAAA;AAED,eAAO,MAAM,UAAU,UAAW,iBAAiB,UAAU,iBAAiB,YAmB7E,CAAA;AAED,eAAO,MAAM,iBAAiB,YAe7B,CAAA;AAED,eAAO,MAAM,cAAc,YAS1B,CAAA"}
@@ -0,0 +1,120 @@
1
+ import { CaptchasContainerSchema, DataSchema } from '@prosopo/types';
2
+ import { at } from '@prosopo/util';
3
+ import fs from 'fs';
4
+ // recursively list files in a directory
5
+ export function* fsWalk(pth, options) {
6
+ // if path is a directory, recurse
7
+ const isDir = fs.existsSync(pth) && fs.statSync(pth).isDirectory();
8
+ let subpaths = isDir ? fs.readdirSync(pth) : [];
9
+ subpaths = subpaths.map((f) => `${pth}/${f}`);
10
+ if (!options?.filesFirst) {
11
+ yield pth;
12
+ }
13
+ for (const subpath of subpaths) {
14
+ yield* fsWalk(subpath, options);
15
+ }
16
+ if (options?.filesFirst) {
17
+ yield pth;
18
+ }
19
+ }
20
+ // test whether two files/dirs are equal, recursively comparing contents as required
21
+ export const fsEq = (pth1, pth2) => {
22
+ const it1 = fsWalk(pth1);
23
+ const it2 = fsWalk(pth2);
24
+ // drop the root path
25
+ const files1 = [...it1].map((f) => f.slice(pth1.length));
26
+ const files2 = [...it2].map((f) => f.slice(pth2.length));
27
+ if (files1.length !== files2.length) {
28
+ return false;
29
+ }
30
+ // sort files so in same order
31
+ files1.sort();
32
+ files2.sort();
33
+ if (!files1.every((f, i) => f === files2[i])) {
34
+ // the two lists of files are not the same
35
+ return false;
36
+ }
37
+ // compare contents of each file
38
+ for (let i = 0; i < files1.length; i++) {
39
+ const file1 = pth1 + at(files1, i);
40
+ const file2 = pth2 + at(files2, i);
41
+ const stat1 = fs.statSync(file1);
42
+ if (stat1.isDirectory()) {
43
+ // already checked above
44
+ continue;
45
+ }
46
+ // files, so compare contents
47
+ const content1 = fs.readFileSync(file1);
48
+ const content2 = fs.readFileSync(file2);
49
+ if (!content1.equals(content2)) {
50
+ return false;
51
+ }
52
+ }
53
+ return true;
54
+ };
55
+ export const readDataJson = (pth) => {
56
+ let content = fs.readFileSync(pth).toString();
57
+ // TODO use getPaths() here to find the repo dir
58
+ content = content.replaceAll('${repo}', __dirname + '/../../../..');
59
+ const dataJson = JSON.parse(content.toString());
60
+ const data = DataSchema.parse(dataJson);
61
+ return data;
62
+ };
63
+ export const readCaptchasJson = (pth) => {
64
+ const content = fs.readFileSync(pth).toString();
65
+ const dataJson = JSON.parse(content);
66
+ const captchas = CaptchasContainerSchema.parse(dataJson);
67
+ return captchas;
68
+ };
69
+ export const captchasEqFs = (pth1, pth2) => {
70
+ const data1 = readCaptchasJson(pth1);
71
+ const data2 = readCaptchasJson(pth2);
72
+ return captchasEq(data1, data2);
73
+ };
74
+ export const captchasEq = (first, second) => {
75
+ if (first.captchas.length !== second.captchas.length) {
76
+ return false;
77
+ }
78
+ for (let i = 0; i < first.captchas.length; i++) {
79
+ const captcha1 = at(first.captchas, i);
80
+ const captcha2 = at(second.captchas, i);
81
+ // salts should not be the same as generated on the fly and not stored!
82
+ if (captcha1.salt === captcha2.salt) {
83
+ return false;
84
+ }
85
+ // everything else should be the same
86
+ const { salt: salt1, ...rest1 } = captcha1;
87
+ const { salt: salt2, ...rest2 } = captcha2;
88
+ if (JSON.stringify(rest1) !== JSON.stringify(rest2)) {
89
+ return false;
90
+ }
91
+ }
92
+ return true;
93
+ };
94
+ export const substituteRepoDir = () => {
95
+ // read all json files in the test data dir
96
+ for (const pth of fsWalk(__dirname + '/data')) {
97
+ if (!pth.endsWith('.json')) {
98
+ continue;
99
+ }
100
+ // make a backup of each file
101
+ fs.copyFileSync(pth, pth + '.bak');
102
+ // replace ${repo} with the path to the repo
103
+ let content = fs.readFileSync(pth).toString();
104
+ // TODO use getPaths() here to find the repo dir
105
+ content = content.replaceAll('${repo}', __dirname + '/../../../..');
106
+ // rewrite the file
107
+ fs.writeFileSync(pth, content);
108
+ }
109
+ };
110
+ export const restoreRepoDir = () => {
111
+ // read all json files in the test data dir
112
+ for (const pth of fsWalk(__dirname + '/data')) {
113
+ if (!pth.endsWith('.json')) {
114
+ continue;
115
+ }
116
+ // restore the backup of each file
117
+ fs.renameSync(pth + '.bak', pth);
118
+ }
119
+ };
120
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tests/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { CliCommand } from '../cli/cliCommand.js';
2
+ import { z } from 'zod';
3
+ export declare const InputArgsSchema: z.ZodObject<{
4
+ input: z.ZodString;
5
+ }, "strip", z.ZodTypeAny, {
6
+ input: string;
7
+ }, {
8
+ input: string;
9
+ }>;
10
+ export type InputArgs = z.infer<typeof InputArgsSchema>;
11
+ export declare class InputCliCommand<T extends typeof InputArgsSchema> extends CliCommand<T> {
12
+ getArgSchema(): T;
13
+ getDescription(): string;
14
+ getOptions(): {
15
+ input: {
16
+ string: boolean;
17
+ alias: string;
18
+ demand: boolean;
19
+ description: string;
20
+ };
21
+ };
22
+ _check(args: InputArgs): Promise<void>;
23
+ }
24
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/utils/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,qBAAa,eAAe,CAAC,CAAC,SAAS,OAAO,eAAe,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;IAChE,YAAY,IAAI,CAAC;IAGjB,cAAc,IAAI,MAAM;IAGxB,UAAU;;;;;;;;IAWJ,MAAM,CAAC,IAAI,EAAE,SAAS;CAQ/C"}
@@ -0,0 +1,34 @@
1
+ import { CliCommand } from '../cli/cliCommand.js';
2
+ import { ProsopoEnvError } from '@prosopo/common';
3
+ import { z } from 'zod';
4
+ import fs from 'fs';
5
+ export const InputArgsSchema = z.object({
6
+ input: z.string(),
7
+ });
8
+ export class InputCliCommand extends CliCommand {
9
+ getArgSchema() {
10
+ throw new Error('Method not implemented.');
11
+ }
12
+ getDescription() {
13
+ throw new Error('Method not implemented.');
14
+ }
15
+ getOptions() {
16
+ return {
17
+ input: {
18
+ string: true,
19
+ alias: 'in',
20
+ demand: true,
21
+ description: 'The input path',
22
+ },
23
+ };
24
+ }
25
+ async _check(args) {
26
+ this.logger.debug('input _check');
27
+ await super._check(args);
28
+ // input must exist
29
+ if (!fs.existsSync(args.input)) {
30
+ throw new ProsopoEnvError(new Error(`input path does not exist: ${args.input}`), 'FS.FILE_NOT_FOUND');
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../src/utils/input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAA;AAIF,MAAM,OAAO,eAAkD,SAAQ,UAAa;IAChE,YAAY;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACe,cAAc;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACe,UAAU;QACtB,OAAO;YACH,KAAK,EAAE;gBACH,MAAM,EAAE,IAAI;gBACZ,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,gBAAgB;aAChC;SACJ,CAAA;IACL,CAAC;IAEe,KAAK,CAAC,MAAM,CAAC,IAAe;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QACjC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxB,mBAAmB;QACnB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAA;SACxG;IACL,CAAC;CACJ"}
@@ -0,0 +1,20 @@
1
+ import { CliCommandComposite } from '../cli/cliCommandComposite.js';
2
+ import { z } from 'zod';
3
+ export declare const InputOutputArgsSchema: z.ZodObject<{
4
+ input: z.ZodString;
5
+ output: z.ZodString;
6
+ overwrite: z.ZodOptional<z.ZodBoolean>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ input: string;
9
+ output: string;
10
+ overwrite?: boolean | undefined;
11
+ }, {
12
+ input: string;
13
+ output: string;
14
+ overwrite?: boolean | undefined;
15
+ }>;
16
+ export type InputOutputArgs = z.infer<typeof InputOutputArgsSchema>;
17
+ export declare abstract class InputOutputCliCommand<T extends typeof InputOutputArgsSchema> extends CliCommandComposite<T> {
18
+ constructor();
19
+ }
20
+ //# sourceMappingURL=inputOutput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputOutput.d.ts","sourceRoot":"","sources":["../../src/utils/inputOutput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAGnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAA0C,CAAA;AAE5E,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,8BAAsB,qBAAqB,CAAC,CAAC,SAAS,OAAO,qBAAqB,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;;CAIjH"}
@@ -0,0 +1,10 @@
1
+ import { CliCommandComposite } from '../cli/cliCommandComposite.js';
2
+ import { InputArgsSchema, InputCliCommand } from './input.js';
3
+ import { OutputArgsSchema, OutputCliCommand } from './output.js';
4
+ export const InputOutputArgsSchema = InputArgsSchema.merge(OutputArgsSchema);
5
+ export class InputOutputCliCommand extends CliCommandComposite {
6
+ constructor() {
7
+ super([new InputCliCommand(), new OutputCliCommand()]);
8
+ }
9
+ }
10
+ //# sourceMappingURL=inputOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputOutput.js","sourceRoot":"","sources":["../../src/utils/inputOutput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;AAI5E,MAAM,OAAgB,qBAA8D,SAAQ,mBAAsB;IAC9G;QACI,KAAK,CAAC,CAAC,IAAI,eAAe,EAAK,EAAE,IAAI,gBAAgB,EAAK,CAAC,CAAC,CAAA;IAChE,CAAC;CACJ"}
@@ -0,0 +1,37 @@
1
+ /// <reference types="yargs" />
2
+ import { CliCommand } from '../cli/cliCommand.js';
3
+ import { z } from 'zod';
4
+ export declare const OutputArgsSchema: z.ZodObject<{
5
+ output: z.ZodString;
6
+ overwrite: z.ZodOptional<z.ZodBoolean>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ output: string;
9
+ overwrite?: boolean | undefined;
10
+ }, {
11
+ output: string;
12
+ overwrite?: boolean | undefined;
13
+ }>;
14
+ export type OutputArgs = z.infer<typeof OutputArgsSchema>;
15
+ export declare class OutputCliCommand<T extends typeof OutputArgsSchema> extends CliCommand<T> {
16
+ #private;
17
+ outputExists(): boolean;
18
+ getArgSchema(): T;
19
+ getDescription(): string;
20
+ getOptions(): {
21
+ [key: string]: import("yargs").Options;
22
+ } & {
23
+ output: {
24
+ alias: string;
25
+ string: boolean;
26
+ demand: boolean;
27
+ description: string;
28
+ };
29
+ overwrite: {
30
+ boolean: boolean;
31
+ description: string;
32
+ };
33
+ };
34
+ _check(args: OutputArgs): Promise<void>;
35
+ _run(args: OutputArgs): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD,qBAAa,gBAAgB,CAAC,CAAC,SAAS,OAAO,gBAAgB,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAC;;IAG3E,YAAY;IAIH,YAAY,IAAI,CAAC;IAGjB,cAAc,IAAI,MAAM;IAGxB,UAAU;;;;;;;;;;;;;;IAeJ,MAAM,CAAC,IAAI,EAAE,UAAU;IAkBvB,IAAI,CAAC,IAAI,EAAE,UAAU;CAS9C"}
@@ -0,0 +1,63 @@
1
+ var _OutputCliCommand_outputExists;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
+ import { CliCommand } from '../cli/cliCommand.js';
4
+ import { ProsopoEnvError } from '@prosopo/common';
5
+ import { lodash } from '@prosopo/util';
6
+ import { z } from 'zod';
7
+ import fs from 'fs';
8
+ export const OutputArgsSchema = z.object({
9
+ output: z.string(),
10
+ overwrite: z.boolean().optional(),
11
+ });
12
+ export class OutputCliCommand extends CliCommand {
13
+ constructor() {
14
+ super(...arguments);
15
+ _OutputCliCommand_outputExists.set(this, false);
16
+ }
17
+ outputExists() {
18
+ return __classPrivateFieldGet(this, _OutputCliCommand_outputExists, "f");
19
+ }
20
+ getArgSchema() {
21
+ throw new Error('Method not implemented.');
22
+ }
23
+ getDescription() {
24
+ throw new Error('Method not implemented.');
25
+ }
26
+ getOptions() {
27
+ return lodash().merge(super.getOptions(), {
28
+ output: {
29
+ alias: 'out',
30
+ string: true,
31
+ demand: true,
32
+ description: 'The output path',
33
+ },
34
+ overwrite: {
35
+ boolean: true,
36
+ description: 'Overwrite files in the output path if they already exist',
37
+ },
38
+ });
39
+ }
40
+ async _check(args) {
41
+ this.logger.debug('Output _check');
42
+ await super._check(args);
43
+ // record whether output already exists
44
+ __classPrivateFieldSet(this, _OutputCliCommand_outputExists, fs.existsSync(args.output), "f");
45
+ // output must not exist, unless overwrite is true
46
+ if (this.outputExists()) {
47
+ if (!args.overwrite) {
48
+ throw new ProsopoEnvError(new Error(`output path already exists: ${args.output}`), 'FS.FILE_ALREADY_EXISTS');
49
+ }
50
+ }
51
+ }
52
+ async _run(args) {
53
+ this.logger.debug('Output run');
54
+ await super._run(args);
55
+ if (args.overwrite && this.outputExists()) {
56
+ // if overwrite is true, delete the output directory
57
+ this.logger.info('cleaning output directory...');
58
+ fs.rmSync(args.output, { recursive: true });
59
+ }
60
+ }
61
+ }
62
+ _OutputCliCommand_outputExists = new WeakMap();
63
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAA;AAIF,MAAM,OAAO,gBAAoD,SAAQ,UAAa;IAAtF;;QACI,yCAAgB,KAAK,EAAA;IAsDzB,CAAC;IApDU,YAAY;QACf,OAAO,uBAAA,IAAI,sCAAc,CAAA;IAC7B,CAAC;IAEe,YAAY;QACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACe,cAAc;QAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC9C,CAAC;IACe,UAAU;QACtB,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE;YACtC,MAAM,EAAE;gBACJ,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,iBAAiB;aACjC;YACD,SAAS,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,0DAA0D;aAC1E;SACJ,CAAC,CAAA;IACN,CAAC;IAEe,KAAK,CAAC,MAAM,CAAC,IAAgB;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAClC,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAExB,uCAAuC;QACvC,uBAAA,IAAI,kCAAiB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAA,CAAA;QAE/C,kDAAkD;QAClD,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjB,MAAM,IAAI,eAAe,CACrB,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,EAAE,CAAC,EACvD,wBAAwB,CAC3B,CAAA;aACJ;SACJ;IACL,CAAC;IAEe,KAAK,CAAC,IAAI,CAAC,IAAgB;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/B,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACtB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACvC,oDAAoD;YACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;YAChD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;SAC9C;IACL,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/datasets-fs",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "private": false,
@@ -15,7 +15,7 @@
15
15
  "lint": "npx eslint .",
16
16
  "lint:fix": "npx eslint . --fix --config ../../.eslintrc.js",
17
17
  "cli": "node ./dist/cli.js",
18
- "test": "NODE_ENV=test ts-mocha \"./tests/js/**/*.test.ts\" --timeout 120000 --recursive --exit"
18
+ "test": "NODE_ENV=test vitest --run --coverage"
19
19
  },
20
20
  "main": "./dist/index.js",
21
21
  "type": "module",
@@ -28,9 +28,9 @@
28
28
  "types": "./dist/index.d.ts",
29
29
  "dependencies": {
30
30
  "@polkadot/util": "^12.3.2",
31
- "@prosopo/common": "0.2.7",
32
- "@prosopo/types": "0.2.7",
33
- "@prosopo/util": "0.2.7",
31
+ "@prosopo/common": "0.2.9",
32
+ "@prosopo/types": "0.2.9",
33
+ "@prosopo/util": "0.2.9",
34
34
  "bcrypt": "^5.1.0",
35
35
  "cli-progress": "^3.12.0",
36
36
  "es-main": "^1.2.0",
@@ -46,7 +46,6 @@
46
46
  "devDependencies": {
47
47
  "@types/bcrypt": "^5.0.0",
48
48
  "@types/cli-progress": "^3.11.2",
49
- "@types/mocha": "^10.0.0",
50
49
  "@types/node-fetch": "^3.0.2",
51
50
  "tslib": "2.6.2",
52
51
  "typescript": "5.1.6"
package/dist/cjs/cli.cjs DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- const common = require("@prosopo/common");
3
- const helpers = require("yargs/helpers");
4
- const esMain = require("es-main");
5
- const cli$1 = require("./flatten/cli.cjs");
6
- const cli = require("./generate/cli.cjs");
7
- const cli$4 = require("./get/cli.cjs");
8
- const cli$5 = require("./labels/cli.cjs");
9
- const process = require("process");
10
- const cli$3 = require("./relocate/cli.cjs");
11
- const cli$2 = require("./scale/cli.cjs");
12
- const yargs = require("yargs");
13
- var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
14
- const dirname = process.cwd();
15
- const logger = common.getLogger(common.LogLevel.enum.info, `${dirname}`);
16
- const main = async () => {
17
- await yargs(helpers.hideBin(process.argv)).help().option("log-level", {
18
- type: "string",
19
- choices: Object.values(common.LogLevel.options),
20
- default: common.LogLevel.enum.info,
21
- description: "The log level"
22
- }).middleware((argv) => {
23
- logger.setLogLevel(argv.logLevel);
24
- }).command(cli({ logger })).command(cli$1({ logger })).command(cli$2({ logger })).command(cli$3({ logger })).command(cli$4({ logger })).command(cli$5({ logger })).strictCommands().showHelpOnFail(false, "Specify --help for available options").fail(false).parse();
25
- };
26
- if (esMain({ url: typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.src || new URL("cli.cjs", document.baseURI).href })) {
27
- main().then(() => {
28
- logger.debug("done");
29
- process.exit(0);
30
- }).catch((err) => {
31
- logger.error("error:", err);
32
- process.exit(1);
33
- });
34
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const zod = require("zod");
4
- const argsSchema = zod.z.object({
5
- data: zod.z.string(),
6
- out: zod.z.string(),
7
- overwrite: zod.z.boolean().optional()
8
- });
9
- exports.argsSchema = argsSchema;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- const args = require("./args.cjs");
3
- const flatten$1 = require("./flatten.cjs");
4
- const flatten = (cmdArgs) => {
5
- return {
6
- command: "flatten",
7
- describe: "Restructure a directory containing directories for each image classification into a single directory with a file containing the labels",
8
- builder: (yargs) => {
9
- return yargs.option("data", {
10
- type: "string",
11
- alias: "in",
12
- demand: true,
13
- description: "Path to the data directory containing subdirectories for each image classification"
14
- }).option("out", {
15
- type: "string",
16
- demand: true,
17
- description: "Where to put the output file containing the labels and single directory of images"
18
- }).option("overwrite", {
19
- type: "boolean",
20
- description: "Overwrite the output file if it already exists"
21
- });
22
- },
23
- handler: async (argv) => {
24
- await flatten$1(args.argsSchema.parse(argv), cmdArgs == null ? void 0 : cmdArgs.logger);
25
- }
26
- };
27
- };
28
- module.exports = flatten;
@@ -1,55 +0,0 @@
1
- "use strict";
2
- const types = require("@prosopo/types");
3
- const common = require("@prosopo/common");
4
- const blake2b = require("@noble/hashes/blake2b");
5
- const util = require("@polkadot/util");
6
- const fs = require("fs");
7
- const flatten = async (args, logger) => {
8
- logger = logger || common.getLoggerDefault();
9
- logger.debug(args, "flattening...");
10
- const dataDir = args.data;
11
- if (!fs.existsSync(dataDir)) {
12
- throw new common.ProsopoEnvError(new Error(`data directory does not exist: ${dataDir}`), "FS.DIRECTORY_NOT_FOUND");
13
- }
14
- const outDir = args.out;
15
- const overwrite = args.overwrite || false;
16
- if (!overwrite && fs.existsSync(outDir)) {
17
- throw new common.ProsopoEnvError(
18
- new Error(`output directory already exists: ${outDir}`),
19
- "FS.DIRECTORY_ALREADY_EXISTS"
20
- );
21
- }
22
- const labels = fs.readdirSync(dataDir, { withFileTypes: true }).filter((dirent) => dirent.isDirectory()).map((dirent) => dirent.name);
23
- const imageDir = `${outDir}/images`;
24
- fs.mkdirSync(imageDir, { recursive: true });
25
- const items = [];
26
- for (const label of labels) {
27
- const images = fs.readdirSync(`${dataDir}/${label}`);
28
- for (const image of images) {
29
- logger.log(`flattening ${label}/${image}`);
30
- const extension = image.split(".").pop();
31
- const content = fs.readFileSync(`${dataDir}/${label}/${image}`);
32
- const hash = blake2b.blake2b(content);
33
- const hex = util.u8aToHex(hash);
34
- const name = `${hex}.${extension}`;
35
- if (fs.existsSync(`${imageDir}/${name}`)) {
36
- logger.log(`duplicate image: ${label}/${image} -> ${name}`);
37
- }
38
- fs.copyFileSync(`${dataDir}/${label}/${image}`, `${imageDir}/${name}`);
39
- const filePath = fs.realpathSync(`${imageDir}/${name}`);
40
- const entry = {
41
- data: filePath,
42
- type: types.CaptchaItemTypes.Image,
43
- label,
44
- hash: hex
45
- };
46
- items.push(entry);
47
- }
48
- }
49
- const data = {
50
- items
51
- };
52
- types.DataSchema.parse(data);
53
- fs.writeFileSync(`${outDir}/data.json`, JSON.stringify(data, null, 4));
54
- };
55
- module.exports = flatten;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const zod = require("zod");
4
- const argsSchema = zod.z.object({
5
- labels: zod.z.string().optional(),
6
- out: zod.z.string(),
7
- labelled: zod.z.string().optional(),
8
- unlabelled: zod.z.string().optional(),
9
- seed: zod.z.number().optional(),
10
- size: zod.z.number().optional(),
11
- overwrite: zod.z.boolean().optional(),
12
- allowDuplicates: zod.z.boolean().optional(),
13
- allowDuplicatesLabelled: zod.z.boolean().optional(),
14
- allowDuplicatesUnlabelled: zod.z.boolean().optional()
15
- });
16
- exports.argsSchema = argsSchema;
@@ -1,50 +0,0 @@
1
- "use strict";
2
- const cli = require("./distinct/cli.cjs");
3
- const cli$1 = require("./union/cli.cjs");
4
- const generate = (cmdArgs) => {
5
- return {
6
- command: "generate",
7
- describe: "Generate captchas",
8
- builder: (yargs) => {
9
- return yargs.command(cli(cmdArgs)).command(cli$1(cmdArgs)).demandCommand().option("overwrite", {
10
- type: "boolean",
11
- description: "Overwrite the output file if it already exists"
12
- }).option("out", {
13
- type: "string",
14
- demand: true,
15
- description: "Path to the output file",
16
- default: "captchas.json"
17
- }).option("labelled", {
18
- type: "string",
19
- demand: true,
20
- description: "Path to the file containing map of images urls to labels"
21
- }).option("unlabelled", {
22
- type: "string",
23
- demand: true,
24
- description: "Path to the file containing list of images url which are unlabelled"
25
- }).option("seed", {
26
- type: "number",
27
- description: "Seed for the random number generator"
28
- }).option("size", {
29
- type: "number",
30
- description: "Number of images in each captcha"
31
- }).options("labels", {
32
- type: "string",
33
- description: "Path to the labels file. This is a file containing a list of labels which unlabelled data will be assigned to."
34
- }).option("allow-duplicates", {
35
- type: "boolean",
36
- description: "Allow duplicates in the data (labelled and unlabelled)"
37
- }).option("allow-duplicates-labelled", {
38
- type: "boolean",
39
- description: "Allow duplicates in the labelled data"
40
- }).option("allow-duplicates-unlabelled", {
41
- type: "boolean",
42
- description: "Allow duplicates in the unlabelled data"
43
- });
44
- },
45
- handler: async (argv) => {
46
- throw new Error("Please specify a command");
47
- }
48
- };
49
- };
50
- module.exports = generate;