Skip to content

Commit 42d369d

Browse files
Add method to control the sys info cache
1 parent e189542 commit 42d369d

File tree

9 files changed

+171
-152
lines changed

9 files changed

+171
-152
lines changed

lib/doctor.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { Constants } from "./constants";
2-
import { SysInfo } from "./sys-info";
32
import { EOL } from "os";
43
import { HostInfo } from "./host-info";
54
import { AndroidLocalBuildRequirements } from "./local-build-requirements/android-local-build-requirements";
@@ -14,7 +13,7 @@ export class Doctor implements NativeScriptDoctor.IDoctor {
1413
private helpers: Helpers,
1514
private hostInfo: HostInfo,
1615
private iOSLocalBuildRequirements: IosLocalBuildRequirements,
17-
private sysInfo: SysInfo) { }
16+
private sysInfo: NativeScriptDoctor.ISysInfo) { }
1817

1918
public async canExecuteLocalBuild(platform: string): Promise<boolean> {
2019
this.validatePlatform(platform);

lib/helpers.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
import { platform } from "os";
22

33
export class Helpers {
4+
public getPropertyName(method: Function): string {
5+
if (method) {
6+
let match = method.toString().match(/(?:return\s+?.*\.(.+);)|(?:=>\s*?.*\.(.+)\b)/);
7+
if (match) {
8+
return (match[1] || match[2]).trim();
9+
}
10+
}
11+
12+
return null;
13+
}
14+
415
public quoteString(value: string): string {
516
if (!value) {
617
return value;

lib/index.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,19 @@ const winReg = new WinReg();
1414
const hostInfo = new HostInfo(winReg);
1515
const fileSystem = new FileSystem();
1616
const helpers = new Helpers();
17-
const sysInfo = new SysInfo(childProcess, fileSystem, helpers, hostInfo, winReg);
17+
18+
const sysInfo: NativeScriptDoctor.ISysInfo = new SysInfo(childProcess, fileSystem, helpers, hostInfo, winReg);
1819

1920
const androidLocalBuildRequirements = new AndroidLocalBuildRequirements(sysInfo);
2021
const iOSLocalBuildRequirements = new IosLocalBuildRequirements(sysInfo, hostInfo);
21-
const doctor = new Doctor(androidLocalBuildRequirements, helpers, hostInfo, iOSLocalBuildRequirements, sysInfo);
22+
23+
const doctor: NativeScriptDoctor.IDoctor = new Doctor(androidLocalBuildRequirements, helpers, hostInfo, iOSLocalBuildRequirements, sysInfo);
24+
25+
const setShouldCacheSysInfo = sysInfo.setShouldCacheSysInfo.bind(sysInfo);
2226

2327
export {
2428
sysInfo,
2529
doctor,
26-
constants
30+
constants,
31+
setShouldCacheSysInfo
2732
};

lib/local-build-requirements/android-local-build-requirements.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import { SysInfo } from "../sys-info";
2-
31
export class AndroidLocalBuildRequirements {
4-
constructor(private sysInfo: SysInfo) { }
2+
constructor(private sysInfo: NativeScriptDoctor.ISysInfo) { }
53

64
public async checkRequirements(): Promise<boolean> {
75
if (!await this.sysInfo.isAndroidInstalled() ||

lib/local-build-requirements/ios-local-build-requirements.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import { SysInfo } from "../sys-info";
21
import { HostInfo } from "../host-info";
32

43
export class IosLocalBuildRequirements {
5-
constructor(private sysInfo: SysInfo,
4+
constructor(private sysInfo: NativeScriptDoctor.ISysInfo,
65
private hostInfo: HostInfo) { }
76

87
public async checkRequirements(): Promise<boolean> {

0 commit comments

Comments
 (0)