@iobroker/js-controller-common-db
Advanced tools
Comparing version 5.0.20-alpha.0-20240409-d68ed299 to 5.0.20-alpha.0-20240418-165fc4c8
@@ -1,5 +0,5 @@ | ||
export * as tools from './lib/common/tools'; | ||
export { getStatesConstructor } from './lib/common/states'; | ||
export { getObjectsConstructor } from './lib/common/objects'; | ||
export { NotificationHandler } from './lib/common/notificationHandler'; | ||
export * as tools from './lib/common/tools.js'; | ||
export { getStatesConstructor } from './lib/common/states.js'; | ||
export { getObjectsConstructor } from './lib/common/objects.js'; | ||
export { NotificationHandler } from './lib/common/notificationHandler.js'; | ||
//# sourceMappingURL=index.d.ts.map |
"use strict"; | ||
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { | ||
if (k2 === void 0) | ||
k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { | ||
return m[k]; | ||
} }; | ||
var __create = Object.create; | ||
var __defProp = Object.defineProperty; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __getProtoOf = Object.getPrototypeOf; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __export = (target, all) => { | ||
for (var name in all) | ||
__defProp(target, name, { get: all[name], enumerable: true }); | ||
}; | ||
var __copyProps = (to, from, except, desc) => { | ||
if (from && typeof from === "object" || typeof from === "function") { | ||
for (let key of __getOwnPropNames(from)) | ||
if (!__hasOwnProp.call(to, key) && key !== except) | ||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
} : function(o, m, k, k2) { | ||
if (k2 === void 0) | ||
k2 = k; | ||
o[k2] = m[k]; | ||
return to; | ||
}; | ||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | ||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | ||
mod | ||
)); | ||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
var esm_exports = {}; | ||
__export(esm_exports, { | ||
NotificationHandler: () => import_notificationHandler.NotificationHandler, | ||
getObjectsConstructor: () => import_objects.getObjectsConstructor, | ||
getStatesConstructor: () => import_states.getStatesConstructor, | ||
tools: () => tools | ||
}); | ||
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
} : function(o, v) { | ||
o["default"] = v; | ||
module.exports = __toCommonJS(esm_exports); | ||
var tools = __toESM(require("./lib/common/tools.js"), 1); | ||
var import_states = require("./lib/common/states.js"); | ||
var import_objects = require("./lib/common/objects.js"); | ||
var import_notificationHandler = require("./lib/common/notificationHandler.js"); | ||
// Annotate the CommonJS export names for ESM import in node: | ||
0 && (module.exports = { | ||
NotificationHandler, | ||
getObjectsConstructor, | ||
getStatesConstructor, | ||
tools | ||
}); | ||
var __importStar = exports && exports.__importStar || function(mod) { | ||
if (mod && mod.__esModule) | ||
return mod; | ||
var result = {}; | ||
if (mod != null) { | ||
for (var k in mod) | ||
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) | ||
__createBinding(result, mod, k); | ||
} | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.NotificationHandler = exports.getObjectsConstructor = exports.getStatesConstructor = exports.tools = void 0; | ||
exports.tools = __importStar(require("./lib/common/tools")); | ||
var states_1 = require("./lib/common/states"); | ||
Object.defineProperty(exports, "getStatesConstructor", { enumerable: true, get: function() { | ||
return states_1.getStatesConstructor; | ||
} }); | ||
var objects_1 = require("./lib/common/objects"); | ||
Object.defineProperty(exports, "getObjectsConstructor", { enumerable: true, get: function() { | ||
return objects_1.getObjectsConstructor; | ||
} }); | ||
var notificationHandler_1 = require("./lib/common/notificationHandler"); | ||
Object.defineProperty(exports, "NotificationHandler", { enumerable: true, get: function() { | ||
return notificationHandler_1.NotificationHandler; | ||
} }); | ||
//# sourceMappingURL=index.js.map |
@@ -6,3 +6,3 @@ /** | ||
*/ | ||
/// <reference types="node" /> | ||
/// <reference types="node" resolution-mode="require"/> | ||
import type { Client as StatesInRedisClient } from '@iobroker/db-states-redis'; | ||
@@ -9,0 +9,0 @@ import type { Client as ObjectsInRedisClient } from '@iobroker/db-objects-redis'; |
"use strict"; | ||
var __create = Object.create; | ||
var __defProp = Object.defineProperty; | ||
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; | ||
var __publicField = (obj, key, value) => { | ||
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); | ||
return value; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __getProtoOf = Object.getPrototypeOf; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __export = (target, all) => { | ||
for (var name in all) | ||
__defProp(target, name, { get: all[name], enumerable: true }); | ||
}; | ||
var __importDefault = exports && exports.__importDefault || function(mod) { | ||
return mod && mod.__esModule ? mod : { "default": mod }; | ||
var __copyProps = (to, from, except, desc) => { | ||
if (from && typeof from === "object" || typeof from === "function") { | ||
for (let key of __getOwnPropNames(from)) | ||
if (!__hasOwnProp.call(to, key) && key !== except) | ||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
} | ||
return to; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.NotificationHandler = void 0; | ||
const fs_extra_1 = __importDefault(require("fs-extra")); | ||
const js_controller_common_1 = require("@iobroker/js-controller-common"); | ||
const path_1 = __importDefault(require("path")); | ||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | ||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | ||
mod | ||
)); | ||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
var notificationHandler_exports = {}; | ||
__export(notificationHandler_exports, { | ||
NotificationHandler: () => NotificationHandler | ||
}); | ||
module.exports = __toCommonJS(notificationHandler_exports); | ||
var import_fs_extra = __toESM(require("fs-extra"), 1); | ||
var import_js_controller_common = require("@iobroker/js-controller-common"); | ||
var import_node_path = __toESM(require("node:path"), 1); | ||
class NotificationHandler { | ||
states; | ||
objects; | ||
log; | ||
currentNotifications = {}; | ||
dataDir = import_node_path.default.join(import_js_controller_common.tools.getControllerDir(), import_js_controller_common.tools.getDefaultDataDir()); | ||
setup = {}; | ||
logPrefix; | ||
host; | ||
constructor(settings) { | ||
__publicField(this, "states"); | ||
__publicField(this, "objects"); | ||
__publicField(this, "log"); | ||
__publicField(this, "currentNotifications", {}); | ||
__publicField(this, "dataDir", path_1.default.join(js_controller_common_1.tools.getControllerDir(), js_controller_common_1.tools.getDefaultDataDir())); | ||
__publicField(this, "setup", {}); | ||
__publicField(this, "logPrefix"); | ||
__publicField(this, "host"); | ||
this.states = settings.states; | ||
@@ -151,3 +168,2 @@ this.objects = settings.objects; | ||
async addMessage(scope, category, message, instance) { | ||
var _a; | ||
if (typeof instance !== "string") { | ||
@@ -163,3 +179,3 @@ this.log.error(`${this.logPrefix} [addMessage] Instance has to be of type "string", got "${typeof instance}"`); | ||
const state = await this.states.getStateAsync(`system.host.${this.host}.notifications.${scope}`); | ||
stateVal = (state == null ? void 0 : state.val) ? JSON.parse(state.val) : {}; | ||
stateVal = state?.val ? JSON.parse(state.val) : {}; | ||
} catch (e) { | ||
@@ -177,3 +193,3 @@ this.log.error(`${this.logPrefix} Could not get state for scope "${scope}": ${e.message}`); | ||
this.currentNotifications[scope][_category][instance] = this.currentNotifications[scope][_category][instance] || []; | ||
if (!((_a = this.setup[scope]) == null ? void 0 : _a.categories[_category])) { | ||
if (!this.setup[scope]?.categories[_category]) { | ||
this.log.warn(`${this.logPrefix} No configuration found for scope "${scope}" and category "${_category}"`); | ||
@@ -188,3 +204,3 @@ continue; | ||
} | ||
if (js_controller_common_1.tools.isObject(this.currentNotifications[scope])) { | ||
if (import_js_controller_common.tools.isObject(this.currentNotifications[scope])) { | ||
for (const _category of Object.keys(this.currentNotifications[scope])) { | ||
@@ -237,3 +253,3 @@ const categoryCounter = Object.keys(this.currentNotifications[scope][_category]).length; | ||
try { | ||
this.currentNotifications = fs_extra_1.default.readJSONSync(path_1.default.join(this.dataDir, "notifications.json")); | ||
this.currentNotifications = import_fs_extra.default.readJSONSync(import_node_path.default.join(this.dataDir, "notifications.json")); | ||
} catch (e) { | ||
@@ -245,3 +261,3 @@ this.log.debug(`${this.logPrefix} Could not read notifications.json: ${e.message}`); | ||
try { | ||
fs_extra_1.default.writeJSONSync(path_1.default.join(this.dataDir, "notifications.json"), this.currentNotifications); | ||
import_fs_extra.default.writeJSONSync(import_node_path.default.join(this.dataDir, "notifications.json"), this.currentNotifications); | ||
} catch (e) { | ||
@@ -338,3 +354,6 @@ this.log.error(`${this.logPrefix} Could not write notifications.json: ${e.message}`); | ||
} | ||
exports.NotificationHandler = NotificationHandler; | ||
// Annotate the CommonJS export names for ESM import in node: | ||
0 && (module.exports = { | ||
NotificationHandler | ||
}); | ||
//# sourceMappingURL=notificationHandler.js.map |
@@ -1,2 +0,2 @@ | ||
export declare function getObjectsConstructor(): any; | ||
export declare function getObjectsConstructor(): Promise<any>; | ||
//# sourceMappingURL=objects.d.ts.map |
"use strict"; | ||
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { | ||
if (k2 === void 0) | ||
k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { | ||
return m[k]; | ||
} }; | ||
var __create = Object.create; | ||
var __defProp = Object.defineProperty; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __getProtoOf = Object.getPrototypeOf; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __export = (target, all) => { | ||
for (var name in all) | ||
__defProp(target, name, { get: all[name], enumerable: true }); | ||
}; | ||
var __copyProps = (to, from, except, desc) => { | ||
if (from && typeof from === "object" || typeof from === "function") { | ||
for (let key of __getOwnPropNames(from)) | ||
if (!__hasOwnProp.call(to, key) && key !== except) | ||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
} : function(o, m, k, k2) { | ||
if (k2 === void 0) | ||
k2 = k; | ||
o[k2] = m[k]; | ||
return to; | ||
}; | ||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | ||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | ||
mod | ||
)); | ||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
var objects_exports = {}; | ||
__export(objects_exports, { | ||
getObjectsConstructor: () => getObjectsConstructor | ||
}); | ||
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
} : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = exports && exports.__importStar || function(mod) { | ||
if (mod && mod.__esModule) | ||
return mod; | ||
var result = {}; | ||
if (mod != null) { | ||
for (var k in mod) | ||
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) | ||
__createBinding(result, mod, k); | ||
} | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getObjectsConstructor = void 0; | ||
const fs = __importStar(require("fs-extra")); | ||
const js_controller_common_1 = require("@iobroker/js-controller-common"); | ||
function getObjectsConstructor() { | ||
const config = fs.readJSONSync(js_controller_common_1.tools.getConfigFileName()); | ||
module.exports = __toCommonJS(objects_exports); | ||
var import_fs_extra = __toESM(require("fs-extra"), 1); | ||
var import_js_controller_common = require("@iobroker/js-controller-common"); | ||
async function getObjectsConstructor() { | ||
const config = import_fs_extra.default.readJSONSync(import_js_controller_common.tools.getConfigFileName()); | ||
if (!config.objects) { | ||
@@ -44,9 +38,14 @@ config.objects = { type: "jsonl" }; | ||
try { | ||
return require(`@iobroker/db-objects-${config.objects.type}`).Client; | ||
} catch { | ||
console.error(`Installation broken or unknown objects type: ${config.objects.type} configured.`); | ||
const Client = (await import(`@iobroker/db-objects-${config.objects.type}`)).Client; | ||
return Client; | ||
} catch (e) { | ||
console.error(e.stack); | ||
console.error(`Installation broken or unknown objects type: ${config.objects.type} configured`); | ||
process.exit(101); | ||
} | ||
} | ||
exports.getObjectsConstructor = getObjectsConstructor; | ||
// Annotate the CommonJS export names for ESM import in node: | ||
0 && (module.exports = { | ||
getObjectsConstructor | ||
}); | ||
//# sourceMappingURL=objects.js.map |
@@ -1,2 +0,2 @@ | ||
export declare function getStatesConstructor(): any; | ||
export declare function getStatesConstructor(): Promise<any>; | ||
//# sourceMappingURL=states.d.ts.map |
"use strict"; | ||
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { | ||
if (k2 === void 0) | ||
k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { | ||
return m[k]; | ||
} }; | ||
var __create = Object.create; | ||
var __defProp = Object.defineProperty; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __getProtoOf = Object.getPrototypeOf; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __export = (target, all) => { | ||
for (var name in all) | ||
__defProp(target, name, { get: all[name], enumerable: true }); | ||
}; | ||
var __copyProps = (to, from, except, desc) => { | ||
if (from && typeof from === "object" || typeof from === "function") { | ||
for (let key of __getOwnPropNames(from)) | ||
if (!__hasOwnProp.call(to, key) && key !== except) | ||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
} : function(o, m, k, k2) { | ||
if (k2 === void 0) | ||
k2 = k; | ||
o[k2] = m[k]; | ||
return to; | ||
}; | ||
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( | ||
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, | ||
mod | ||
)); | ||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
var states_exports = {}; | ||
__export(states_exports, { | ||
getStatesConstructor: () => getStatesConstructor | ||
}); | ||
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
} : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = exports && exports.__importStar || function(mod) { | ||
if (mod && mod.__esModule) | ||
return mod; | ||
var result = {}; | ||
if (mod != null) { | ||
for (var k in mod) | ||
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) | ||
__createBinding(result, mod, k); | ||
} | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getStatesConstructor = void 0; | ||
const fs = __importStar(require("fs-extra")); | ||
const js_controller_common_1 = require("@iobroker/js-controller-common"); | ||
function getStatesConstructor() { | ||
const config = fs.readJSONSync(js_controller_common_1.tools.getConfigFileName()); | ||
module.exports = __toCommonJS(states_exports); | ||
var import_fs_extra = __toESM(require("fs-extra"), 1); | ||
var import_js_controller_common = require("@iobroker/js-controller-common"); | ||
async function getStatesConstructor() { | ||
const config = import_fs_extra.default.readJSONSync(import_js_controller_common.tools.getConfigFileName()); | ||
if (!config.states) { | ||
@@ -44,4 +38,6 @@ config.states = { type: "jsonl" }; | ||
try { | ||
return require(`@iobroker/db-states-${config.states.type}`).Client; | ||
} catch { | ||
const Client = (await import(`@iobroker/db-states-${config.states.type}`)).Client; | ||
return Client; | ||
} catch (e) { | ||
console.error(e.stack); | ||
console.error(`Installation broken or unknown states type: ${config.states.type} configured.`); | ||
@@ -51,3 +47,6 @@ process.exit(101); | ||
} | ||
exports.getStatesConstructor = getStatesConstructor; | ||
// Annotate the CommonJS export names for ESM import in node: | ||
0 && (module.exports = { | ||
getStatesConstructor | ||
}); | ||
//# sourceMappingURL=states.js.map |
@@ -7,3 +7,3 @@ /** | ||
*/ | ||
export declare function statesDbHasServer(dbType: string): boolean; | ||
export declare function statesDbHasServer(dbType: string): Promise<boolean>; | ||
/** | ||
@@ -17,3 +17,3 @@ * Allows to find out if a given objects dbType offers a server which runs on this host and listens (locally or globally/by IP) | ||
*/ | ||
export declare function isLocalObjectsDbServer(dbType: string, host: string | string[], checkIfLocalOnly?: boolean): boolean; | ||
export declare function isLocalObjectsDbServer(dbType: string, host: string | string[], checkIfLocalOnly?: boolean): Promise<boolean>; | ||
/** | ||
@@ -27,3 +27,3 @@ * Allows to find out if a given states dbType offers a server which runs on this host and listens (locally or globally/by IP) | ||
*/ | ||
export declare function isLocalStatesDbServer(dbType: string, host: string | string[], checkIfLocalOnly?: boolean): boolean; | ||
export declare function isLocalStatesDbServer(dbType: string, host: string | string[], checkIfLocalOnly?: boolean): Promise<boolean>; | ||
/** | ||
@@ -35,3 +35,3 @@ * Allows to find out if a given objects dbType offers a server or not | ||
*/ | ||
export declare function objectsDbHasServer(dbType: string): boolean; | ||
export declare function objectsDbHasServer(dbType: string): Promise<boolean>; | ||
//# sourceMappingURL=tools.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.objectsDbHasServer = exports.isLocalStatesDbServer = exports.isLocalObjectsDbServer = exports.statesDbHasServer = void 0; | ||
const js_controller_common_1 = require("@iobroker/js-controller-common"); | ||
function statesDbHasServer(dbType) { | ||
var __defProp = Object.defineProperty; | ||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | ||
var __getOwnPropNames = Object.getOwnPropertyNames; | ||
var __hasOwnProp = Object.prototype.hasOwnProperty; | ||
var __export = (target, all) => { | ||
for (var name in all) | ||
__defProp(target, name, { get: all[name], enumerable: true }); | ||
}; | ||
var __copyProps = (to, from, except, desc) => { | ||
if (from && typeof from === "object" || typeof from === "function") { | ||
for (let key of __getOwnPropNames(from)) | ||
if (!__hasOwnProp.call(to, key) && key !== except) | ||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); | ||
} | ||
return to; | ||
}; | ||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); | ||
var tools_exports = {}; | ||
__export(tools_exports, { | ||
isLocalObjectsDbServer: () => isLocalObjectsDbServer, | ||
isLocalStatesDbServer: () => isLocalStatesDbServer, | ||
objectsDbHasServer: () => objectsDbHasServer, | ||
statesDbHasServer: () => statesDbHasServer | ||
}); | ||
module.exports = __toCommonJS(tools_exports); | ||
var import_js_controller_common = require("@iobroker/js-controller-common"); | ||
async function statesDbHasServer(dbType) { | ||
try { | ||
return !!require(`@iobroker/db-states-${dbType}`).Server; | ||
const states = await import(`@iobroker/db-states-${dbType}`); | ||
return !!states.Server; | ||
} catch { | ||
@@ -12,5 +36,5 @@ throw new Error(`Installation error or unknown states database type: ${dbType}`); | ||
} | ||
exports.statesDbHasServer = statesDbHasServer; | ||
function isLocalObjectsDbServer(dbType, host, checkIfLocalOnly = false) { | ||
if (!objectsDbHasServer(dbType)) { | ||
async function isLocalObjectsDbServer(dbType, host, checkIfLocalOnly = false) { | ||
const hasServer = await objectsDbHasServer(dbType); | ||
if (!hasServer) { | ||
return false; | ||
@@ -21,12 +45,12 @@ } | ||
} | ||
let result = host === "localhost" || js_controller_common_1.tools.isLocalAddress(host); | ||
let result = host === "localhost" || import_js_controller_common.tools.isLocalAddress(host); | ||
if (!checkIfLocalOnly) { | ||
const ownIps = js_controller_common_1.tools.findIPs(); | ||
result = result || js_controller_common_1.tools.isListenAllAddress(host) || ownIps.includes(host); | ||
const ownIps = import_js_controller_common.tools.findIPs(); | ||
result = result || import_js_controller_common.tools.isListenAllAddress(host) || ownIps.includes(host); | ||
} | ||
return result; | ||
} | ||
exports.isLocalObjectsDbServer = isLocalObjectsDbServer; | ||
function isLocalStatesDbServer(dbType, host, checkIfLocalOnly = false) { | ||
if (!statesDbHasServer(dbType)) { | ||
async function isLocalStatesDbServer(dbType, host, checkIfLocalOnly = false) { | ||
const hasServer = await statesDbHasServer(dbType); | ||
if (!hasServer) { | ||
return false; | ||
@@ -37,18 +61,25 @@ } | ||
} | ||
let result = host === "localhost" || js_controller_common_1.tools.isLocalAddress(host); | ||
let result = host === "localhost" || import_js_controller_common.tools.isLocalAddress(host); | ||
if (!checkIfLocalOnly && !Array.isArray(host)) { | ||
const ownIps = js_controller_common_1.tools.findIPs(); | ||
result = result || js_controller_common_1.tools.isListenAllAddress(host) || ownIps.includes(host); | ||
const ownIps = import_js_controller_common.tools.findIPs(); | ||
result = result || import_js_controller_common.tools.isListenAllAddress(host) || ownIps.includes(host); | ||
} | ||
return result; | ||
} | ||
exports.isLocalStatesDbServer = isLocalStatesDbServer; | ||
function objectsDbHasServer(dbType) { | ||
async function objectsDbHasServer(dbType) { | ||
try { | ||
return !!require(`@iobroker/db-objects-${dbType}`).Server; | ||
} catch { | ||
const objects = await import(`@iobroker/db-objects-${dbType}`); | ||
return !!objects.Server; | ||
} catch (e) { | ||
console.error(e); | ||
throw new Error(`Installation error or unknown objects database type: ${dbType}`); | ||
} | ||
} | ||
exports.objectsDbHasServer = objectsDbHasServer; | ||
// Annotate the CommonJS export names for ESM import in node: | ||
0 && (module.exports = { | ||
isLocalObjectsDbServer, | ||
isLocalStatesDbServer, | ||
objectsDbHasServer, | ||
statesDbHasServer | ||
}); | ||
//# sourceMappingURL=tools.js.map |
@@ -1,5 +0,5 @@ | ||
export * as tools from './lib/common/tools'; | ||
export { getStatesConstructor } from './lib/common/states'; | ||
export { getObjectsConstructor } from './lib/common/objects'; | ||
export { NotificationHandler } from './lib/common/notificationHandler'; | ||
export * as tools from './lib/common/tools.js'; | ||
export { getStatesConstructor } from './lib/common/states.js'; | ||
export { getObjectsConstructor } from './lib/common/objects.js'; | ||
export { NotificationHandler } from './lib/common/notificationHandler.js'; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -1,34 +0,5 @@ | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.NotificationHandler = exports.getObjectsConstructor = exports.getStatesConstructor = exports.tools = void 0; | ||
exports.tools = __importStar(require("./lib/common/tools")); | ||
var states_1 = require("./lib/common/states"); | ||
Object.defineProperty(exports, "getStatesConstructor", { enumerable: true, get: function () { return states_1.getStatesConstructor; } }); | ||
var objects_1 = require("./lib/common/objects"); | ||
Object.defineProperty(exports, "getObjectsConstructor", { enumerable: true, get: function () { return objects_1.getObjectsConstructor; } }); | ||
var notificationHandler_1 = require("./lib/common/notificationHandler"); | ||
Object.defineProperty(exports, "NotificationHandler", { enumerable: true, get: function () { return notificationHandler_1.NotificationHandler; } }); | ||
export * as tools from './lib/common/tools.js'; | ||
export { getStatesConstructor } from './lib/common/states.js'; | ||
export { getObjectsConstructor } from './lib/common/objects.js'; | ||
export { NotificationHandler } from './lib/common/notificationHandler.js'; | ||
//# sourceMappingURL=index.js.map |
@@ -6,3 +6,3 @@ /** | ||
*/ | ||
/// <reference types="node" /> | ||
/// <reference types="node" resolution-mode="require"/> | ||
import type { Client as StatesInRedisClient } from '@iobroker/db-states-redis'; | ||
@@ -9,0 +9,0 @@ import type { Client as ObjectsInRedisClient } from '@iobroker/db-objects-redis'; |
@@ -1,2 +0,1 @@ | ||
"use strict"; | ||
/** | ||
@@ -7,11 +6,6 @@ * Notification handler class | ||
*/ | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.NotificationHandler = void 0; | ||
const fs_extra_1 = __importDefault(require("fs-extra")); | ||
const js_controller_common_1 = require("@iobroker/js-controller-common"); | ||
const path_1 = __importDefault(require("path")); | ||
class NotificationHandler { | ||
import fs from 'fs-extra'; | ||
import { tools } from '@iobroker/js-controller-common'; | ||
import path from 'node:path'; | ||
export class NotificationHandler { | ||
states; | ||
@@ -22,3 +16,3 @@ objects; | ||
// default data dir is relative to controllerDir | ||
dataDir = path_1.default.join(js_controller_common_1.tools.getControllerDir(), js_controller_common_1.tools.getDefaultDataDir()); | ||
dataDir = path.join(tools.getControllerDir(), tools.getDefaultDataDir()); | ||
setup = {}; | ||
@@ -235,3 +229,3 @@ logPrefix; | ||
// now count all messages of this scope - if nothing matched it can be undefined, and we can skip | ||
if (js_controller_common_1.tools.isObject(this.currentNotifications[scope])) { | ||
if (tools.isObject(this.currentNotifications[scope])) { | ||
for (const _category of Object.keys(this.currentNotifications[scope])) { | ||
@@ -304,3 +298,3 @@ const categoryCounter = Object.keys(this.currentNotifications[scope][_category]).length; | ||
try { | ||
this.currentNotifications = fs_extra_1.default.readJSONSync(path_1.default.join(this.dataDir, 'notifications.json')); | ||
this.currentNotifications = fs.readJSONSync(path.join(this.dataDir, 'notifications.json')); | ||
} | ||
@@ -317,3 +311,3 @@ catch (e) { | ||
try { | ||
fs_extra_1.default.writeJSONSync(path_1.default.join(this.dataDir, 'notifications.json'), this.currentNotifications); | ||
fs.writeJSONSync(path.join(this.dataDir, 'notifications.json'), this.currentNotifications); | ||
} | ||
@@ -444,3 +438,2 @@ catch (e) { | ||
} | ||
exports.NotificationHandler = NotificationHandler; | ||
//# sourceMappingURL=notificationHandler.js.map |
@@ -1,2 +0,2 @@ | ||
export declare function getObjectsConstructor(): any; | ||
export declare function getObjectsConstructor(): Promise<any>; | ||
//# sourceMappingURL=objects.d.ts.map |
@@ -1,31 +0,5 @@ | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getObjectsConstructor = void 0; | ||
const fs = __importStar(require("fs-extra")); | ||
const js_controller_common_1 = require("@iobroker/js-controller-common"); | ||
function getObjectsConstructor() { | ||
const config = fs.readJSONSync(js_controller_common_1.tools.getConfigFileName()); | ||
import fs from 'fs-extra'; | ||
import { tools } from '@iobroker/js-controller-common'; | ||
export async function getObjectsConstructor() { | ||
const config = fs.readJSONSync(tools.getConfigFileName()); | ||
if (!config.objects) { | ||
@@ -35,11 +9,11 @@ config.objects = { type: 'jsonl' }; | ||
try { | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
return require(`@iobroker/db-objects-${config.objects.type}`).Client; | ||
const Client = (await import(`@iobroker/db-objects-${config.objects.type}`)).Client; | ||
return Client; | ||
} | ||
catch { | ||
console.error(`Installation broken or unknown objects type: ${config.objects.type} configured.`); | ||
catch (e) { | ||
console.error(e.stack); | ||
console.error(`Installation broken or unknown objects type: ${config.objects.type} configured`); | ||
process.exit(101); | ||
} | ||
} | ||
exports.getObjectsConstructor = getObjectsConstructor; | ||
//# sourceMappingURL=objects.js.map |
@@ -1,2 +0,2 @@ | ||
export declare function getStatesConstructor(): any; | ||
export declare function getStatesConstructor(): Promise<any>; | ||
//# sourceMappingURL=states.d.ts.map |
@@ -1,31 +0,5 @@ | ||
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
var desc = Object.getOwnPropertyDescriptor(m, k); | ||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { | ||
desc = { enumerable: true, get: function() { return m[k]; } }; | ||
} | ||
Object.defineProperty(o, k2, desc); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getStatesConstructor = void 0; | ||
const fs = __importStar(require("fs-extra")); | ||
const js_controller_common_1 = require("@iobroker/js-controller-common"); | ||
function getStatesConstructor() { | ||
const config = fs.readJSONSync(js_controller_common_1.tools.getConfigFileName()); | ||
import fs from 'fs-extra'; | ||
import { tools } from '@iobroker/js-controller-common'; | ||
export async function getStatesConstructor() { | ||
const config = fs.readJSONSync(tools.getConfigFileName()); | ||
if (!config.states) { | ||
@@ -35,6 +9,7 @@ config.states = { type: 'jsonl' }; | ||
try { | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
return require(`@iobroker/db-states-${config.states.type}`).Client; | ||
const Client = (await import(`@iobroker/db-states-${config.states.type}`)).Client; | ||
return Client; | ||
} | ||
catch { | ||
catch (e) { | ||
console.error(e.stack); | ||
console.error(`Installation broken or unknown states type: ${config.states.type} configured.`); | ||
@@ -44,3 +19,2 @@ process.exit(101); | ||
} | ||
exports.getStatesConstructor = getStatesConstructor; | ||
//# sourceMappingURL=states.js.map |
@@ -7,3 +7,3 @@ /** | ||
*/ | ||
export declare function statesDbHasServer(dbType: string): boolean; | ||
export declare function statesDbHasServer(dbType: string): Promise<boolean>; | ||
/** | ||
@@ -17,3 +17,3 @@ * Allows to find out if a given objects dbType offers a server which runs on this host and listens (locally or globally/by IP) | ||
*/ | ||
export declare function isLocalObjectsDbServer(dbType: string, host: string | string[], checkIfLocalOnly?: boolean): boolean; | ||
export declare function isLocalObjectsDbServer(dbType: string, host: string | string[], checkIfLocalOnly?: boolean): Promise<boolean>; | ||
/** | ||
@@ -27,3 +27,3 @@ * Allows to find out if a given states dbType offers a server which runs on this host and listens (locally or globally/by IP) | ||
*/ | ||
export declare function isLocalStatesDbServer(dbType: string, host: string | string[], checkIfLocalOnly?: boolean): boolean; | ||
export declare function isLocalStatesDbServer(dbType: string, host: string | string[], checkIfLocalOnly?: boolean): Promise<boolean>; | ||
/** | ||
@@ -35,3 +35,3 @@ * Allows to find out if a given objects dbType offers a server or not | ||
*/ | ||
export declare function objectsDbHasServer(dbType: string): boolean; | ||
export declare function objectsDbHasServer(dbType: string): Promise<boolean>; | ||
//# sourceMappingURL=tools.d.ts.map |
@@ -1,5 +0,2 @@ | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.objectsDbHasServer = exports.isLocalStatesDbServer = exports.isLocalObjectsDbServer = exports.statesDbHasServer = void 0; | ||
const js_controller_common_1 = require("@iobroker/js-controller-common"); | ||
import { tools } from '@iobroker/js-controller-common'; | ||
/** | ||
@@ -11,6 +8,6 @@ * Allows to find out if a given states dbType offers a server or not | ||
*/ | ||
function statesDbHasServer(dbType) { | ||
export async function statesDbHasServer(dbType) { | ||
try { | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
return !!require(`@iobroker/db-states-${dbType}`).Server; | ||
const states = await import(`@iobroker/db-states-${dbType}`); | ||
return !!states.Server; | ||
} | ||
@@ -21,3 +18,2 @@ catch { | ||
} | ||
exports.statesDbHasServer = statesDbHasServer; | ||
/** | ||
@@ -31,4 +27,5 @@ * Allows to find out if a given objects dbType offers a server which runs on this host and listens (locally or globally/by IP) | ||
*/ | ||
function isLocalObjectsDbServer(dbType, host, checkIfLocalOnly = false) { | ||
if (!objectsDbHasServer(dbType)) { | ||
export async function isLocalObjectsDbServer(dbType, host, checkIfLocalOnly = false) { | ||
const hasServer = await objectsDbHasServer(dbType); | ||
if (!hasServer) { | ||
return false; // if no server it can not be a local server | ||
@@ -39,10 +36,9 @@ } | ||
} | ||
let result = host === 'localhost' || js_controller_common_1.tools.isLocalAddress(host); // reachable locally only | ||
let result = host === 'localhost' || tools.isLocalAddress(host); // reachable locally only | ||
if (!checkIfLocalOnly) { | ||
const ownIps = js_controller_common_1.tools.findIPs(); | ||
result = result || js_controller_common_1.tools.isListenAllAddress(host) || ownIps.includes(host); | ||
const ownIps = tools.findIPs(); | ||
result = result || tools.isListenAllAddress(host) || ownIps.includes(host); | ||
} | ||
return result; | ||
} | ||
exports.isLocalObjectsDbServer = isLocalObjectsDbServer; | ||
/** | ||
@@ -56,4 +52,5 @@ * Allows to find out if a given states dbType offers a server which runs on this host and listens (locally or globally/by IP) | ||
*/ | ||
function isLocalStatesDbServer(dbType, host, checkIfLocalOnly = false) { | ||
if (!statesDbHasServer(dbType)) { | ||
export async function isLocalStatesDbServer(dbType, host, checkIfLocalOnly = false) { | ||
const hasServer = await statesDbHasServer(dbType); | ||
if (!hasServer) { | ||
return false; // if no server it can not be a local server | ||
@@ -64,10 +61,9 @@ } | ||
} | ||
let result = host === 'localhost' || js_controller_common_1.tools.isLocalAddress(host); // reachable locally only | ||
let result = host === 'localhost' || tools.isLocalAddress(host); // reachable locally only | ||
if (!checkIfLocalOnly && !Array.isArray(host)) { | ||
const ownIps = js_controller_common_1.tools.findIPs(); | ||
result = result || js_controller_common_1.tools.isListenAllAddress(host) || ownIps.includes(host); | ||
const ownIps = tools.findIPs(); | ||
result = result || tools.isListenAllAddress(host) || ownIps.includes(host); | ||
} | ||
return result; | ||
} | ||
exports.isLocalStatesDbServer = isLocalStatesDbServer; | ||
/** | ||
@@ -79,12 +75,12 @@ * Allows to find out if a given objects dbType offers a server or not | ||
*/ | ||
function objectsDbHasServer(dbType) { | ||
export async function objectsDbHasServer(dbType) { | ||
try { | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
return !!require(`@iobroker/db-objects-${dbType}`).Server; | ||
const objects = await import(`@iobroker/db-objects-${dbType}`); | ||
return !!objects.Server; | ||
} | ||
catch { | ||
catch (e) { | ||
console.error(e); | ||
throw new Error(`Installation error or unknown objects database type: ${dbType}`); | ||
} | ||
} | ||
exports.objectsDbHasServer = objectsDbHasServer; | ||
//# sourceMappingURL=tools.js.map |
{ | ||
"name": "@iobroker/js-controller-common-db", | ||
"version": "5.0.20-alpha.0-20240409-d68ed299", | ||
"type": "module", | ||
"version": "5.0.20-alpha.0-20240418-165fc4c8", | ||
"engines": { | ||
@@ -12,9 +13,9 @@ "node": ">=12.0.0" | ||
"dependencies": { | ||
"@iobroker/db-objects-file": "5.0.20-alpha.0-20240409-d68ed299", | ||
"@iobroker/db-objects-jsonl": "5.0.20-alpha.0-20240409-d68ed299", | ||
"@iobroker/db-objects-redis": "5.0.20-alpha.0-20240409-d68ed299", | ||
"@iobroker/db-states-file": "5.0.20-alpha.0-20240409-d68ed299", | ||
"@iobroker/db-states-jsonl": "5.0.20-alpha.0-20240409-d68ed299", | ||
"@iobroker/db-states-redis": "5.0.20-alpha.0-20240409-d68ed299", | ||
"@iobroker/js-controller-common": "5.0.20-alpha.0-20240409-d68ed299", | ||
"@iobroker/db-objects-file": "5.0.20-alpha.0-20240418-165fc4c8", | ||
"@iobroker/db-objects-jsonl": "5.0.20-alpha.0-20240418-165fc4c8", | ||
"@iobroker/db-objects-redis": "5.0.20-alpha.0-20240418-165fc4c8", | ||
"@iobroker/db-states-file": "5.0.20-alpha.0-20240418-165fc4c8", | ||
"@iobroker/db-states-jsonl": "5.0.20-alpha.0-20240418-165fc4c8", | ||
"@iobroker/db-states-redis": "5.0.20-alpha.0-20240418-165fc4c8", | ||
"@iobroker/js-controller-common": "5.0.20-alpha.0-20240418-165fc4c8", | ||
"fs-extra": "^11.1.0" | ||
@@ -36,4 +37,4 @@ }, | ||
"scripts": { | ||
"build": "tsc -b tsconfig.build.json", | ||
"postbuild": "esm2cjs --in build/esm --out build/cjs -l error && cpy ./**/*.d.ts ./build/cjs/ --cwd=build/esm/" | ||
"build": "tsc -b tsconfig.build.json && tsc-alias", | ||
"postbuild": "esm2cjs --in build/esm --out build/cjs -l error -t node18 && cpy ./**/*.d.ts ./build/cjs/ --cwd=build/esm/" | ||
}, | ||
@@ -57,3 +58,3 @@ "main": "build/cjs/index.js", | ||
], | ||
"gitHead": "177223a8779da419012abbbff883d3cc649045d0" | ||
"gitHead": "ba7b732f23ddf0da772e23ed6175185ec204ee6b" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
6
Yes
165355
1462
+ Added@iobroker/db-base@5.0.20-alpha.0-20240418-165fc4c8(transitive)
+ Added@iobroker/db-objects-file@5.0.20-alpha.0-20240418-165fc4c8(transitive)
+ Added@iobroker/db-objects-jsonl@5.0.20-alpha.0-20240418-165fc4c8(transitive)
+ Added@iobroker/db-objects-redis@5.0.20-alpha.0-20240418-165fc4c8(transitive)
+ Added@iobroker/db-states-file@5.0.20-alpha.0-20240418-165fc4c8(transitive)
+ Added@iobroker/db-states-jsonl@5.0.20-alpha.0-20240418-165fc4c8(transitive)
+ Added@iobroker/db-states-redis@5.0.20-alpha.0-20240418-165fc4c8(transitive)
+ Added@iobroker/js-controller-common@5.0.20-alpha.0-20240418-165fc4c8(transitive)
- Removed@iobroker/db-base@5.0.20-alpha.0-20240409-d68ed299(transitive)
- Removed@iobroker/db-objects-file@5.0.20-alpha.0-20240409-d68ed299(transitive)
- Removed@iobroker/db-objects-jsonl@5.0.20-alpha.0-20240409-d68ed299(transitive)
- Removed@iobroker/db-objects-redis@5.0.20-alpha.0-20240409-d68ed299(transitive)
- Removed@iobroker/db-states-file@5.0.20-alpha.0-20240409-d68ed299(transitive)
- Removed@iobroker/db-states-jsonl@5.0.20-alpha.0-20240409-d68ed299(transitive)
- Removed@iobroker/db-states-redis@5.0.20-alpha.0-20240409-d68ed299(transitive)
- Removed@iobroker/js-controller-common@5.0.20-alpha.0-20240409-d68ed299(transitive)
Updated@iobroker/db-objects-file@5.0.20-alpha.0-20240418-165fc4c8
Updated@iobroker/db-objects-jsonl@5.0.20-alpha.0-20240418-165fc4c8
Updated@iobroker/db-objects-redis@5.0.20-alpha.0-20240418-165fc4c8
Updated@iobroker/db-states-file@5.0.20-alpha.0-20240418-165fc4c8
Updated@iobroker/db-states-jsonl@5.0.20-alpha.0-20240418-165fc4c8
Updated@iobroker/db-states-redis@5.0.20-alpha.0-20240418-165fc4c8
Updated@iobroker/js-controller-common@5.0.20-alpha.0-20240418-165fc4c8