@communecter/cocolight-api-client 1.0.156 → 1.0.158

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/types/index.d.ts CHANGED
@@ -38,6 +38,7 @@ declare const cocolightApiClient: {
38
38
  };
39
39
  export default cocolightApiClient;
40
40
  export { batch, computed, effect, getSignals, isReactive, isSignal, reactive, subscribeTo, watch } from "./utils/reactive.js";
41
+ export { toCsv, formatImportTable } from "./utils/adminImportExport.js";
41
42
  export type { default as Api } from "./Api.js";
42
43
  export type { default as ApiClient } from "./ApiClient.js";
43
44
  export type { default as EndpointApi } from "./api/EndpointApi.js";
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Helpers CLIENT (purs) pour l'admin import/export.
3
+ * - `toCsv` : assemble un CSV à partir de la réponse `exportElements` ({results, fields}) — le backend
4
+ * ne renvoie PAS de CSV (juste données + colonnes, comme getCsvAdmin), l'assemblage est côté client.
5
+ * - `formatImportTable` : table d'affichage [name,address,warnings,msgError] depuis `importElements.elements`
6
+ * (équivalent client d'IMPORT_PREVIEW/createArrayList — évite un aller-retour).
7
+ */
8
+ /**
9
+ * Assemble un CSV depuis la réponse `exportElements` (`{ results, fields }`).
10
+ * `fields` = tableau de chemins OU map `{i:{label,value}}` (labels) → l'en-tête utilise les labels si présents.
11
+ */
12
+ export declare function toCsv(results: unknown[], fields: string[] | Record<string, {
13
+ label?: unknown;
14
+ value: string;
15
+ }>, opts?: {
16
+ separator?: string;
17
+ eol?: string;
18
+ }): string;
19
+ /**
20
+ * Table d'affichage `[[name,address,warnings,msgError], …]` depuis `importElements.elements`.
21
+ * Quirk parité createArrayList : une ligne sans `address` a 3 cellules. Les `warnings` de la réponse
22
+ * d'import sont DÉJÀ traduits → simple jointure `<br/>` (pas de re-traduction).
23
+ */
24
+ export declare function formatImportTable(elements: Record<string, {
25
+ name?: unknown;
26
+ address?: Record<string, unknown>;
27
+ warnings?: unknown;
28
+ msgError?: unknown;
29
+ }>): string[][];