mirror of
https://github.com/hexastack/hexabot
synced 2025-06-26 18:27:28 +00:00
feat(api): add JSDoc
This commit is contained in:
parent
f6c6ebfa3f
commit
6f0668c9f1
@ -69,9 +69,19 @@ const extractInstances =
|
|||||||
async <T extends TTypeOrToken>(types: T) =>
|
async <T extends TTypeOrToken>(types: T) =>
|
||||||
await findInstances(type, module, types);
|
await findInstances(type, module, types);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves a provider metadata
|
||||||
|
* @param provider - provider
|
||||||
|
* @returns a provider metadata
|
||||||
|
*/
|
||||||
const getParamTypes = (provider: Provider) =>
|
const getParamTypes = (provider: Provider) =>
|
||||||
Reflect.getMetadata('design:paramtypes', provider) || [];
|
Reflect.getMetadata('design:paramtypes', provider) || [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves an array of providers
|
||||||
|
* @param parentClass - parent provider class
|
||||||
|
* @returns an array of providers
|
||||||
|
*/
|
||||||
const getClassDependencies = (parentClass: Provider): Provider[] => {
|
const getClassDependencies = (parentClass: Provider): Provider[] => {
|
||||||
const dependencies: Provider[] = [];
|
const dependencies: Provider[] = [];
|
||||||
const seenClasses = new Set<Provider>();
|
const seenClasses = new Set<Provider>();
|
||||||
@ -99,6 +109,12 @@ const getClassDependencies = (parentClass: Provider): Provider[] => {
|
|||||||
return dependencies;
|
return dependencies;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves a model
|
||||||
|
* @param name - model name
|
||||||
|
* @param suffix - model name suffix
|
||||||
|
* @returns a model
|
||||||
|
*/
|
||||||
const getModel = (name: string, suffix = ''): ModelDefinition => {
|
const getModel = (name: string, suffix = ''): ModelDefinition => {
|
||||||
const modelName = name.replace(suffix, '');
|
const modelName = name.replace(suffix, '');
|
||||||
const model = LifecycleHookManager.getModel(modelName);
|
const model = LifecycleHookManager.getModel(modelName);
|
||||||
@ -110,6 +126,12 @@ const getModel = (name: string, suffix = ''): ModelDefinition => {
|
|||||||
return model;
|
return model;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves an array of nested models
|
||||||
|
* @param extendedProviders - array of providers (Repositories)
|
||||||
|
* @param suffix - suffix
|
||||||
|
* @returns an array of nested models
|
||||||
|
*/
|
||||||
const getNestedModels = (
|
const getNestedModels = (
|
||||||
extendedProviders: Provider[],
|
extendedProviders: Provider[],
|
||||||
suffix = '',
|
suffix = '',
|
||||||
@ -126,6 +148,11 @@ const getNestedModels = (
|
|||||||
const filterNestedDependencies = (dependency: Provider) =>
|
const filterNestedDependencies = (dependency: Provider) =>
|
||||||
dependency.valueOf().toString().slice(0, 6) === 'class ';
|
dependency.valueOf().toString().slice(0, 6) === 'class ';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a the imports includes a MongooseModule
|
||||||
|
* @param providers - array of providers
|
||||||
|
* @returns an array of nested dependencies
|
||||||
|
*/
|
||||||
const getNestedDependencies = (providers: Provider[]): Provider[] => {
|
const getNestedDependencies = (providers: Provider[]): Provider[] => {
|
||||||
const nestedDependencies = new Set<Provider>();
|
const nestedDependencies = new Set<Provider>();
|
||||||
|
|
||||||
@ -148,11 +175,21 @@ const getNestedDependencies = (providers: Provider[]): Provider[] => {
|
|||||||
return [...nestedDependencies];
|
return [...nestedDependencies];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a the imports includes a MongooseModule
|
||||||
|
* @param imports - array of modules
|
||||||
|
* @returns true if the imports includes a MongooseModule
|
||||||
|
*/
|
||||||
const canInjectModels = (imports: buildTestingMocksProps['imports']): boolean =>
|
const canInjectModels = (imports: buildTestingMocksProps['imports']): boolean =>
|
||||||
(imports || []).some(
|
(imports || []).some(
|
||||||
(module) => 'module' in module && module.module.name === 'MongooseModule',
|
(module) => 'module' in module && module.module.name === 'MongooseModule',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieves models
|
||||||
|
* @param models - array of models
|
||||||
|
* @returns an array of models
|
||||||
|
*/
|
||||||
const getModels = (models: TModel[]): ModelDefinition[] =>
|
const getModels = (models: TModel[]): ModelDefinition[] =>
|
||||||
models.map((model) =>
|
models.map((model) =>
|
||||||
typeof model === 'string' ? getModel(model, 'Model') : model,
|
typeof model === 'string' ? getModel(model, 'Model') : model,
|
||||||
|
Loading…
Reference in New Issue
Block a user