@communecter/cocolight-api-client 1.0.199 → 1.0.200
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/package.json
CHANGED
|
@@ -4,6 +4,20 @@ import type { Event } from "../api/Event.js";
|
|
|
4
4
|
import type { Organization } from "../api/Organization.js";
|
|
5
5
|
import type { Poi } from "../api/Poi.js";
|
|
6
6
|
import type { Project } from "../api/Project.js";
|
|
7
|
+
/**
|
|
8
|
+
* Forme d'un slug de costum, celle qu'exige la requête de `COSTUM_RESOLVED` (`costum/co/resolved`).
|
|
9
|
+
* Recopiée du contrat : `tests/unit/costum-prefetch-slug.test.ts` la compare au `pattern` du module d'endpoints.
|
|
10
|
+
*/
|
|
11
|
+
export declare const COSTUM_SLUG_RE: RegExp;
|
|
12
|
+
/**
|
|
13
|
+
* Slug de costum d'un document CHARGÉ : `source.key`, repli sur `source.keys[0]` — la préséance des trois
|
|
14
|
+
* lecteurs d'avant (`get()`, finalizer de `searchCostum`, `_setData`) — retenu SEULEMENT s'il a la forme
|
|
15
|
+
* d'un slug. Ces lecteurs typaient la donnée `{ key?: string; keys?: string[] }`, ce qu'elle n'est pas
|
|
16
|
+
* toujours (cf. `prefetchCostums`) : `_setData` passait un tableau à `resolveCostumCtxFromSource`, où
|
|
17
|
+
* `COSTUM_RUNTIME[sourceKey]` le convertissait en chaîne (`["x"]` → `"x"`). Une clé invalide ne se rabat
|
|
18
|
+
* PAS sur `keys[0]` : seule une clé absente le fait, comme avant.
|
|
19
|
+
*/
|
|
20
|
+
export declare function sourceKeyOf(doc: unknown): string | undefined;
|
|
7
21
|
/** Active/désactive FORCE-LIVE (cf. `COSTUM_FORCE_LIVE`). */
|
|
8
22
|
export declare function setCostumForceLive(actif: boolean): void;
|
|
9
23
|
/** État courant de FORCE-LIVE. */
|
|
@@ -25,8 +39,18 @@ export declare function describeCostumForms(user: BaseEntity, slug: string): Pro
|
|
|
25
39
|
* Pré-charge EN BATCH les costums (par slug) manquants/périmés du cache live, AVANT un revive synchrone
|
|
26
40
|
* (finalizer de `searchCostum`, `get()`, `entitySlug`). Dédup + TTL : un slug déjà frais est ignoré.
|
|
27
41
|
* Chaque fetch qui échoue est avalé (offline → le revive retombera sur le bundle). Concurrence bornée.
|
|
42
|
+
*
|
|
43
|
+
* Seules les clés à la forme d'un slug de costum partent. La base porte des `source.key` qui n'en sont pas
|
|
44
|
+
* (mesuré le 2026-10-15) : des TABLEAUX sur 820 éléments — `["crowdfunder"]` d'un import de 2016 sur un
|
|
45
|
+
* membre d'Open Atlas, mais aussi 5 organisations créées en 2024-2025 avec `insertOrign: "costum"` — et des
|
|
46
|
+
* chaînes hors format (`"MCZD33 Import2"`, `"<id>@organizations"`). La validation de `COSTUM_RESOLVED`
|
|
47
|
+
* refusait ces clés avant tout envoi : les écarter ne perd aucune résolution, et `safeCall` ne journalise
|
|
48
|
+
* plus une ERREUR à chaque recherche qui liste l'élément.
|
|
49
|
+
* Certaines nomment pourtant un vrai site (`["reunion10"]`, `["occitanie1"]`), et le legacy les y compte :
|
|
50
|
+
* MongoDB fait correspondre `{"source.key": "reunion10"}` à un tableau qui contient la valeur. La lib ne
|
|
51
|
+
* leur résolvait déjà aucun costum ; les rattacher relève de la normalisation des données, pas de ce filtre.
|
|
28
52
|
*/
|
|
29
|
-
export declare function prefetchCostums(user: BaseEntity, sourceKeys:
|
|
53
|
+
export declare function prefetchCostums(user: BaseEntity, sourceKeys: readonly unknown[]): Promise<void>;
|
|
30
54
|
/**
|
|
31
55
|
* Contexte costum résolu, attaché à une instance d'entité via `config.costumCtx`.
|
|
32
56
|
* Porté tel quel par `BaseEntity._costumCtx` et consommé par les 3 couches de filtrage.
|