@constl/utils-tests 1.7.0 → 2.0.1
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/.aegir.js +2 -2
- package/dist/attente.d.ts +8 -30
- package/dist/attente.js +101 -141
- package/dist/attente.js.map +1 -1
- package/dist/config.d.ts +4 -1
- package/dist/config.js +4 -4
- package/dist/config.js.map +1 -1
- package/dist/constellation.d.ts +14 -10
- package/dist/constellation.js +24 -43
- package/dist/constellation.js.map +1 -1
- package/dist/dossiers.d.ts +1 -1
- package/dist/dossiers.js +19 -5
- package/dist/dossiers.js.map +1 -1
- package/dist/h/303/251lia.d.ts +11 -0
- package/dist/h/303/251lia.js +38 -0
- package/dist/h/303/251lia.js.map +1 -0
- package/dist/index.d.ts +8 -8
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/libp2p/config.d.ts +25 -0
- package/dist/{libp2p.js → libp2p/config.js} +47 -56
- package/dist/libp2p/config.js.map +1 -0
- package/dist/libp2p/index.d.ts +3 -0
- package/dist/libp2p/index.js +4 -0
- package/dist/libp2p/index.js.map +1 -0
- package/dist/libp2p/libp2p.d.ts +9 -0
- package/dist/libp2p/libp2p.js +21 -0
- package/dist/libp2p/libp2p.js.map +1 -0
- package/dist/libp2p/utils.d.ts +10 -0
- package/dist/libp2p/utils.js +41 -0
- package/dist/libp2p/utils.js.map +1 -0
- package/dist/orbite.d.ts +7 -23
- package/dist/orbite.js +31 -154
- package/dist/orbite.js.map +1 -1
- package/dist/{scripts/relai.js → relai/bin.js} +12 -16
- package/dist/relai/bin.js.map +1 -0
- package/dist/relai/consts.d.ts +3 -0
- package/dist/relai/consts.js +4 -0
- package/dist/relai/consts.js.map +1 -0
- package/dist/relai/index.d.ts +3 -0
- package/dist/relai/index.js +4 -0
- package/dist/relai/index.js.map +1 -0
- package/dist/relai/relai.d.ts +5 -0
- package/dist/relai/relai.js +29 -0
- package/dist/relai/relai.js.map +1 -0
- package/dist/relai/utils.d.ts +4 -0
- package/dist/relai/utils.js +6 -0
- package/dist/relai/utils.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils.d.ts +4 -0
- package/dist/utils.js +5 -0
- package/dist/utils.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/attente.ts +129 -156
- package/src/config.ts +10 -4
- package/src/constellation.ts +39 -60
- package/src/dossiers.ts +18 -6
- package/src/h/303/251lia.ts +61 -0
- package/src/index.ts +28 -8
- package/src/{libp2p.ts → libp2p/config.ts} +66 -71
- package/src/libp2p/index.ts +9 -0
- package/src/libp2p/libp2p.ts +41 -0
- package/src/libp2p/utils.ts +59 -0
- package/src/orbite.ts +43 -228
- package/src/{scripts/relai.ts → relai/bin.ts} +11 -16
- package/src/relai/consts.ts +5 -0
- package/src/relai/index.ts +3 -0
- package/src/relai/relai.ts +40 -0
- package/src/relai/utils.ts +14 -0
- package/src/utils.ts +5 -0
- package/src/version.ts +1 -1
- package/dist/libp2p.d.ts +0 -26
- package/dist/libp2p.js.map +0 -1
- package/dist/scripts/relai.js.map +0 -1
- package/dist/sfip.d.ts +0 -13
- package/dist/sfip.js +0 -89
- package/dist/sfip.js.map +0 -1
- package/src/sfip.ts +0 -127
- /package/dist/{scripts/relai.d.ts → relai/bin.d.ts} +0 -0
package/.aegir.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { générerConfigÆgir } from "./dist/src/index.js";
|
|
2
2
|
|
|
3
|
-
export default
|
|
3
|
+
export default générerConfigÆgir();
|
package/dist/attente.d.ts
CHANGED
|
@@ -1,32 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export declare class AttendreRésultat<T> {
|
|
4
|
-
val?: T;
|
|
5
|
-
fsOublier: {
|
|
6
|
-
[clef: string]: () => void;
|
|
7
|
-
};
|
|
8
|
-
événements: EventEmitter;
|
|
9
|
-
constructor();
|
|
10
|
-
mettreÀJour(x?: T): void;
|
|
11
|
-
attendreQue(f: (x: T) => boolean | Promise<boolean>): Promise<T>;
|
|
12
|
-
attendreExiste(): Promise<T>;
|
|
13
|
-
attendreNexistePas(): Promise<void>;
|
|
14
|
-
oublier(id: string): void;
|
|
15
|
-
toutAnnuler(): void;
|
|
16
|
-
}
|
|
17
|
-
export declare class AttendreFichierExiste extends EventEmitter {
|
|
18
|
-
fOublier?: () => void;
|
|
1
|
+
export declare const que: <T>(f: () => T | Promise<T | undefined>, t?: number) => Promise<void>;
|
|
2
|
+
export declare const attendreFichierExiste: ({ fichier, signal, }: {
|
|
19
3
|
fichier: string;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
annuler(): void;
|
|
24
|
-
}
|
|
25
|
-
export declare class AttendreFichierModifié extends EventEmitter {
|
|
26
|
-
fsOublier: (() => void)[];
|
|
4
|
+
signal?: AbortSignal;
|
|
5
|
+
}) => Promise<boolean>;
|
|
6
|
+
export declare const attendreFichierModifié: ({ fichier, condition, signal, }: {
|
|
27
7
|
fichier: string;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
annuler(): void;
|
|
32
|
-
}
|
|
8
|
+
condition?: () => Promise<boolean>;
|
|
9
|
+
signal?: AbortSignal;
|
|
10
|
+
}) => Promise<unknown>;
|
package/dist/attente.js
CHANGED
|
@@ -1,145 +1,105 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { isBrowser, isElectronRenderer } from "wherearewe";
|
|
2
|
+
export const que = async (f, t = 100) => {
|
|
3
|
+
return new Promise((résoudre) => {
|
|
4
|
+
const testF = async () => {
|
|
5
|
+
const résultat = await f();
|
|
6
|
+
if (résultat) {
|
|
7
|
+
résoudre();
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
setTimeout(testF, t);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
testF();
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
export const attendreFichierExiste = async ({ fichier, signal, }) => {
|
|
17
|
+
if (isBrowser || isElectronRenderer) {
|
|
18
|
+
throw new Error("Test non disponible dans le navigateur.");
|
|
12
19
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
20
|
+
const chokidar = await import("chokidar");
|
|
21
|
+
const fs = await import("fs");
|
|
22
|
+
const path = await import("path");
|
|
23
|
+
return new Promise((résoudre) => {
|
|
24
|
+
// Arrêter tout de suite si le fichier existe déjà
|
|
25
|
+
if (fs.existsSync(fichier))
|
|
26
|
+
résoudre(true);
|
|
27
|
+
// Actions signal
|
|
28
|
+
const lorsqueAvorté = () => {
|
|
29
|
+
fermerEtRésoudre(false);
|
|
30
|
+
};
|
|
31
|
+
// Actions écouteur de fichiers
|
|
32
|
+
const dossier = path.dirname(fichier);
|
|
33
|
+
const écouteur = chokidar.watch(dossier);
|
|
34
|
+
const fermerÉcouteur = async () => await écouteur.close();
|
|
35
|
+
const lorsquFichierAjouté = () => {
|
|
36
|
+
if (fs.existsSync(fichier)) {
|
|
37
|
+
fermerEtRésoudre(true);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
// Fermeture des écouteurs
|
|
41
|
+
const fermerEtRésoudre = async (statut) => {
|
|
42
|
+
signal?.removeEventListener("abort", lorsqueAvorté);
|
|
43
|
+
écouteur.off("add", lorsquFichierAjouté);
|
|
44
|
+
await fermerÉcouteur();
|
|
45
|
+
résoudre(statut);
|
|
46
|
+
};
|
|
47
|
+
signal?.addEventListener("abort", lorsqueAvorté);
|
|
48
|
+
écouteur.on("add", lorsquFichierAjouté);
|
|
49
|
+
if (signal?.aborted)
|
|
50
|
+
fermerEtRésoudre(false);
|
|
51
|
+
if (fs.existsSync(fichier))
|
|
52
|
+
fermerEtRésoudre(true);
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
export const attendreFichierModifié = async ({ fichier, condition, signal, }) => {
|
|
56
|
+
if (isBrowser || isElectronRenderer) {
|
|
57
|
+
throw new Error("Test non disponible dans le navigateur.");
|
|
16
58
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
59
|
+
await attendreFichierExiste({ fichier, signal });
|
|
60
|
+
const tempsAvant = Date.now();
|
|
61
|
+
const chokidar = await import("chokidar");
|
|
62
|
+
const fs = await import("fs");
|
|
63
|
+
return new Promise((résoudre) => {
|
|
64
|
+
// Actions signal
|
|
65
|
+
const lorsqueAvorté = () => {
|
|
66
|
+
fermerEtRésoudre(false);
|
|
67
|
+
};
|
|
68
|
+
// Actions écouteur de fichiers
|
|
69
|
+
const écouteur = chokidar.watch(fichier);
|
|
70
|
+
const fermerÉcouteur = async () => await écouteur.close();
|
|
71
|
+
const lorsqueModifié = async (adresse) => {
|
|
72
|
+
if (adresse !== fichier)
|
|
73
|
+
return;
|
|
74
|
+
await vérifierModifié();
|
|
75
|
+
};
|
|
76
|
+
const fermerEtRésoudre = async (statut) => {
|
|
77
|
+
clearInterval(intervale);
|
|
78
|
+
signal?.removeEventListener("abort", lorsqueAvorté);
|
|
79
|
+
écouteur.off("change", lorsqueModifié);
|
|
80
|
+
await fermerÉcouteur();
|
|
81
|
+
résoudre(statut);
|
|
82
|
+
};
|
|
83
|
+
const vérifierModifié = async () => {
|
|
84
|
+
try {
|
|
85
|
+
const { mtime } = fs.statSync(fichier);
|
|
86
|
+
const prêt = mtime.getTime() > tempsAvant;
|
|
87
|
+
if (prêt && (!condition || (await condition()))) {
|
|
88
|
+
fermerEtRésoudre(true);
|
|
26
89
|
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (this.val === undefined) {
|
|
43
|
-
this.oublier(id);
|
|
44
|
-
résoudre();
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
this.événements.on("changé", fLorsqueChangé);
|
|
48
|
-
this.fsOublier[id] = () => this.événements.off("changé", fLorsqueChangé);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
oublier(id) {
|
|
52
|
-
this.fsOublier[id]();
|
|
53
|
-
delete this.fsOublier[id];
|
|
54
|
-
}
|
|
55
|
-
toutAnnuler() {
|
|
56
|
-
Object.keys(this.fsOublier).forEach((id) => this.oublier(id));
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
export class AttendreFichierExiste extends EventEmitter {
|
|
60
|
-
fOublier;
|
|
61
|
-
fichier;
|
|
62
|
-
attenteTéléchargement;
|
|
63
|
-
constructor(fichier) {
|
|
64
|
-
super();
|
|
65
|
-
this.fichier = fichier;
|
|
66
|
-
}
|
|
67
|
-
async attendre() {
|
|
68
|
-
if (isBrowser || isWebWorker) {
|
|
69
|
-
throw new Error("Test non disponible dans le navigateur.");
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
const chokidar = await import("chokidar");
|
|
73
|
-
const fs = await import("fs");
|
|
74
|
-
const path = await import("path");
|
|
75
|
-
await new Promise((résoudre) => {
|
|
76
|
-
if (fs.existsSync(this.fichier))
|
|
77
|
-
résoudre();
|
|
78
|
-
const dossier = path.dirname(this.fichier);
|
|
79
|
-
const écouteur = chokidar.watch(dossier);
|
|
80
|
-
this.fOublier = () => écouteur.close();
|
|
81
|
-
écouteur.on("add", async () => {
|
|
82
|
-
if (fs.existsSync(this.fichier)) {
|
|
83
|
-
await écouteur.close();
|
|
84
|
-
résoudre();
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
if (fs.existsSync(this.fichier)) {
|
|
88
|
-
écouteur.close();
|
|
89
|
-
résoudre();
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
annuler() {
|
|
95
|
-
this.fOublier?.();
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
export class AttendreFichierModifié extends EventEmitter {
|
|
99
|
-
fsOublier;
|
|
100
|
-
fichier;
|
|
101
|
-
attendreExiste;
|
|
102
|
-
constructor(fichier) {
|
|
103
|
-
super();
|
|
104
|
-
this.fichier = fichier;
|
|
105
|
-
this.attendreExiste = new AttendreFichierExiste(fichier);
|
|
106
|
-
this.fsOublier = [];
|
|
107
|
-
this.fsOublier.push(() => this.attendreExiste.annuler());
|
|
108
|
-
}
|
|
109
|
-
async attendre(tempsAvant, condition) {
|
|
110
|
-
await this.attendreExiste.attendre();
|
|
111
|
-
const chokidar = await import("chokidar");
|
|
112
|
-
const fs = await import("fs");
|
|
113
|
-
return new Promise((résoudre, rejeter) => {
|
|
114
|
-
const écouteur = chokidar.watch(this.fichier);
|
|
115
|
-
this.fsOublier.push(() => écouteur.close());
|
|
116
|
-
const vérifierModifié = async () => {
|
|
117
|
-
try {
|
|
118
|
-
const { mtime } = fs.statSync(this.fichier);
|
|
119
|
-
const prêt = mtime.getTime() > tempsAvant;
|
|
120
|
-
if (prêt && (!condition || (await condition()))) {
|
|
121
|
-
await écouteur.close();
|
|
122
|
-
clearInterval(intervale);
|
|
123
|
-
résoudre();
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
catch (e) {
|
|
127
|
-
// Le fichier a été effacé
|
|
128
|
-
écouteur.close();
|
|
129
|
-
rejeter(e);
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
écouteur.on("change", async (adresse) => {
|
|
133
|
-
if (adresse !== this.fichier)
|
|
134
|
-
return;
|
|
135
|
-
await vérifierModifié();
|
|
136
|
-
});
|
|
137
|
-
// Parfois, on dirait que chokidar ne détecte pas l'événement...
|
|
138
|
-
const intervale = setInterval(vérifierModifié, 1000);
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
annuler() {
|
|
142
|
-
this.fsOublier.forEach((f) => f());
|
|
143
|
-
}
|
|
144
|
-
}
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
// Le fichier a été effacé
|
|
93
|
+
await fermerEtRésoudre(false);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
signal?.addEventListener("abort", lorsqueAvorté);
|
|
97
|
+
écouteur.on("change", lorsqueModifié);
|
|
98
|
+
écouteur.on("unlink", lorsqueModifié);
|
|
99
|
+
if (signal?.aborted)
|
|
100
|
+
fermerEtRésoudre(false);
|
|
101
|
+
// Parfois, on dirait que chokidar ne détecte pas l'événement...
|
|
102
|
+
const intervale = setInterval(vérifierModifié, 1000);
|
|
103
|
+
});
|
|
104
|
+
};
|
|
145
105
|
//# sourceMappingURL=attente.js.map
|
package/dist/attente.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attente.js","sourceRoot":"","sources":["../src/attente.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"attente.js","sourceRoot":"","sources":["../src/attente.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { PartialOptions } from "aegir";
|
|
2
2
|
import type { BuildOptions } from "esbuild";
|
|
3
3
|
export declare const obtConfigEsbuild: () => Promise<BuildOptions>;
|
|
4
|
-
export declare const générerConfigÆgir: (
|
|
4
|
+
export declare const générerConfigÆgir: ({ portDéfautRelai, clefPrivéeRelai, }?: {
|
|
5
|
+
portDéfautRelai?: string;
|
|
6
|
+
clefPrivéeRelai?: string;
|
|
7
|
+
}) => Promise<PartialOptions>;
|
package/dist/config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { lancerRelai } from "./
|
|
1
|
+
import { lancerRelai } from "./relai/index.js";
|
|
2
2
|
export const obtConfigEsbuild = async () => {
|
|
3
3
|
const { createRequire } = (await import("module")).default;
|
|
4
4
|
const path = await import("path");
|
|
@@ -6,7 +6,7 @@ export const obtConfigEsbuild = async () => {
|
|
|
6
6
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
7
7
|
const require = createRequire(import.meta.url);
|
|
8
8
|
const configEsbuild = {
|
|
9
|
-
//
|
|
9
|
+
// ceci injecte les exportations nomées de 'node-globals.js' en tant que variables globales
|
|
10
10
|
inject: [path.join(__dirname, "./scripts/node-globals.js")],
|
|
11
11
|
plugins: [
|
|
12
12
|
{
|
|
@@ -54,7 +54,7 @@ export const obtConfigEsbuild = async () => {
|
|
|
54
54
|
};
|
|
55
55
|
return configEsbuild;
|
|
56
56
|
};
|
|
57
|
-
export const générerConfigÆgir = async () => {
|
|
57
|
+
export const générerConfigÆgir = async ({ portDéfautRelai, clefPrivéeRelai, } = {}) => {
|
|
58
58
|
const esbuild = await obtConfigEsbuild();
|
|
59
59
|
return {
|
|
60
60
|
test: {
|
|
@@ -62,7 +62,7 @@ export const générerConfigÆgir = async () => {
|
|
|
62
62
|
before: async (opts) => {
|
|
63
63
|
let relai = undefined;
|
|
64
64
|
if (opts.target.includes("browser")) {
|
|
65
|
-
relai = await lancerRelai();
|
|
65
|
+
relai = await lancerRelai({ portDéfautRelai, clefPrivéeRelai });
|
|
66
66
|
}
|
|
67
67
|
return { relai };
|
|
68
68
|
},
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/constellation.d.ts
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { OrbitDB } from "@orbitdb/core";
|
|
2
|
+
interface InterfaceConstellation {
|
|
3
|
+
fermer: () => Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
interface OptionsConstellation {
|
|
6
|
+
dossier?: string;
|
|
7
|
+
orbite?: OrbitDB;
|
|
8
|
+
}
|
|
9
|
+
export declare const créerConstellationsTest: <T extends InterfaceConstellation>({ n, créerConstellation, dossier, }: {
|
|
5
10
|
n: number;
|
|
6
|
-
créerConstellation: (opts:
|
|
11
|
+
créerConstellation: (opts: OptionsConstellation) => T;
|
|
12
|
+
dossier?: string;
|
|
7
13
|
}) => Promise<{
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
fOublier: () => Promise<void>;
|
|
14
|
+
constls: T[];
|
|
15
|
+
fermer: () => Promise<void>;
|
|
11
16
|
}>;
|
|
12
|
-
export
|
|
13
|
-
export declare const constellationsConnectées: (...clients: client.Constellation[]) => Promise<void>;
|
|
17
|
+
export {};
|
package/dist/constellation.js
CHANGED
|
@@ -1,51 +1,32 @@
|
|
|
1
1
|
import { isBrowser } from "wherearewe";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
import { créerOrbitesTest } from "./orbite.js";
|
|
3
|
+
import { dossierTempo } from "./dossiers.js";
|
|
4
|
+
export const créerConstellationsTest = async ({ n = 1, créerConstellation, dossier, }) => {
|
|
5
|
+
let effacerDossier = () => { };
|
|
6
|
+
if (!dossier) {
|
|
7
|
+
({ dossier, effacer: effacerDossier } = await dossierTempo());
|
|
8
|
+
}
|
|
9
|
+
const { orbites, fermer: fermerOrbites } = await créerOrbitesTest({
|
|
10
|
+
n,
|
|
11
|
+
dossier,
|
|
12
|
+
});
|
|
13
|
+
const constls = [];
|
|
13
14
|
for (const i in [...Array(n).keys()]) {
|
|
14
|
-
const
|
|
15
|
+
const constl = créerConstellation({
|
|
15
16
|
orbite: orbites[i],
|
|
16
|
-
dossier
|
|
17
|
+
dossier,
|
|
17
18
|
});
|
|
18
|
-
|
|
19
|
+
constls.push(constl);
|
|
19
20
|
}
|
|
20
|
-
const
|
|
21
|
-
for (const
|
|
22
|
-
await
|
|
23
|
-
await
|
|
21
|
+
const fermer = async () => {
|
|
22
|
+
for (const constl of constls)
|
|
23
|
+
await constl.fermer();
|
|
24
|
+
await fermerOrbites();
|
|
25
|
+
effacerDossier();
|
|
26
|
+
// Nécessaire pour Playwright
|
|
27
|
+
if (isBrowser)
|
|
28
|
+
window.localStorage.clear();
|
|
24
29
|
};
|
|
25
|
-
return {
|
|
26
|
-
};
|
|
27
|
-
export const constellationConnectéeÀ = async (constellation, connectéeÀ) => {
|
|
28
|
-
const dispositifsConnectés = new AttendreRésultat();
|
|
29
|
-
const idCompte2 = await connectéeÀ.obtIdCompte();
|
|
30
|
-
const fOublier = await constellation.réseau.suivreConnexionsDispositifs({
|
|
31
|
-
f: (dispositifs) => dispositifsConnectés.mettreÀJour(dispositifs),
|
|
32
|
-
});
|
|
33
|
-
await dispositifsConnectés.attendreQue((dispositifs) => {
|
|
34
|
-
return !!dispositifs.find((d) => d.infoDispositif.idCompte === idCompte2);
|
|
35
|
-
});
|
|
36
|
-
await fOublier();
|
|
37
|
-
return;
|
|
38
|
-
};
|
|
39
|
-
export const constellationsConnectées = async (...clients) => {
|
|
40
|
-
if (clients.length < 2)
|
|
41
|
-
return;
|
|
42
|
-
const promesses = [];
|
|
43
|
-
for (let i = 1; i < clients.length; i++) {
|
|
44
|
-
for (let j = 0; j < i; j++) {
|
|
45
|
-
promesses.push(constellationConnectéeÀ(clients[i], clients[j]));
|
|
46
|
-
promesses.push(constellationConnectéeÀ(clients[j], clients[i]));
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
await Promise.all(promesses);
|
|
30
|
+
return { constls, fermer };
|
|
50
31
|
};
|
|
51
32
|
//# sourceMappingURL=constellation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constellation.js","sourceRoot":"","sources":["../src/constellation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constellation.js","sourceRoot":"","sources":["../src/constellation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAY7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAE1C,EACA,CAAC,GAAG,CAAC,EACL,kBAAkB,EAClB,OAAO,GAKR,EAGE,EAAE;IACH,IAAI,cAAc,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,gBAAgB,CAAC;QAChE,CAAC;QACD,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,kBAAkB,CAAC;YAChC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;YAClB,OAAO;SACR,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QAEpD,MAAM,aAAa,EAAE,CAAC;QACtB,cAAc,EAAE,CAAC;QAEjB,6BAA6B;QAC7B,IAAI,SAAS;YAAE,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC7C,CAAC,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC,CAAC"}
|
package/dist/dossiers.d.ts
CHANGED
package/dist/dossiers.js
CHANGED
|
@@ -6,15 +6,29 @@ export const dossierTempo = async () => {
|
|
|
6
6
|
const path = await import("path");
|
|
7
7
|
const os = await import("os");
|
|
8
8
|
const sync = (await import("rimraf")).sync;
|
|
9
|
-
const dossier = fs.mkdtempSync(path.join(os.tmpdir(), "constl-
|
|
10
|
-
const
|
|
11
|
-
|
|
9
|
+
const dossier = fs.mkdtempSync(path.join(os.tmpdir(), "constl-"));
|
|
10
|
+
const effacer = () => {
|
|
11
|
+
try {
|
|
12
|
+
sync(dossier);
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
// Sur Windows, parfois les fichiers de Hélia sont encore en utilisation
|
|
16
|
+
if (process.platform === "win32") {
|
|
17
|
+
console.log("On ignore ça sur Windows\n", e);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
throw e;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
return { dossier, effacer };
|
|
12
26
|
}
|
|
13
27
|
else {
|
|
14
|
-
const dossier = uuidv4() + "/constl-
|
|
28
|
+
const dossier = uuidv4() + "/constl-";
|
|
15
29
|
return {
|
|
16
30
|
dossier,
|
|
17
|
-
|
|
31
|
+
effacer: () => {
|
|
18
32
|
// Rien à faire, je crois
|
|
19
33
|
},
|
|
20
34
|
};
|
package/dist/dossiers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dossiers.js","sourceRoot":"","sources":["../src/dossiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,IAG9B,EAAE;IACH,IAAI,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3C,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"dossiers.js","sourceRoot":"","sources":["../src/dossiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,IAG9B,EAAE;IACH,IAAI,MAAM,IAAI,cAAc,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3C,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QAClE,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,CAAC;YAChB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,wEAAwE;gBACxE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;oBAC7C,OAAO;gBACT,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC;QACtC,OAAO;YACL,OAAO;YACP,OAAO,EAAE,GAAG,EAAE;gBACZ,yBAAyB;YAC3B,CAAC;SACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Helia } from "helia";
|
|
2
|
+
import { ServicesLibp2pTest } from "./libp2p/index.js";
|
|
3
|
+
import { Libp2p } from "@libp2p/interface";
|
|
4
|
+
export declare const créerHéliasTest: ({ n, dossier, adresseRelai, }: {
|
|
5
|
+
n: number;
|
|
6
|
+
dossier?: string;
|
|
7
|
+
adresseRelai?: string;
|
|
8
|
+
}) => Promise<{
|
|
9
|
+
hélias: Helia<Libp2p<ServicesLibp2pTest>>[];
|
|
10
|
+
fermer: () => Promise<void>;
|
|
11
|
+
}>;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createHelia } from "helia";
|
|
2
|
+
import { créerLibp2psTest } from "./libp2p/index.js";
|
|
3
|
+
import { bitswap } from "@helia/block-brokers";
|
|
4
|
+
import { MemoryBlockstore } from "blockstore-core";
|
|
5
|
+
import { join } from "path";
|
|
6
|
+
import { sousDossier } from "./utils.js";
|
|
7
|
+
import { LevelBlockstore } from "blockstore-level";
|
|
8
|
+
import { obtenirAdresseRelai } from "./relai/index.js";
|
|
9
|
+
export const créerHéliasTest = async ({ n, dossier, adresseRelai, }) => {
|
|
10
|
+
adresseRelai = adresseRelai ?? obtenirAdresseRelai();
|
|
11
|
+
const { libp2ps, fermer: fermerLibsp2p } = await créerLibp2psTest({
|
|
12
|
+
n,
|
|
13
|
+
adresseRelai,
|
|
14
|
+
});
|
|
15
|
+
let i = 0;
|
|
16
|
+
const hélias = await Promise.all(libp2ps.map(async (libp2p) => {
|
|
17
|
+
const blockstore = dossier
|
|
18
|
+
? new LevelBlockstore(join(sousDossier({ dossier, i }), "hélia", "blocks"))
|
|
19
|
+
: new MemoryBlockstore();
|
|
20
|
+
i++;
|
|
21
|
+
const optionsHélia = {
|
|
22
|
+
blockstore,
|
|
23
|
+
libp2p,
|
|
24
|
+
blockBrokers: [bitswap()],
|
|
25
|
+
};
|
|
26
|
+
return await createHelia(optionsHélia);
|
|
27
|
+
}));
|
|
28
|
+
const fermer = async () => {
|
|
29
|
+
await Promise.all(hélias.map(async (h) => {
|
|
30
|
+
await h.stop();
|
|
31
|
+
// @ts-expect-error Je ne sais pas pourquoi
|
|
32
|
+
await h.blockstore.unwrap()?.unwrap()?.child?.db?.close();
|
|
33
|
+
}));
|
|
34
|
+
await fermerLibsp2p();
|
|
35
|
+
};
|
|
36
|
+
return { hélias, fermer };
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=h%C3%A9lia.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hélia.js","sourceRoot":"","sources":["../src/hélia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAsB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,CAAC,EACD,OAAO,EACP,YAAY,GAKb,EAGE,EAAE;IACH,YAAY,GAAG,YAAY,IAAI,mBAAmB,EAAE,CAAC;IAErD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,gBAAgB,CAAC;QAChE,CAAC;QACD,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3B,MAAM,UAAU,GAAG,OAAO;YACxB,CAAC,CAAC,IAAI,eAAe,CACjB,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CACrD;YACH,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC;QAC3B,CAAC,EAAE,CAAC;QAEJ,MAAM,YAAY,GAAG;YACnB,UAAU;YACV,MAAM;YACN,YAAY,EAAE,CAAC,OAAO,EAAE,CAAC;SAC1B,CAAC;QACF,OAAO,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,2CAA2C;YAC3C,MAAM,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC5D,CAAC,CAAC,CACH,CAAC;QACF,MAAM,aAAa,EAAE,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export {
|
|
1
|
+
export { ServicesLibp2pTest, ComposantesServiceClefPrivée, ServiceClefPrivée, OptionsDéfautLibp2pNode, OptionsDéfautLibp2pNavigateur, créerLibp2psTest, toutesConnectées, connecterPairs, } from "./libp2p/index.js";
|
|
2
|
+
export { ID_DÉFAUT_RELAI, PORT_DÉFAUT_RELAI, obtenirAdresseRelai, lancerRelai, obtenirFichierRelai, } from "./relai/index.js";
|
|
3
|
+
export { attendreFichierExiste, attendreFichierModifié, que, } from "./attente.js";
|
|
4
|
+
export { obtConfigEsbuild, générerConfigÆgir } from "./config.js";
|
|
5
|
+
export { créerConstellationsTest } from "./constellation.js";
|
|
6
|
+
export { dossierTempo } from "./dossiers.js";
|
|
7
|
+
export { créerHéliasTest } from "./hélia.js";
|
|
8
|
+
export { créerOrbitesTest } from "./orbite.js";
|