@communecter/cocolight-api-client 1.0.195 → 1.0.197

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
@@ -39,6 +39,7 @@ declare const cocolightApiClient: {
39
39
  export default cocolightApiClient;
40
40
  export { batch, computed, effect, getSignals, isReactive, isSignal, reactive, subscribeTo, watch } from "./utils/reactive.js";
41
41
  export { toCsv, formatImportTable } from "./utils/adminImportExport.js";
42
+ export { ampliSlug, isUnusableAmpliName } from "./utils/ampliSlug.js";
42
43
  export type { default as Api } from "./Api.js";
43
44
  export type { default as ApiClient } from "./ApiClient.js";
44
45
  export type { default as EndpointApi } from "./api/EndpointApi.js";
@@ -72,6 +73,8 @@ export type * from "./api/serverDataType/Classified.js";
72
73
  export type * from "./api/serverDataType/Event.js";
73
74
  export type * from "./api/serverDataType/Poi.js";
74
75
  export type * from "./api/serverDataType/ToolsCatalog.js";
76
+ export { AMPLI_PARENT_TYPES } from "./api/serverDataType/Ampli.js";
77
+ export type * from "./api/serverDataType/Ampli.js";
75
78
  export type * from "./api/serverDataType/CommunInfo.js";
76
79
  export type * from "./api/serverDataType/News.js";
77
80
  export type * from "./api/serverDataType/Comment.js";
@@ -86,12 +89,12 @@ export type * from "./api/serverDataType/Notification.js";
86
89
  export type { Notification, Notifications } from "./api/Notifications.js";
87
90
  export type { PaginatorPage, PaginatorState, FundingEnvelopeResult, FundingEnvelopeProjectItem, SearchCostumVariant, SetTypeValue, CostumContextFields, WithCostumContext, EntityType, CoformThematicValue, CoformFilterByPathResult, } from "./api/BaseEntity.js";
88
91
  export { UPDATE_PATH_MAGIC } from "./api/BaseEntity.js";
89
- export type { CostumScope, CostumRuntimeContext, CostumFormDescriptor, CostumFieldDescriptor, CostumFieldType, } from "./costum/runtime.js";
92
+ export type { CostumScope, CostumRuntimeContext, CostumFormDescriptor, CostumFieldDescriptor, CostumFieldType, CostumCreateOptions, CostumContextOptions, } from "./costum/runtime.js";
90
93
  export type { Collection, KnownCostumSlug } from "./costum/types.js";
91
94
  export { describeCostumForms } from "./costum/runtime.js";
92
95
  export { resolveCostumScope, setCostumForceLive, isCostumForceLive } from "./costum/runtime.js";
93
96
  export { describeEntityForm } from "./forms/entityForm.js";
94
97
  export type { EntityFormDescriptor, BaseFieldDescriptor, EntityFieldType, EntityFieldFormat } from "./forms/entityForm.js";
95
- export type { AllStepsData, PendingUploadValue, PendingUpload, ProcessUploadsOptions, AnswerGetOptions, UploadAnswerFileOptions, UploadAnswerFileResult, GetFilesOptions, AnswerFileItem, GenerateProjectOptions, GenerateProjectResult, GenerateMilestoneFromDepenseResult, FinancerPaymentStatus, FinancerPaymentLog, FinancerPaymentBlock, AddFinancerResult, PayFinancerResult, ValidateFinancerPaymentResult, DeleteFinancerResult, } from "./api/Answer.js";
98
+ export type { AllStepsData, PendingUploadValue, PendingUpload, ProcessUploadsOptions, AnswerGetOptions, UploadAnswerFileOptions, UploadAnswerFileResult, GetFilesOptions, AnswerFileItem, GenerateProjectOptions, GenerateProjectResult, GenerateMilestoneFromDepenseResult, FinancerPaymentStatus, FinancerPaymentLog, FinancerPaymentBlock, AddFinancerResult, PayFinancerResult, ValidateFinancerPaymentResult, DeleteFinancerResult, AnswerVoteResult, AnswerVotesResult, } from "./api/Answer.js";
96
99
  export type * from "./types/index.js";
97
100
  export type * from "./api/EndpointApi.types.js";
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Slug d'un ampli à partir de son nom — miroir de `InflectorHelper::slugifyLikeJS`, le calcul par
3
+ * lequel `CreateAmpliAction` (modules/costum@3ef97ef28) dérive la CLÉ de l'entrée dans
4
+ * `costum.ampli`.
5
+ *
6
+ * Le serveur **écrase sans prévenir** une entrée existante de même clé : aucune garde côté legacy.
7
+ * D'où cet export — un appelant qui a déjà la liste des amplis en mémoire peut détecter la
8
+ * collision AVANT l'appel.
9
+ *
10
+ * ⚠ Ce n'est qu'une garde PRÉALABLE, jamais une source de clé :
11
+ * - le slug qui fait foi est celui que renvoie `createAmpli`, puis la clé lue dans `costum.ampli` ;
12
+ * - les entrées créées AVANT ce commit legacy ont une clé d'une autre forme
13
+ * (`strtolower` + espace → tiret : « Idées d'été » → `idées-d'été`). Pour supprimer un ampli,
14
+ * toujours passer la clé lue dans `costum.ampli`, jamais un slug recalculé depuis le nom ;
15
+ * - parité exacte sur l'ASCII et sur les caractères de la table `remove_accent` (français et
16
+ * langues d'Europe de l'Ouest et centrale), quelle que soit la locale du serveur. Au-delà,
17
+ * l'étape `iconv //TRANSLIT` dépend de cette locale (`þ` → `th`, `ŋ` → `n`, `ẞ` → `ss` en
18
+ * locale UTF-8 ; supprimés en locale `C`) : ici on suit la décomposition Unicode, qui rejoint
19
+ * le plus souvent une locale UTF-8 sans la reproduire pour ces quelques lettres.
20
+ *
21
+ * @example
22
+ * ampliSlug("Idées d'été"); // "idees-d-ete"
23
+ * ampliSlug("Cœur de ville"); // "coeur-de-ville"
24
+ * amplis.some(a => a.slug === ampliSlug(nom)); // collision → l'entrée serait écrasée
25
+ */
26
+ export declare function ampliSlug(name: unknown): string;
27
+ /**
28
+ * `true` si le nom ne produit aucun slug exploitable — exactement les deux valeurs que
29
+ * `CreateAmpliAction` refuse (`""` et `"n-a"`).
30
+ */
31
+ export declare function isUnusableAmpliName(name: unknown): boolean;