-
Notifications
You must be signed in to change notification settings - Fork 118
Open
Description
Sugestão de adicionar imutabilidade em runtime e compile usando algum utilitário de deepFreeze e "as const" no fim. Dando assim mais segurança de ninguém nunca alterar.
Acredito que qualquer utilitário de deepFreeze funcione pra isso. Esse aqui foi gerado por IA e só ajustei o código.
export function deepFreeze<T extends object>(object: T): Readonly<T> {
// Retrieve the property names defined on object
const propNames = Reflect.ownKeys(object);
// Freeze properties before freezing self
for (const name of propNames) {
const value = object[name as keyof T];
if (value !== null && (typeof value === "object" || typeof value === "function")) {
deepFreeze(value);
}
}
return Object.freeze(object);
}Alterando assim as contantes presentes aqui
export const CITIES_DATA = deepFreeze({
...
...
...
//linha 5624
} as const);export const STATES_DATA = deepFreeze({
...
...
..
//linha 164
} as const);Metadata
Metadata
Assignees
Labels
No labels