![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
@iobroker/db-objects-file
Advanced tools
The Library contains the Database classes for File based objects database client and server.
The Library contains the Database classes for File based objects database client and server.
The objects db client is always a redis client, but if the database type is file, it will communicate with a built-in redis simulator instead of a real redis db.
In the js-controller we use ioredis, the library supports all redis commands by simply calling them on the client instance, like redis.set("foo", "bar")
.
For an explanation of the commands in native redis, we refer to the redis documentation.
Currently, the following commands are supported by the simulator for objects db:
The simulator supports four different namespaces:
cfg.f.
)cfg.o.
)cfg.s.
)meta.
)Command | State of integration | namespace |
---|---|---|
quit | full | independent |
script | partial | independent |
evalsha | full | independent |
publish | full | objects, meta |
mget | full | objects, files |
get | full | objects, files, meta |
set | full | objects, files, meta |
del | full | objects, files |
exists | full | objects, files, sets |
scan | full | objects, files, sets |
keys | full | objects, files, sets |
psubscribe | full | objects, meta |
punsubscribe | full | objects |
config | dummy | independent |
client | partial | independent |
multi | dummy | independent |
exec | dummy | independent |
sadd | dummy | independent |
srem | dummy | independent |
sscan | full | objects, files, sets |
Command | State of integration |
---|---|
mget | full |
get | full |
set | full |
rename | full |
del | full |
exists | full |
scan | full |
keys | full |
This will close the connection.
When receiving a script, the server mocks the methods load
and exists
, load will store a func
or design
script in memory. On an exists
request, the server will return all known scripts.
Evalsha can be used to execute a stored script.
On publish the server will publish to all clients who have subscribed to the objects, just like redis does.
mget
is used to receive multiple objects/files from the server.
get
is used to receive a single object/file from the server.
set
is used to set an object/file to the database.
rename
allows renaming a file
.
del
deletes a given object/file from the db.
exists
checks if a given object/file exists in the database. For sets this is just a dummy.
scan
is just like keys
and returns all matching keys, but addtionally it returns the counter (always 0) to satisfy the redis client.
For sets this is just a dummy.
It returns all matching keys. For sets this is just a dummy.
Subscribes for a pattern to receive object changes.
Unsubscribes a pattern to no longer receive object changes.
Mainly a dummy, just sends a positive response if lua-time-limit
change received.
Is used to handle setname
and getname
requests. setname
is used to change the logging namespace. On getname
the server will respond with the current connection name, which has been set via getname
.
Just a dummy, responds with OK
.
Just a dummy, responds with OK
.
Just a dummy, always responds with 1
, which means we have added the item to the set.
Just a dummy, always responds with 1
, which means we have removed the item from set.
Does the same as scan
.
Apache 2.0 Copyright 2018-2021 bluefox dogafox@gmail.com
FAQs
The Library contains the Database classes for File based objects database client and server.
The npm package @iobroker/db-objects-file receives a total of 5,697 weekly downloads. As such, @iobroker/db-objects-file popularity was classified as popular.
We found that @iobroker/db-objects-file demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.