Files
nest/packages/common/utils/validate-module-keys.util.ts
2020-03-03 09:13:25 +01:00

24 lines
641 B
TypeScript

import { MODULE_METADATA as metadataConstants } from '../constants';
export const INVALID_MODULE_CONFIG_MESSAGE = (
text: TemplateStringsArray,
property: string,
) => `Invalid property '${property}' passed into the @Module() decorator.`;
const metadataKeys = [
metadataConstants.IMPORTS,
metadataConstants.EXPORTS,
metadataConstants.CONTROLLERS,
metadataConstants.PROVIDERS,
];
export function validateModuleKeys(keys: string[]) {
const validateKey = (key: string) => {
if (metadataKeys.includes(key)) {
return;
}
throw new Error(INVALID_MODULE_CONFIG_MESSAGE`${key}`);
};
keys.forEach(validateKey);
}