mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-17 21:01:34 +08:00
refactor: circular deps part 12
This commit is contained in:
39
packages/core/module-name-resolver/helpers.ts
Normal file
39
packages/core/module-name-resolver/helpers.ts
Normal file
@ -0,0 +1,39 @@
|
||||
export type ModuleListProvider = () => string[];
|
||||
|
||||
let appForModuleResolverCallback: () => void;
|
||||
export function prepareAppForModuleResolver(callback: () => void) {
|
||||
appForModuleResolverCallback = callback;
|
||||
}
|
||||
|
||||
export function initAppForModuleResolver() {
|
||||
console.log('initAppForModuleResolver has callback?', appForModuleResolverCallback);
|
||||
if (appForModuleResolverCallback) {
|
||||
appForModuleResolverCallback();
|
||||
appForModuleResolverCallback = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
export interface ModuleNameResolverType {
|
||||
resolveModuleName(path: string, ext: string): string;
|
||||
clearCache(): void;
|
||||
}
|
||||
|
||||
let resolverInstance: ModuleNameResolverType;
|
||||
|
||||
export function getResolveInstance() {
|
||||
return resolverInstance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to set a global singular instance of ModuleNameResolver
|
||||
* @param resolver instance
|
||||
*/
|
||||
export function _setResolver(resolver: ModuleNameResolverType) {
|
||||
resolverInstance = resolver;
|
||||
}
|
||||
|
||||
export function clearResolverCache() {
|
||||
if (resolverInstance) {
|
||||
resolverInstance.clearCache();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user