Skip to content
This repository was archived by the owner on Aug 7, 2021. It is now read-only.

Commit 4a04dbc

Browse files
committed
fix: get project data safely
1 parent 2e94056 commit 4a04dbc

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

Diff for: nsCliHelpers.js

+18-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ const PROJECT_DATA_GETTERS = {
77

88
function getProjectData(projectDir) {
99
const cli = getNsCli();
10-
const projectData = cli.projectDataService.getProjectData(projectDir);
10+
const projectDataService = cli.projectDataService;
11+
const projectData = safeGet(cli, "getProjectData", projectDir);
1112

1213
return projectData;
1314
}
@@ -19,7 +20,23 @@ function getNsCli() {
1920
return cli;
2021
}
2122

23+
function safeGet(object, property, args) {
24+
if (!object) {
25+
return;
26+
}
27+
28+
const value = object[property];
29+
if (!value) {
30+
return;
31+
}
32+
33+
return typeof value === "function" ?
34+
value.bind(object)(...args) :
35+
value;
36+
}
37+
2238
module.exports = {
2339
PROJECT_DATA_GETTERS,
2440
getProjectData,
41+
safeGet,
2542
};

Diff for: projectHelpers.js

+5-17
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ const fs = require("fs");
33
const semver = require("semver");
44
const { EOL } = require("os");
55

6-
const { getProjectData, PROJECT_DATA_GETTERS } = require("./nsCliHelpers");
6+
const {
7+
PROJECT_DATA_GETTERS,
8+
getProjectData,
9+
safeGet,
10+
} = require("./nsCliHelpers");
711

812
const APP_DIR = "app";
913

@@ -163,21 +167,6 @@ function getAppResourcesPathFromProjectData(data) {
163167
return safeGet(data, PROJECT_DATA_GETTERS.appResourcesPath);
164168
}
165169

166-
function safeGet(object, property) {
167-
if (!object) {
168-
return;
169-
}
170-
171-
const value = object[property];
172-
if (!value) {
173-
return;
174-
}
175-
176-
return typeof value === "function" ?
177-
value.bind(object)() :
178-
value;
179-
}
180-
181170
module.exports = {
182171
getAppPath,
183172
getAppPathFromProjectData,
@@ -195,5 +184,4 @@ module.exports = {
195184
resolveAndroidAppPath,
196185
resolveAndroidConfigurationsPath,
197186
writePackageJson,
198-
safeGet,
199187
};

0 commit comments

Comments
 (0)