mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
refactor(core): zero circulars + esm ready (#10770)
This commit is contained in:
38
packages/core/module-name-resolver/helpers.ts
Normal file
38
packages/core/module-name-resolver/helpers.ts
Normal file
@ -0,0 +1,38 @@
|
||||
export type ModuleListProvider = () => string[];
|
||||
|
||||
let appForModuleResolverCallback: () => void;
|
||||
export function prepareAppForModuleResolver(callback: () => void) {
|
||||
appForModuleResolverCallback = callback;
|
||||
}
|
||||
|
||||
export function initAppForModuleResolver() {
|
||||
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