@prosopo/datasets-fs 3.0.34 → 3.0.35

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 (111) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/package.json +7 -7
  3. package/coverage/base.css +0 -224
  4. package/coverage/block-navigation.js +0 -87
  5. package/coverage/clover.xml +0 -1397
  6. package/coverage/coverage-final.json +0 -18
  7. package/coverage/favicon.png +0 -0
  8. package/coverage/index.html +0 -161
  9. package/coverage/prettify.css +0 -1
  10. package/coverage/prettify.js +0 -2
  11. package/coverage/sort-arrow-sprite.png +0 -0
  12. package/coverage/sorter.js +0 -210
  13. package/coverage/src/cli/cli.ts.html +0 -334
  14. package/coverage/src/cli/cliCommand.ts.html +0 -289
  15. package/coverage/src/cli/cliCommandComposite.ts.html +0 -247
  16. package/coverage/src/cli/index.html +0 -146
  17. package/coverage/src/cli.ts.html +0 -235
  18. package/coverage/src/commands/flatten.ts.html +0 -547
  19. package/coverage/src/commands/generate.ts.html +0 -739
  20. package/coverage/src/commands/generateV1.ts.html +0 -904
  21. package/coverage/src/commands/generateV2.ts.html +0 -952
  22. package/coverage/src/commands/get.ts.html +0 -430
  23. package/coverage/src/commands/index.html +0 -221
  24. package/coverage/src/commands/labels.ts.html +0 -319
  25. package/coverage/src/commands/relocate.ts.html +0 -412
  26. package/coverage/src/commands/resize.ts.html +0 -598
  27. package/coverage/src/dummy.ts.html +0 -241
  28. package/coverage/src/index.html +0 -146
  29. package/coverage/src/index.ts.html +0 -127
  30. package/coverage/src/utils/index.html +0 -146
  31. package/coverage/src/utils/input.ts.html +0 -259
  32. package/coverage/src/utils/inputOutput.ts.html +0 -172
  33. package/coverage/src/utils/output.ts.html +0 -343
  34. package/dist/cli/cli.d.ts +0 -9
  35. package/dist/cli/cli.d.ts.map +0 -1
  36. package/dist/cli/cli.js.map +0 -1
  37. package/dist/cli/cliCommand.d.ts +0 -17
  38. package/dist/cli/cliCommand.d.ts.map +0 -1
  39. package/dist/cli/cliCommand.js +0 -31
  40. package/dist/cli/cliCommand.js.map +0 -1
  41. package/dist/cli/cliCommandComposite.d.ts +0 -14
  42. package/dist/cli/cliCommandComposite.d.ts.map +0 -1
  43. package/dist/cli/cliCommandComposite.js +0 -32
  44. package/dist/cli/cliCommandComposite.js.map +0 -1
  45. package/dist/cli.d.ts +0 -2
  46. package/dist/cli.d.ts.map +0 -1
  47. package/dist/cli.js +0 -34
  48. package/dist/cli.js.map +0 -1
  49. package/dist/commands/flatten.d.ts +0 -59
  50. package/dist/commands/flatten.d.ts.map +0 -1
  51. package/dist/commands/flatten.js +0 -97
  52. package/dist/commands/flatten.js.map +0 -1
  53. package/dist/commands/generate.d.ts +0 -115
  54. package/dist/commands/generate.d.ts.map +0 -1
  55. package/dist/commands/generate.js +0 -150
  56. package/dist/commands/generate.js.map +0 -1
  57. package/dist/commands/generateV1.d.ts +0 -179
  58. package/dist/commands/generateV1.d.ts.map +0 -1
  59. package/dist/commands/generateV1.js +0 -169
  60. package/dist/commands/generateV1.js.map +0 -1
  61. package/dist/commands/generateV2.d.ts +0 -189
  62. package/dist/commands/generateV2.d.ts.map +0 -1
  63. package/dist/commands/generateV2.js +0 -200
  64. package/dist/commands/generateV2.js.map +0 -1
  65. package/dist/commands/get.d.ts +0 -35
  66. package/dist/commands/get.d.ts.map +0 -1
  67. package/dist/commands/get.js +0 -92
  68. package/dist/commands/get.js.map +0 -1
  69. package/dist/commands/labels.d.ts +0 -47
  70. package/dist/commands/labels.d.ts.map +0 -1
  71. package/dist/commands/labels.js +0 -48
  72. package/dist/commands/labels.js.map +0 -1
  73. package/dist/commands/relocate.d.ts +0 -71
  74. package/dist/commands/relocate.d.ts.map +0 -1
  75. package/dist/commands/relocate.js +0 -81
  76. package/dist/commands/relocate.js.map +0 -1
  77. package/dist/commands/resize.d.ts +0 -69
  78. package/dist/commands/resize.d.ts.map +0 -1
  79. package/dist/commands/resize.js +0 -112
  80. package/dist/commands/resize.js.map +0 -1
  81. package/dist/dummy.d.ts +0 -2
  82. package/dist/dummy.d.ts.map +0 -1
  83. package/dist/dummy.js +0 -28
  84. package/dist/dummy.js.map +0 -1
  85. package/dist/index.d.ts +0 -2
  86. package/dist/index.d.ts.map +0 -1
  87. package/dist/index.js.map +0 -1
  88. package/dist/tests/lodash.unit.test.d.ts +0 -2
  89. package/dist/tests/lodash.unit.test.d.ts.map +0 -1
  90. package/dist/tests/lodash.unit.test.js +0 -29
  91. package/dist/tests/lodash.unit.test.js.map +0 -1
  92. package/dist/tests/mocked.unit.test.d.ts +0 -2
  93. package/dist/tests/mocked.unit.test.d.ts.map +0 -1
  94. package/dist/tests/mocked.unit.test.js +0 -253
  95. package/dist/tests/mocked.unit.test.js.map +0 -1
  96. package/dist/tests/utils.d.ts +0 -35
  97. package/dist/tests/utils.d.ts.map +0 -1
  98. package/dist/tests/utils.js +0 -101
  99. package/dist/tests/utils.js.map +0 -1
  100. package/dist/utils/input.d.ts +0 -24
  101. package/dist/utils/input.d.ts.map +0 -1
  102. package/dist/utils/input.js +0 -35
  103. package/dist/utils/input.js.map +0 -1
  104. package/dist/utils/inputOutput.d.ts +0 -21
  105. package/dist/utils/inputOutput.d.ts.map +0 -1
  106. package/dist/utils/inputOutput.js +0 -10
  107. package/dist/utils/inputOutput.js.map +0 -1
  108. package/dist/utils/output.d.ts +0 -36
  109. package/dist/utils/output.d.ts.map +0 -1
  110. package/dist/utils/output.js +0 -62
  111. package/dist/utils/output.js.map +0 -1
