Update dependencies

This commit is contained in:
Zaid Abdulla committed 2021-02-24 22:37:13 -08:00
1 parent fccda8d726
commit 8f69b74a89
18 files changed
+1002 -798

No files matched your search

+1 -2
View File
@@ -11,8 +11,7 @@
"extends": [ "extends": [
"eslint:recommended", "eslint:recommended",
"plugin:@typescript-eslint/recommended", "plugin:@typescript-eslint/recommended",
"prettier", "prettier"
"prettier/@typescript-eslint"
], ],
"rules": { "rules": {
"no-shadow": ["error", { "allow": ["err"] }], "no-shadow": ["error", { "allow": ["err"] }],
+9 -8
View File
@@ -29,7 +29,7 @@ import postcss from "postcss";
import postcssImport from "postcss-import"; import postcssImport from "postcss-import";
import postcssPresetEnv from "postcss-preset-env"; import postcssPresetEnv from "postcss-preset-env";
import cssnano from "cssnano"; import cssnano from "cssnano";
import SVGO from "svgo"; import { optimize, extendDefaultPlugins } from "svgo";
import * as xmlParser from "../lib/xml-parser"; import * as xmlParser from "../lib/xml-parser";
const MODE = process.env["NODE_ENV"] || "production"; const MODE = process.env["NODE_ENV"] || "production";
@@ -258,11 +258,6 @@ async function generateFrontendJs(externals: string[]): Promise<void> {
const p = path.resolve(path.dirname(importer), importee); const p = path.resolve(path.dirname(importer), importee);
if (p === path.resolve(INPUT_DIR, "package.json")) if (p === path.resolve(INPUT_DIR, "package.json"))
return path.resolve(OUTPUT_DIR, "package.json"); return path.resolve(OUTPUT_DIR, "package.json");
} else if (importee === "espresso-iisojs") {
return this.resolve(
"espresso-iisojs/dist/espresso-iisojs.mjs",
importer
);
} }
return null; return null;
}, },
@@ -298,13 +293,19 @@ async function generateFrontendJs(externals: string[]): Promise<void> {
} }
async function generateIconsSprite(): Promise<void> { async function generateIconsSprite(): Promise<void> {
const svgo = new SVGO({ plugins: [{ removeViewBox: false }] });
const symbols = []; const symbols = [];
const iconsDir = path.resolve(INPUT_DIR, "ui/icons"); const iconsDir = path.resolve(INPUT_DIR, "ui/icons");
for (const file of fs.readdirSync(iconsDir)) { for (const file of fs.readdirSync(iconsDir)) {
const id = path.parse(file).name; const id = path.parse(file).name;
const filePath = path.join(iconsDir, file); const filePath = path.join(iconsDir, file);
const { data } = await svgo.optimize(fs.readFileSync(filePath).toString()); const { data } = await optimize(fs.readFileSync(filePath).toString(), {
plugins: extendDefaultPlugins([
{
name: "removeViewBox",
active: false,
},
]),
});
symbols.push(generateSymbol(id, data)); symbols.push(generateSymbol(id, data));
} }
fs.writeFileSync( fs.writeFileSync(
+1 -1
View File
@@ -221,7 +221,7 @@ export async function udpConnectionRequest(
const message = Buffer.from(msg); const message = Buffer.from(msg);
for (let i = 0; i < 3; ++i) { for (let i = 0; i < 3; ++i) {
await new Promise((resolve, reject) => { await new Promise<void>((resolve, reject) => {
client.send(message, 0, message.length, port, host, (err: Error) => { client.send(message, 0, message.length, port, host, (err: Error) => {
if (err) reject(err); if (err) reject(err);
else resolve(); else resolve();
+17 -12
View File
@@ -71,6 +71,10 @@ const resources = {
tasks: 0, tasks: 0,
}; };
function singleParam(p: string | string[]): string {
return Array.isArray(p) ? p[p.length - 1] : p;
}
router.get(`/devices/:id.csv`, async (ctx) => { router.get(`/devices/:id.csv`, async (ctx) => {
const authorizer: Authorizer = ctx.state.authorizer; const authorizer: Authorizer = ctx.state.authorizer;
const log = { const log = {
@@ -141,7 +145,7 @@ for (const [resource, flags] of Object.entries(resources)) {
const authorizer: Authorizer = ctx.state.authorizer; const authorizer: Authorizer = ctx.state.authorizer;
let filter: Expression = authorizer.getFilter(resource, 1); let filter: Expression = authorizer.getFilter(resource, 1);
if (ctx.request.query.filter) if (ctx.request.query.filter)
filter = and(filter, parse(ctx.request.query.filter)); filter = and(filter, parse(singleParam(ctx.request.query.filter)));
const log = { const log = {
message: `Count ${resource}`, message: `Count ${resource}`,
@@ -178,13 +182,13 @@ for (const [resource, flags] of Object.entries(resources)) {
const options: QueryOptions = {}; const options: QueryOptions = {};
let filter: Expression = authorizer.getFilter(resource, 2); let filter: Expression = authorizer.getFilter(resource, 2);
if (ctx.request.query.filter) if (ctx.request.query.filter)
filter = and(filter, parse(ctx.request.query.filter)); filter = and(filter, parse(singleParam(ctx.request.query.filter)));
if (ctx.request.query.limit) options.limit = +ctx.request.query.limit; if (ctx.request.query.limit) options.limit = +ctx.request.query.limit;
if (ctx.request.query.skip) options.skip = +ctx.request.query.skip; if (ctx.request.query.skip) options.skip = +ctx.request.query.skip;
if (ctx.request.query.sort) if (ctx.request.query.sort)
options.sort = JSON.parse(ctx.request.query.sort); options.sort = JSON.parse(singleParam(ctx.request.query.sort));
if (ctx.request.query.projection) { if (ctx.request.query.projection) {
options.projection = ctx.request.query.projection options.projection = singleParam(ctx.request.query.projection)
.split(",") .split(",")
.reduce((obj, k) => Object.assign(obj, { [k]: 1 }), {}); .reduce((obj, k) => Object.assign(obj, { [k]: 1 }), {});
} }
@@ -232,11 +236,11 @@ for (const [resource, flags] of Object.entries(resources)) {
const options: QueryOptions = { projection: {} }; const options: QueryOptions = { projection: {} };
let filter: Expression = authorizer.getFilter(resource, 2); let filter: Expression = authorizer.getFilter(resource, 2);
if (ctx.request.query.filter) if (ctx.request.query.filter)
filter = and(filter, parse(ctx.request.query.filter)); filter = and(filter, parse(singleParam(ctx.request.query.filter)));
if (ctx.request.query.limit) options.limit = +ctx.request.query.limit; if (ctx.request.query.limit) options.limit = +ctx.request.query.limit;
if (ctx.request.query.skip) options.skip = +ctx.request.query.skip; if (ctx.request.query.skip) options.skip = +ctx.request.query.skip;
if (ctx.request.query.sort) if (ctx.request.query.sort)
options.sort = JSON.parse(ctx.request.query.sort); options.sort = JSON.parse(singleParam(ctx.request.query.sort));
const log = { const log = {
message: `Query ${resource} (CSV)`, message: `Query ${resource} (CSV)`,
@@ -253,7 +257,7 @@ for (const [resource, flags] of Object.entries(resources)) {
} }
const columns: Record<string, Expression> = JSON.parse( const columns: Record<string, Expression> = JSON.parse(
ctx.request.query.columns singleParam(ctx.request.query.columns)
); );
const now = Date.now(); const now = Date.now();
@@ -505,10 +509,11 @@ router.put("/files/:id", async (ctx) => {
} }
const metadata = { const metadata = {
fileType: ctx.request.headers["metadata.filetype"] || "", fileType: singleParam(ctx.request.headers["metadata.filetype"]) || "",
oui: ctx.request.headers["metadata.oui"] || "", oui: singleParam(ctx.request.headers["metadata.oui"]) || "",
productClass: ctx.request.headers["metadata.productclass"] || "", productClass:
version: ctx.request.headers["metadata.version"] || "", singleParam(ctx.request.headers["metadata.productclass"]) || "",
version: singleParam(ctx.request.headers["metadata.version"]) || "",
}; };
const validate = authorizer.getValidator(resource, metadata); const validate = authorizer.getValidator(resource, metadata);
@@ -648,7 +653,7 @@ router.post("/devices/:id/tags", async (ctx) => {
}); });
router.get("/ping/:host", async (ctx) => { router.get("/ping/:host", async (ctx) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
ping(ctx.params.host, (err, parsed) => { ping(ctx.params.host, (err, parsed) => {
if (parsed) { if (parsed) {
ctx.body = parsed; ctx.body = parsed;
+12 -1
View File
@@ -36,12 +36,23 @@ onConnect(async (_db) => {
db = _db; db = _db;
}); });
export function query(
resource: string,
filter: Expression,
options?: QueryOptions
): Promise<any[]>;
export function query(
resource: string,
filter: Expression,
options: QueryOptions,
callback: (doc: any) => void
): Promise<void>;
export function query( export function query(
resource: string, resource: string,
filter: Expression, filter: Expression,
options?: QueryOptions, options?: QueryOptions,
callback?: (doc: any) => void callback?: (doc: any) => void
): Promise<any[]> { ): Promise<void | any[]> {
options = options || {}; options = options || {};
let q; let q;
filter = expression.evaluate(filter, null, Date.now()); filter = expression.evaluate(filter, null, Date.now());
+903 -715
View File
File diff suppressed because it is too large. Load diff
+25 -26
View File
@@ -23,52 +23,51 @@
"iconv-lite": "^0.6.2", "iconv-lite": "^0.6.2",
"ipaddr.js": "^2.0.0", "ipaddr.js": "^2.0.0",
"jsonwebtoken": "^8.5.1", "jsonwebtoken": "^8.5.1",
"koa": "^2.13.0", "koa": "^2.13.1",
"koa-bodyparser": "^4.3.0", "koa-bodyparser": "^4.3.0",
"koa-compress": "^5.0.1", "koa-compress": "^5.0.1",
"koa-jwt": "^4.0.0", "koa-jwt": "^4.0.0",
"koa-router": "^9.4.0", "koa-router": "^10.0.0",
"koa-static": "^5.0.0", "koa-static": "^5.0.0",
"later": "^1.2.0", "later": "^1.2.0",
"mongodb": "^3.6.2", "mongodb": "^3.6.3",
"parsimmon": "^1.16.0", "parsimmon": "^1.16.0",
"seedrandom": "^3.0.5" "seedrandom": "^3.0.5"
}, },
"devDependencies": { "devDependencies": {
"@rollup/plugin-commonjs": "^16.0.0", "@rollup/plugin-commonjs": "^17.1.0",
"@rollup/plugin-json": "^4.1.0", "@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^10.0.0", "@rollup/plugin-node-resolve": "^11.2.0",
"@rollup/plugin-typescript": "^6.0.0", "@rollup/plugin-typescript": "^8.2.0",
"@types/codemirror": "0.0.106", "@types/codemirror": "0.0.108",
"@types/jsonwebtoken": "^8.5.0", "@types/jsonwebtoken": "^8.5.0",
"@types/koa": "^2.11.6", "@types/koa": "^2.13.0",
"@types/koa-compress": "^4.0.1", "@types/koa-compress": "^4.0.1",
"@types/koa-router": "^7.4.1", "@types/koa-router": "^7.4.1",
"@types/koa-static": "^4.0.1", "@types/koa-static": "^4.0.1",
"@types/mithril": "^2.0.5", "@types/mithril": "^2.0.6",
"@types/mongodb": "^3.5.31", "@types/mongodb": "^3.6.8",
"@types/node": "^14.14.5", "@types/node": "^14.14.31",
"@types/parsimmon": "^1.10.3", "@types/parsimmon": "^1.10.6",
"@types/seedrandom": "^2.4.28", "@types/seedrandom": "^2.4.28",
"@types/svgo": "^1.3.3", "@typescript-eslint/eslint-plugin": "^4.15.2",
"@typescript-eslint/eslint-plugin": "^4.6.0", "@typescript-eslint/parser": "^4.15.2",
"@typescript-eslint/parser": "^4.6.0", "ava": "^3.15.0",
"ava": "^3.13.0", "codemirror": "^5.59.4",
"codemirror": "^5.58.2",
"cssnano": "^4.1.10", "cssnano": "^4.1.10",
"eslint": "^7.12.1", "eslint": "^7.20.0",
"eslint-config-prettier": "^6.14.0", "eslint-config-prettier": "^8.1.0",
"esm": "^3.2.25", "esm": "^3.2.25",
"mithril": "^2.0.4", "mithril": "^2.0.4",
"postcss": "^8.1.4", "postcss": "^8.2.6",
"postcss-import": "^13.0.0", "postcss-import": "^14.0.0",
"postcss-preset-env": "^6.7.0", "postcss-preset-env": "^6.7.0",
"prettier": "^2.1.2", "prettier": "^2.2.1",
"rollup": "^2.32.1", "rollup": "^2.39.1",
"rollup-plugin-terser": "^7.0.2", "rollup-plugin-terser": "^7.0.2",
"svgo": "^1.3.2", "svgo": "^2.1.0",
"ts-node": "^9.0.0", "ts-node": "^9.1.1",
"typescript": "^4.0.5", "typescript": "^4.1.5",
"yaml": "^1.10.0" "yaml": "^1.10.0"
}, },
"engines": { "engines": {
+1 -1
View File
@@ -88,7 +88,7 @@ function pagify(pageName, page): RouteResolver {
return null; return null;
} }
return new Promise((resolve) => { return new Promise<void>((resolve) => {
page page
.init(args) .init(args)
.then((st) => { .then((st) => {
+6 -6
View File
@@ -77,7 +77,7 @@ function putActionHandler(action, _object, isNew?): Promise<ValidationErrors> {
`Config ${exists ? "updated" : "created"}` `Config ${exists ? "updated" : "created"}`
); );
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch(reject); .catch(reject);
}) })
@@ -88,7 +88,7 @@ function putActionHandler(action, _object, isNew?): Promise<ValidationErrors> {
.then(() => { .then(() => {
notifications.push("success", "Config deleted"); notifications.push("success", "Config deleted");
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch((err) => { .catch((err) => {
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
@@ -164,11 +164,11 @@ function renderTable(confsResponse, searchString): Children {
} else { } else {
overlay.close(cb); overlay.close(cb);
} }
resolve(); resolve(null);
}) })
.catch((err) => { .catch((err) => {
notifications.push("error", err.message); notifications.push("error", err.message);
resolve(); resolve(null);
}); });
}); });
}, },
@@ -255,7 +255,7 @@ export const component: ClosureComponent = (): Component => {
Object.assign( Object.assign(
{ {
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object, true) putActionHandler(action, object, true)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors
@@ -267,7 +267,7 @@ export const component: ClosureComponent = (): Component => {
} else { } else {
overlay.close(cb); overlay.close(cb);
} }
resolve(); resolve(null);
}) })
.catch((err) => { .catch((err) => {
notifications.push("error", err.message); notifications.push("error", err.message);
+1 -1
View File
@@ -355,7 +355,7 @@ function renderNotifications(notifs): Child[] {
}, },
onbeforeremove: (vnode) => { onbeforeremove: (vnode) => {
(vnode.dom as HTMLDivElement).style.opacity = "0"; (vnode.dom as HTMLDivElement).style.opacity = "0";
return new Promise((resolve) => { return new Promise<void>((resolve) => {
setTimeout(() => { setTimeout(() => {
resolve(); resolve();
}, 500); }, 500);
+2 -2
View File
@@ -118,7 +118,7 @@ function putActionHandler(action, _object): Promise<ValidationErrors> {
`File ${exists ? "updated" : "created"}` `File ${exists ? "updated" : "created"}`
); );
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch(reject); .catch(reject);
}) })
@@ -230,7 +230,7 @@ export const component: ClosureComponent = (): Component => {
Object.assign( Object.assign(
{ {
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object) putActionHandler(action, object)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors
+1 -1
View File
@@ -60,7 +60,7 @@ export function render(): Children {
}, },
onbeforeremove: (vnode) => { onbeforeremove: (vnode) => {
(vnode.dom as HTMLDivElement).style.opacity = "0"; (vnode.dom as HTMLDivElement).style.opacity = "0";
return new Promise((resolve) => { return new Promise<void>((resolve) => {
setTimeout(() => { setTimeout(() => {
resolve(); resolve();
}, 500); }, 500);
+3 -3
View File
@@ -126,7 +126,7 @@ function putActionHandler(action, _object): Promise<ValidationErrors> {
.then(() => { .then(() => {
notifications.push("success", "Permission created"); notifications.push("success", "Permission created");
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch(reject); .catch(reject);
}) })
@@ -137,7 +137,7 @@ function putActionHandler(action, _object): Promise<ValidationErrors> {
.then(() => { .then(() => {
notifications.push("success", "Permission deleted"); notifications.push("success", "Permission deleted");
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch((err) => { .catch((err) => {
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
@@ -291,7 +291,7 @@ export const component: ClosureComponent = (): Component => {
Object.assign( Object.assign(
{ {
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object) putActionHandler(action, object)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors
+4 -4
View File
@@ -103,7 +103,7 @@ function putActionHandler(action, _object, isNew): Promise<ValidationErrors> {
`Preset ${exists ? "updated" : "created"}` `Preset ${exists ? "updated" : "created"}`
); );
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch(reject); .catch(reject);
}) })
@@ -114,7 +114,7 @@ function putActionHandler(action, _object, isNew): Promise<ValidationErrors> {
.then(() => { .then(() => {
notifications.push("success", "Preset deleted"); notifications.push("success", "Preset deleted");
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch((err) => { .catch((err) => {
reject(err); reject(err);
@@ -294,7 +294,7 @@ export const component: ClosureComponent = (): Component => {
{ {
base: preset, base: preset,
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object, false) putActionHandler(action, object, false)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors
@@ -355,7 +355,7 @@ export const component: ClosureComponent = (): Component => {
Object.assign( Object.assign(
{ {
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object, true) putActionHandler(action, object, true)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors
+4 -4
View File
@@ -83,7 +83,7 @@ function putActionHandler(action, _object, isNew): Promise<ValidationErrors> {
`Provision ${exists ? "updated" : "created"}` `Provision ${exists ? "updated" : "created"}`
); );
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch((err) => { .catch((err) => {
if (err["code"] === 400 && err["response"]) { if (err["code"] === 400 && err["response"]) {
@@ -100,7 +100,7 @@ function putActionHandler(action, _object, isNew): Promise<ValidationErrors> {
.then(() => { .then(() => {
notifications.push("success", "Provision deleted"); notifications.push("success", "Provision deleted");
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch((err) => { .catch((err) => {
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
@@ -220,7 +220,7 @@ export const component: ClosureComponent = (): Component => {
{ {
base: provision, base: provision,
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object, false) putActionHandler(action, object, false)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors
@@ -272,7 +272,7 @@ export const component: ClosureComponent = (): Component => {
Object.assign( Object.assign(
{ {
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object, true) putActionHandler(action, object, true)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors
+3 -2
View File
@@ -55,7 +55,8 @@ function putActionHandler(prefix: string[], dataYaml: string): Promise<any> {
for (const f of res) current[f._id] = f.value; for (const f of res) current[f._id] = f.value;
const diff = configFunctions.diffConfig(current, updated); const diff = configFunctions.diffConfig(current, updated);
if (!diff.add.length && !diff.remove.length) return void resolve(); if (!diff.add.length && !diff.remove.length)
return void resolve(null);
const promises = []; const promises = [];
@@ -74,7 +75,7 @@ function putActionHandler(prefix: string[], dataYaml: string): Promise<any> {
Promise.all(promises) Promise.all(promises)
.then(() => { .then(() => {
resolve(); resolve(null);
}) })
.catch(reject); .catch(reject);
}) })
+5 -5
View File
@@ -103,13 +103,13 @@ function putActionHandler(action, _object, isNew): Promise<ValidationErrors> {
.then(() => { .then(() => {
notifications.push("success", "User created"); notifications.push("success", "User created");
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch(reject); .catch(reject);
} else { } else {
notifications.push("success", "User updated"); notifications.push("success", "User updated");
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
} }
}) })
.catch(reject); .catch(reject);
@@ -121,7 +121,7 @@ function putActionHandler(action, _object, isNew): Promise<ValidationErrors> {
.then(() => { .then(() => {
notifications.push("success", "User deleted"); notifications.push("success", "User deleted");
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch((err) => { .catch((err) => {
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
@@ -247,7 +247,7 @@ export const component: ClosureComponent = (): Component => {
roles: user.roles.split(","), roles: user.roles.split(","),
}, },
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object, false) putActionHandler(action, object, false)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors
@@ -329,7 +329,7 @@ export const component: ClosureComponent = (): Component => {
Object.assign( Object.assign(
{ {
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object, true) putActionHandler(action, object, true)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors
+4 -4
View File
@@ -83,7 +83,7 @@ function putActionHandler(action, _object, isNew): Promise<ValidationErrors> {
`Virtual parameter ${exists ? "updated" : "created"}` `Virtual parameter ${exists ? "updated" : "created"}`
); );
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch((err) => { .catch((err) => {
if (err["code"] === 400 && err["response"]) { if (err["code"] === 400 && err["response"]) {
@@ -100,7 +100,7 @@ function putActionHandler(action, _object, isNew): Promise<ValidationErrors> {
.then(() => { .then(() => {
notifications.push("success", "Virtual parameter deleted"); notifications.push("success", "Virtual parameter deleted");
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
resolve(); resolve(null);
}) })
.catch((err) => { .catch((err) => {
store.setTimestamp(Date.now()); store.setTimestamp(Date.now());
@@ -220,7 +220,7 @@ export const component: ClosureComponent = (): Component => {
{ {
base: virtualParameter, base: virtualParameter,
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object, false) putActionHandler(action, object, false)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors
@@ -272,7 +272,7 @@ export const component: ClosureComponent = (): Component => {
Object.assign( Object.assign(
{ {
actionHandler: (action, object) => { actionHandler: (action, object) => {
return new Promise((resolve) => { return new Promise<void>((resolve) => {
putActionHandler(action, object, true) putActionHandler(action, object, true)
.then((errors) => { .then((errors) => {
const errorList = errors const errorList = errors