Better syntax error message when saving script

This commit is contained in:
Zaid Abdulla committed 2021-01-24 14:17:31 -08:00
1 parent 7594883404
commit 6cca59c666
3 files changed
+36 -8

No files matched your search

+22 -6
View File
@@ -226,9 +226,17 @@ export function putProvision(
): Promise<void> { ): Promise<void> {
if (!object.script) object.script = ""; if (!object.script) object.script = "";
try { try {
new Script(`"use strict";(function(){\n${object.script}\n})();`); new Script(`"use strict";(function(){\n${object.script}\n})();`, {
} catch (error) { filename: id,
return Promise.reject(error); lineOffset: -1,
});
} catch (err) {
if (err.stack && err.stack.startsWith(`${id}:`)) {
return Promise.reject(
new Error(`${err.name} at ${err.stack.split("\n", 1)[0]}`)
);
}
return Promise.reject(err);
} }
return putResource("provisions", id, object); return putResource("provisions", id, object);
} }
@@ -243,9 +251,17 @@ export function putVirtualParameter(
): Promise<void> { ): Promise<void> {
if (!object.script) object.script = ""; if (!object.script) object.script = "";
try { try {
new Script(`"use strict";(function(){\n${object.script}\n})();`); new Script(`"use strict";(function(){\n${object.script}\n})();`, {
} catch (error) { filename: id,
return Promise.reject(error); lineOffset: -1,
});
} catch (err) {
if (err.stack && err.stack.startsWith(`${id}:`)) {
return Promise.reject(
new Error(`${err.name} at ${err.stack.split("\n", 1)[0]}`)
);
}
return Promise.reject(err);
} }
return putResource("virtualParameters", id, object); return putResource("virtualParameters", id, object);
} }
+7 -1
View File
@@ -85,7 +85,13 @@ function putActionHandler(action, _object, isNew): Promise<ValidationErrors> {
store.fulfill(0, Date.now()); store.fulfill(0, Date.now());
resolve(); resolve();
}) })
.catch(reject); .catch((err) => {
if (err["code"] === 400 && err["response"]) {
reject(new Error(err["response"]));
return;
}
reject(err);
});
}) })
.catch(reject); .catch(reject);
} else if (action === "delete") { } else if (action === "delete") {
+7 -1
View File
@@ -85,7 +85,13 @@ function putActionHandler(action, _object, isNew): Promise<ValidationErrors> {
store.fulfill(0, Date.now()); store.fulfill(0, Date.now());
resolve(); resolve();
}) })
.catch(reject); .catch((err) => {
if (err["code"] === 400 && err["response"]) {
reject(new Error(err["response"]));
return;
}
reject(err);
});
}) })
.catch(reject); .catch(reject);
} else if (action === "delete") { } else if (action === "delete") {