@@ -1,92 +0,0 @@
1
- import fs from "node:fs";
2
- import { get } from "@prosopo/util";
3
- import { lodash } from "@prosopo/util/lodash";
4
- import cliProgress from "cli-progress";
5
- import * as z from "zod";
6
- import { InputArgsSchema, InputCliCommand } from "../utils/input.js";
7
- export const ArgsSchema = InputArgsSchema.extend({});
8
- export class Get extends InputCliCommand {
9
- getArgSchema() {
10
- return ArgsSchema;
11
- }
12
- getOptions() {
13
- return lodash().merge(super.getOptions(), {
14
- input: {
15
- description: 'JSON file containing urls under a "data" key',
16
- },
17
- });
18
- }
19
- async _run(args) {
20
- await super._run(args);
21
- const bar = new cliProgress.SingleBar({}, cliProgress.Presets.shades_classic);
22
- const list = [];
23
- const traverse = async (data) => {
24
- if (Array.isArray(data)) {
25
- for (let i = 0; i < data.length; i++) {
26
- data[i] = await traverse(data[i]);
27
- }
28
- }
29
- else if (data instanceof Object) {
30
- for (const key of Object.keys(data)) {
31
- if (key === "data") {
32
- const value = get(data, key);
33
- const url = z.string().parse(value);
34
- list.push(url);
35
- }
36
- else {
37
- await traverse(get(data, key));
38
- }
39
- }
40
- }
41
- return data;
42
- };
43
- const file = args.input;
44
- const data = JSON.parse(fs.readFileSync(file, "utf8"));
45
- await traverse(data);
46
- bar.start(list.length, 0);
47
- for (const url of list) {
48
- bar.increment();
49
- if (url.startsWith("http")) {
50
- try {
51
- const response = await fetch(url);
52
- if (!response.ok) {
53
- this.logger.error(() => ({
54
- url,
55
- status: response.status,
56
- statusText: response.statusText,
57
- msg: `GET ${url} failed`,
58
- }));
59
- }
60
- else {
61
- this.logger.info(() => ({ msg: `GET ${url} OK` }));
62
- }
63
- }
64
- catch (err) {
65
- this.logger.error(() => ({
66
- err,
67
- data: { url },
68
- msg: `GET ${url} failed`,
69
- }));
70
- }
71
- }
72
- else {
73
- try {
74
- fs.readFileSync(url);
75
- this.logger.info(() => ({ msg: `GET ${url} OK` }));
76
- }
77
- catch (err) {
78
- this.logger.error(() => ({
79
- err,
80
- data: { url },
81
- msg: `GET ${url} failed`,
82
- }));
83
- }
84
- }
85
- }
86
- bar.stop();
87
- }
88
- getDescription() {
89
- return "Test a GET request at image URLs";
90
- }
91
- }
92
- //# sourceMappingURL=get.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,WAAW,MAAM,cAAc,CAAC;AAcvC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAGrD,MAAM,OAAO,GAAI,SAAQ,eAA+B;IACvC,YAAY;QAC3B,OAAO,UAAU,CAAC;IACnB,CAAC;IAEe,UAAU;QACzB,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE;YACzC,KAAK,EAAE;gBACN,WAAW,EAAE,8CAA8C;aAC3D;SACD,CAAC,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CAAC,IAAU;QACpC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,SAAS,CACpC,EAAE,EACF,WAAW,CAAC,OAAO,CAAC,cAAc,CAClC,CAAC;QAEF,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAS,EAAE,EAAE;YACpC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC;YACF,CAAC;iBAAM,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;gBACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;wBACpB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACP,MAAM,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;oBAChC,CAAC;gBACF,CAAC;YACF,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAIxB,MAAM,IAAI,GAAQ,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5D,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QAErB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;4BACxB,GAAG;4BACH,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;4BAC/B,GAAG,EAAE,OAAO,GAAG,SAAS;yBACxB,CAAC,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;oBACpD,CAAC;gBACF,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;wBACxB,GAAG;wBACH,IAAI,EAAE,EAAE,GAAG,EAAE;wBACb,GAAG,EAAE,OAAO,GAAG,SAAS;qBACxB,CAAC,CAAC,CAAC;gBACL,CAAC;YACF,CAAC;iBAAM,CAAC;gBAEP,IAAI,CAAC;oBACJ,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;wBACxB,GAAG;wBACH,IAAI,EAAE,EAAE,GAAG,EAAE;wBACb,GAAG,EAAE,OAAO,GAAG,SAAS;qBACxB,CAAC,CAAC,CAAC;gBACL,CAAC;YACF,CAAC;QACF,CAAC;QACD,GAAG,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAEe,cAAc;QAC7B,OAAO,kCAAkC,CAAC;IAC3C,CAAC;CACD"}
@@ -1,47 +0,0 @@
1
- import type * as z from "zod";
2
- import { InputOutputCliCommand } from "../utils/inputOutput.js";
3
- export declare const ArgsSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
4
- input: z.ZodString;
5
- }, {
6
- output: z.ZodString;
7
- overwrite: z.ZodOptional<z.ZodBoolean>;
8
- }>, {}>, "strip", z.ZodTypeAny, {
9
- input: string;
10
- output: string;
11
- overwrite?: boolean | undefined;
12
- }, {
13
- input: string;
14
- output: string;
15
- overwrite?: boolean | undefined;
16
- }>;
17
- export type ArgsSchemaType = typeof ArgsSchema;
18
- export type Args = z.infer<ArgsSchemaType>;
19
- export declare class Labels extends InputOutputCliCommand<ArgsSchemaType> {
20
- getArgSchema(): z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
21
- input: z.ZodString;
22
- }, {
23
- output: z.ZodString;
24
- overwrite: z.ZodOptional<z.ZodBoolean>;
25
- }>, {}>, "strip", z.ZodTypeAny, {
26
- input: string;
27
- output: string;
28
- overwrite?: boolean | undefined;
29
- }, {
30
- input: string;
31
- output: string;
32
- overwrite?: boolean | undefined;
33
- }>;
34
- getOptions(): {
35
- [key: string]: import("yargs").Options;
36
- } & {
37
- input: {
38
- description: string;
39
- };
40
- output: {
41
- description: string;
42
- };
43
- };
44
- _run(args: Args): Promise<void>;
45
- getDescription(): string;
46
- }
47
- //# sourceMappingURL=labels.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/commands/labels.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAEN,qBAAqB,EACrB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,UAAU;;;;;;;;;;;;;EAAmC,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,OAAO,UAAU,CAAC;AAC/C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAE3C,qBAAa,MAAO,SAAQ,qBAAqB,CAAC,cAAc,CAAC;IAChD,YAAY;;;;;;;;;;;;;;IAIZ,UAAU;;;;;;;;;;IAWJ,IAAI,CAAC,IAAI,EAAE,IAAI;IA+BrB,cAAc,IAAI,MAAM;CAGxC"}
@@ -1,48 +0,0 @@
1
- import fs from "node:fs";
2
- import { ProsopoDatasetError } from "@prosopo/common";
3
- import { LabelledDataSchema } from "@prosopo/types";
4
- import { lodash } from "@prosopo/util/lodash";
5
- import { InputOutputArgsSchema, InputOutputCliCommand, } from "../utils/inputOutput.js";
6
- export const ArgsSchema = InputOutputArgsSchema.extend({});
7
- export class Labels extends InputOutputCliCommand {
8
- getArgSchema() {
9
- return ArgsSchema;
10
- }
11
- getOptions() {
12
- return lodash().merge(super.getOptions(), {
13
- input: {
14
- description: "JSON file containing labelled data",
15
- },
16
- output: {
17
- description: "Where to put the JSON file containing labels",
18
- },
19
- });
20
- }
21
- async _run(args) {
22
- await super._run(args);
23
- const file = args.input;
24
- if (!fs.existsSync(file)) {
25
- throw new ProsopoDatasetError(new Error(`file does not exist: ${file}`), {
26
- translationKey: "FS.FILE_NOT_FOUND",
27
- });
28
- }
29
- const labelled = file
30
- ? LabelledDataSchema.parse(JSON.parse(fs.readFileSync(file, "utf8")))
31
- .items
32
- : [];
33
- const labels = new Set();
34
- for (const item of labelled) {
35
- labels.add(item.label);
36
- }
37
- const labelArray = Array.from(labels);
38
- labelArray.sort();
39
- fs.mkdirSync(args.output.split("/").slice(0, -1).join("/"), {
40
- recursive: true,
41
- });
42
- fs.writeFileSync(args.output, JSON.stringify({ labels: labelArray }, null, 4));
43
- }
44
- getDescription() {
45
- return "get all labels from some data";
46
- }
47
- }
48
- //# sourceMappingURL=labels.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/commands/labels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAqB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAe9C,OAAO,EACN,qBAAqB,EACrB,qBAAqB,GACrB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,CAAC,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAI3D,MAAM,OAAO,MAAO,SAAQ,qBAAqC;IAChD,YAAY;QAC3B,OAAO,UAAU,CAAC;IACnB,CAAC;IAEe,UAAU;QACzB,OAAO,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE;YACzC,KAAK,EAAE;gBACN,WAAW,EAAE,oCAAoC;aACjD;YACD,MAAM,EAAE;gBACP,WAAW,EAAE,8CAA8C;aAC3D;SACD,CAAC,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,IAAI,CAAC,IAAU;QACpC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,mBAAmB,CAAC,IAAI,KAAK,CAAC,wBAAwB,IAAI,EAAE,CAAC,EAAE;gBACxE,cAAc,EAAE,mBAAmB;aACnC,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAmB,IAAI;YACpC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;iBAClE,KAAK;YACR,CAAC,CAAC,EAAE,CAAC;QAEN,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,UAAU,CAAC,IAAI,EAAE,CAAC;QAElB,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC3D,SAAS,EAAE,IAAI;SACf,CAAC,CAAC;QACH,EAAE,CAAC,aAAa,CACf,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAC/C,CAAC;IACH,CAAC;IAEe,cAAc;QAC7B,OAAO,+BAA+B,CAAC;IACxC,CAAC;CACD"}
@@ -1,71 +0,0 @@
1
- import * as z from "zod";
2
- import { InputOutputCliCommand } from "../utils/inputOutput.js";
3
- export declare const ArgsSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
4
- input: z.ZodString;
5
- }, {
6
- output: z.ZodString;
7
- overwrite: z.ZodOptional<z.ZodBoolean>;
8
- }>, {
9
- from: z.ZodString;
10
- to: z.ZodString;
11
- }>, "strip", z.ZodTypeAny, {
12
- input: string;
13
- output: string;
14
- from: string;
15
- to: string;
16
- overwrite?: boolean | undefined;
17
- }, {
18
- input: string;
19
- output: string;
20
- from: string;
21
- to: string;
22
- overwrite?: boolean | undefined;
23
- }>;
24
- export type ArgsSchemaType = typeof ArgsSchema;
25
- export type Args = z.infer<ArgsSchemaType>;
26
- export declare class Relocate extends InputOutputCliCommand<ArgsSchemaType> {
27
- getArgSchema(): z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
28
- input: z.ZodString;
29
- }, {
30
- output: z.ZodString;
31
- overwrite: z.ZodOptional<z.ZodBoolean>;
32
- }>, {
33
- from: z.ZodString;
34
- to: z.ZodString;
35
- }>, "strip", z.ZodTypeAny, {
36
- input: string;
37
- output: string;
38
- from: string;
39
- to: string;
40
- overwrite?: boolean | undefined;
41
- }, {
42
- input: string;
43
- output: string;
44
- from: string;
45
- to: string;
46
- overwrite?: boolean | undefined;
47
- }>;
48
- getOptions(): {
49
- [key: string]: import("yargs").Options;
50
- } & {
51
- input: {
52
- description: string;
53
- };
54
- output: {
55
- description: string;
56
- };
57
- from: {
58
- string: boolean;
59
- demand: boolean;
60
- description: string;
61
- };
62
- to: {
63
- description: string;
64
- string: boolean;
65
- demand: boolean;
66
- };
67
- };
68
- _run(args: Args): Promise<void>;
69
- getDescription(): string;
70
- }
71
- //# sourceMappingURL=relocate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relocate.d.ts","sourceRoot":"","sources":["../../src/commands/relocate.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAEN,qBAAqB,EACrB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;EAGrB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,UAAU,CAAC;AAC/C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAE3C,qBAAa,QAAS,SAAQ,qBAAqB,CAAC,cAAc,CAAC;IAClD,YAAY;;;;;;;;;;;;;;;;;;;;;IAIZ,UAAU;;;;;;;;;;;;;;;;;;;;IAsBJ,IAAI,CAAC,IAAI,EAAE,IAAI;IAiDrB,cAAc,IAAI,MAAM;CAGxC"}
@@ -1,81 +0,0 @@
1
- import fs from "node:fs";
2
- import { get } from "@prosopo/util";
3
- import { lodash } from "@prosopo/util/lodash";
4
- import * as z from "zod";
5
- import { InputOutputArgsSchema, InputOutputCliCommand, } from "../utils/inputOutput.js";
6
- export const ArgsSchema = InputOutputArgsSchema.extend({
7
- from: z.string(),
8
- to: z.string(),
9
- });
10
- export class Relocate extends InputOutputCliCommand {
11
- getArgSchema() {
12
- return ArgsSchema;
13
- }
14
- getOptions() {
15
- return lodash().merge(super.getOptions(), {
16
- input: {
17
- description: "A json file containing a list of objects with (at least) a url",
18
- },
19
- output: {
20
- description: "Where to write the new json file containing the new urls",
21
- },
22
- from: {
23
- string: true,
24
- demand: true,
25
- description: "The string to replace in the urls",
26
- },
27
- to: {
28
- description: "The string to substitute in the urls",
29
- string: true,
30
- demand: true,
31
- },
32
- });
33
- }
34
- async _run(args) {
35
- await super._run(args);
36
- const replace = (data, from, to) => {
37
- if (Array.isArray(data)) {
38
- for (let i = 0; i < data.length; i++) {
39
- data[i] = replace(data[i], from, to);
40
- }
41
- }
42
- else if (typeof data === "object") {
43
- const obj = data;
44
- for (const key of Object.keys(obj)) {
45
- if (key === "data") {
46
- const value = get(obj, key);
47
- if (typeof value === "string") {
48
- if (value.startsWith(from)) {
49
- this.logger.debug(() => ({
50
- msg: "replacing",
51
- data: { value },
52
- }));
53
- obj[key] = to + value.slice(from.length);
54
- this.logger.debug(() => ({
55
- msg: "replaced",
56
- data: { value: obj[key] },
57
- }));
58
- }
59
- }
60
- }
61
- else {
62
- obj[key] = replace(obj[key], from, to);
63
- }
64
- }
65
- }
66
- return data;
67
- };
68
- const file = args.input;
69
- this.logger.info(() => ({ data: args, msg: "relocate" }));
70
- let data = JSON.parse(fs.readFileSync(file, "utf8"));
71
- data = replace(data, args.from, args.to);
72
- fs.mkdirSync(args.output.split("/").slice(0, -1).join("/"), {
73
- recursive: true,
74
- });
75
- fs.writeFileSync(args.output, JSON.stringify(data, null, 4));
76
- }
77
- getDescription() {
78
- return "Relocate urls in a JSON file using string substitution";
79
- }
80
- }
81
- //# sourceMappingURL=relocate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relocate.js","sourceRoot":"","sources":["../../src/commands/relocate.ts"],"names":[],"mappings":"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"}
@@ -1,69 +0,0 @@
1
- import * as z from "zod";
2
- import { InputOutputCliCommand } from "../utils/inputOutput.js";
3
- export declare const ArgsSchema: z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
4
- input: z.ZodString;
5
- }, {
6
- output: z.ZodString;
7
- overwrite: z.ZodOptional<z.ZodBoolean>;
8
- }>, {
9
- size: z.ZodNumber;
10
- square: z.ZodOptional<z.ZodBoolean>;
11
- }>, "strip", z.ZodTypeAny, {
12
- input: string;
13
- output: string;
14
- size: number;
15
- overwrite?: boolean | undefined;
16
- square?: boolean | undefined;
17
- }, {
18
- input: string;
19
- output: string;
20
- size: number;
21
- overwrite?: boolean | undefined;
22
- square?: boolean | undefined;
23
- }>;
24
- export type ArgsSchemaType = typeof ArgsSchema;
25
- export type Args = z.infer<ArgsSchemaType>;
26
- export declare class Resize extends InputOutputCliCommand<ArgsSchemaType> {
27
- getArgSchema(): z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
28
- input: z.ZodString;
29
- }, {
30
- output: z.ZodString;
31
- overwrite: z.ZodOptional<z.ZodBoolean>;
32
- }>, {
33
- size: z.ZodNumber;
34
- square: z.ZodOptional<z.ZodBoolean>;
35
- }>, "strip", z.ZodTypeAny, {
36
- input: string;
37
- output: string;
38
- size: number;
39
- overwrite?: boolean | undefined;
40
- square?: boolean | undefined;
41
- }, {
42
- input: string;
43
- output: string;
44
- size: number;
45
- overwrite?: boolean | undefined;
46
- square?: boolean | undefined;
47
- }>;
48
- getOptions(): {
49
- [key: string]: import("yargs").Options;
50
- } & {
51
- input: {
52
- description: string;
53
- };
54
- output: {
55
- description: string;
56
- };
57
- size: {
58
- number: boolean;
59
- description: string;
60
- };
61
- square: {
62
- boolean: boolean;
63
- description: string;
64
- };
65
- };
66
- _run(args: Args): Promise<void>;
67
- getDescription(): string;
68
- }
69
- //# sourceMappingURL=resize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../src/commands/resize.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAEN,qBAAqB,EACrB,MAAM,yBAAyB,CAAC;AAEjC,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;EAGrB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,UAAU,CAAC;AAC/C,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAE3C,qBAAa,MAAO,SAAQ,qBAAqB,CAAC,cAAc,CAAC;IAChD,YAAY;;;;;;;;;;;;;;;;;;;;;IAIZ,UAAU;;;;;;;;;;;;;;;;;;IAuBJ,IAAI,CAAC,IAAI,EAAE,IAAI;IAyGrB,cAAc,IAAI,MAAM;CAGxC"}
@@ -1,112 +0,0 @@
1
- import fs from "node:fs";
2
- import { blake2b } from "@noble/hashes/blake2b";
3
- import { ProsopoDatasetError, ProsopoEnvError } from "@prosopo/common";
4
- import { DataSchema } from "@prosopo/types";
5
- import { u8aToHex } from "@prosopo/util";
6
- import { lodash } from "@prosopo/util/lodash";
7
- import cliProgress from "cli-progress";
8
- import sharp from "sharp";
9
- import * as z from "zod";
10
- import { InputOutputArgsSchema, InputOutputCliCommand, } from "../utils/inputOutput.js";
11
- export const ArgsSchema = InputOutputArgsSchema.extend({
12
- size: z.number(),
13
- square: z.boolean().optional(),
14
- });
15
- export class Resize extends InputOutputCliCommand {
16
- getArgSchema() {
17
- return ArgsSchema;
18
- }
19
- getOptions() {
20
- return lodash().merge(super.getOptions(), {
21
- input: {
22
- description: "JSON file containing a list of objects with (at least) a url",
23
- },
24
- output: {
25
- description: "Where to put the output directory containing the map file and single directory of images. The map file will contain the new urls of the scaled images, new hashes and pass through any other information, e.g. labels.",
26
- },
27
- size: {
28
- number: true,
29
- description: "The dimension (height/width) of the scaled image. If the image is not square, the other dimension will be scaled to maintain the aspect ratio.",
30
- },
31
- square: {
32
- boolean: true,
33
- description: "If true, the image will be cropped to a square before scaling. If false, the image will be scaled to the given size, maintaining the aspect ratio.",
34
- },
35
- });
36
- }
37
- async _run(args) {
38
- await super._run(args);
39
- const size = args.size;
40
- const square = args.square ?? false;
41
- const mapFile = args.input;
42
- if (!fs.existsSync(mapFile)) {
43
- throw new ProsopoDatasetError(new Error(`Map file does not exist: ${mapFile}`), {
44
- translationKey: "FS.FILE_NOT_FOUND",
45
- });
46
- }
47
- const outDir = args.output;
48
- const overwrite = args.overwrite || false;
49
- if (!overwrite && fs.existsSync(outDir)) {
50
- throw new ProsopoEnvError(new Error(`Output directory already exists: ${outDir}`), {
51
- translationKey: "FS.FILE_NOT_FOUND",
52
- });
53
- }
54
- const imgDir = `${outDir}/images`;
55
- fs.mkdirSync(imgDir, { recursive: true });
56
- const inputItems = DataSchema.parse(JSON.parse(fs.readFileSync(mapFile, "utf8"))).items;
57
- const bar = new cliProgress.SingleBar({}, cliProgress.Presets.shades_classic);
58
- bar.start(inputItems.length, 0);
59
- const outputItems = [];
60
- for (const inputItem of inputItems) {
61
- bar.increment();
62
- const img = fs.readFileSync(inputItem.data);
63
- const resized = await sharp(img)
64
- .resize({
65
- width: size,
66
- height: size,
67
- fit: square ? "cover" : "inside",
68
- })
69
- .removeAlpha()
70
- .toColorspace("srgb")
71
- .jpeg({
72
- quality: 75,
73
- chromaSubsampling: "4:2:0",
74
- optimiseCoding: true,
75
- trellisQuantisation: true,
76
- overshootDeringing: true,
77
- optimizeScans: true,
78
- quantisationTable: 3,
79
- force: true,
80
- });
81
- const tmpFilePath = `${imgDir}/tmp.jpg`;
82
- await resized.toFile(tmpFilePath);
83
- const resizedImg = fs.readFileSync(tmpFilePath);
84
- const hash = blake2b(resizedImg);
85
- const hex = u8aToHex(hash);
86
- const finalFilePath = `${imgDir}/${hex}.jpg`;
87
- fs.renameSync(tmpFilePath, finalFilePath);
88
- const outputItem = {
89
- ...inputItem,
90
- hash: hex,
91
- data: fs.realpathSync(finalFilePath),
92
- };
93
- outputItems.push(outputItem);
94
- }
95
- bar.stop();
96
- const outputMapFile = `${outDir}/data.json`;
97
- const data = {
98
- items: outputItems,
99
- };
100
- this.logger.info(() => ({ msg: "verifying data" }));
101
- DataSchema.parse(data);
102
- this.logger.info(() => ({ msg: "writing data" }));
103
- fs.mkdirSync(args.output.split("/").slice(0, -1).join("/"), {
104
- recursive: true,
105
- });
106
- fs.writeFileSync(outputMapFile, JSON.stringify(data, null, 4));
107
- }
108
- getDescription() {
109
- return "Resize images to a given size";
110
- }
111
- }
112
- //# sourceMappingURL=resize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize.js","sourceRoot":"","sources":["../../src/commands/resize.ts"],"names":[],"mappings":"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"}
package/dist/dummy.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=dummy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dummy.d.ts","sourceRoot":"","sources":["../src/dummy.ts"],"names":[],"mappings":""}
package/dist/dummy.js DELETED
@@ -1,28 +0,0 @@
1
- import fs from "node:fs";
2
- import { CaptchaItemTypes } from "@prosopo/types";
3
- const nLabels = 4;
4
- const nLabelledImages = 100;
5
- const nUnlabelledImages = 100;
6
- const labelledImages = [];
7
- const unlabelledImages = [];
8
- for (let i = 0; i < nLabelledImages; i++) {
9
- const label = i % nLabels;
10
- labelledImages.push({
11
- label: label.toString(),
12
- data: `abc${i}`,
13
- type: CaptchaItemTypes.Image,
14
- hash: `abc${i}hash`,
15
- });
16
- }
17
- for (let i = 0; i < nUnlabelledImages; i++) {
18
- unlabelledImages.push({
19
- data: `def${i}`,
20
- type: CaptchaItemTypes.Image,
21
- hash: `def${i}hash`,
22
- });
23
- }
24
- fs.writeFileSync("labelled.json", JSON.stringify(labelledImages));
25
- fs.writeFileSync("unlabelled.json", JSON.stringify(unlabelledImages));
26
- fs.writeFileSync("labels.json", JSON.stringify(Array.from(Array(nLabels).keys()).map((x) => x.toString())));
27
- process.exit(0);
28
- //# sourceMappingURL=dummy.js.map
package/dist/dummy.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"dummy.js","sourceRoot":"","sources":["../src/dummy.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAgC,MAAM,gBAAgB,CAAC;AAEhF,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,MAAM,cAAc,GAAmB,EAAE,CAAC;AAC1C,MAAM,gBAAgB,GAAW,EAAE,CAAC;AAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC;IAC1B,cAAc,CAAC,IAAI,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;QACvB,IAAI,EAAE,MAAM,CAAC,EAAE;QACf,IAAI,EAAE,gBAAgB,CAAC,KAAK;QAC5B,IAAI,EAAE,MAAM,CAAC,MAAM;KACnB,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC;IAC5C,gBAAgB,CAAC,IAAI,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC,EAAE;QACf,IAAI,EAAE,gBAAgB,CAAC,KAAK;QAC5B,IAAI,EAAE,MAAM,CAAC,MAAM;KACnB,CAAC,CAAC;AACJ,CAAC;AAED,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;AAClE,EAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACtE,EAAE,CAAC,aAAa,CACf,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAC1E,CAAC;AAEF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC"}
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./cli/cli.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,cAAc,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,cAAc,cAAc,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=lodash.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lodash.unit.test.d.ts","sourceRoot":"","sources":["../../src/tests/lodash.unit.test.ts"],"names":[],"mappings":""}
@@ -1,29 +0,0 @@
1
- import { rng, seedLodash } from "@prosopo/util/lodash";
2
- import { describe, expect, test } from "vitest";
3
- describe("rng", () => {
4
- test("generates random numbers using a seed", () => {
5
- const seed = 0;
6
- const rand = rng(seed);
7
- const expected = [
8
- -1681090547, 408334984, 788430095, 3233831872, 963300000, -299378919,
9
- 97582850,
10
- ];
11
- for (let i = 0; i < expected.length; i++) {
12
- expect(rand.int()).to.equal(expected[i]);
13
- }
14
- });
15
- });
16
- describe("seeded_lodash", () => {
17
- test("shuffles an array using a seed", () => {
18
- let array = [1, 2, 3, 4, 5];
19
- const seed = 0;
20
- const _ = seedLodash(seed);
21
- array = _.shuffle(array);
22
- expect(array).to.deep.equal([4, 2, 1, 3, 5]);
23
- array = _.shuffle(array);
24
- expect(array).to.deep.equal([3, 4, 1, 5, 2]);
25
- array = _.shuffle(array);
26
- expect(array).to.deep.equal([3, 4, 5, 2, 1]);
27
- });
28
- });
29
- //# sourceMappingURL=lodash.unit.test.js.map