openclaw / src /plugins /contracts /shared.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
4c76b0d verified
Raw
History Blame Contribute Delete
534 Bytes
/** Returns unique normalized string values while preserving first-seen order. */
export function normalizeContractStringValues(
values: readonly string[] | undefined,
normalize: (value: string) => string = (value) => value,
): string[] {
const result: string[] = [];
const seen = new Set<string>();
for (const value of values ?? []) {
const normalized = normalize(value);
if (!normalized || seen.has(normalized)) {
continue;
}
seen.add(normalized);
result.push(normalized);
}
return result;
}