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