Fixes#3682
The treeList keyboard handling was consuming the event - used
to select the item in the list.
The fix here adds a 'selectable' flag on the treeList that can
be used to disabled (=false) the keyboard selection of items.
A proof-of-concept which needs a bit more UI polish, but capturing the
current code for the future. We do not add actions to the list, so the code
is unused.
Adds new resources (loose files, non NR pkgs, NR modules, NR Plugins)
Adds new tests
#getNodeFiles - new tests below
√ Finds nodes and icons only in nodesDir with files, icons and valid node-red packages
√ Should not find node-red node in nodesDir with files, icons and valid node-red packages
√ Should not find node-red node in nodesDir when regular package and valid node-red packages
#getModuleFiles - new tests below
√ gets a nodes module files
√ Finds only 1 node-red node in nodesDir amongst legacy nodes and regular nodes
√ Finds a node-red node in nodesDir with a sub dir containing valid node-red package
√ Finds 2 node-red node and 1 plugin in nodesDir (in root of dir)
√ Finds 2 node-red node and 1 plugin in nodesDir pointing to a node_modules dir
* Save and restore editor selection(s), cursor(s), scroll pos etc
* Improve focusing of editor at appropriate times
* Works with both ace and monaco
* Backwards compatible and (almost) fully functional with existing nodes
If the user doesn't have a defined home dir (env var `HOME`,
`USERPROFILE` or `HOMEPATH`) and the `userDir` is not passed on the
command line then we shouldn't start as we don't know where to copy the
default `settings.js` file to or where to store flows
fixes#3539
- ensure node settings are auto updated to correct typedInput type/value
- improve label
- ensure str and env are considered "static" (keep stream open)
* add minInput - fixes#3479
* Add missing entries for catch, status, tcp, udp, websocket
* corrections for http request
* match visibility improvements (mono font + match color)
* match to variable source as well as variable name
- Wrap HTML node script in IFFE (isolate module level vars & functions)
- Add UI elements for setting headers in http req node edit form
- Update built in help
- Add tests
- if a node is behind scrollbar, it is not scrolled into view
- jQuery `.width()` & `.width()` actually includes the scroll bar.
- using native `clientWidth` and `clientHeight` fixes this
- rename action core:search-prev for core:search-previous
- Ensure search counter in toolbar is i18n ready
- remember (and display in toolbar) the search term
- recall the search term when magnifier clicked
- esnure currently flashing node is cancelled before flashing next node
- Add "flash" for flow tabs revealed by a search
- Fix "flash" for config nodes revealed by a search
- Remove msg.target by object
- Remove :: scoping
- Always try to locate matching link-in on same flow first
- If not found, look on all flows
- if 1 found, call it
- If more than 1 link target found, raise error
- fixes#3389
- adds additional info to aid sourcing the issue
- removes lots of undefined info when node type is incorrect
- stores and reports original stack before internal try/catch exception
- ensure this._flow is something before attempting to call `handleError`
`msg.hasOwnProperty("status")` might make the debug node crash/produce an error if the payload was created with `Object.create(null)`.
This is the case e.g. for `ini` (to parse INI files), an official NPM node:
4f289946b3/lib/ini.js (L63)
My Node-RED node `node-red-contrib-parser-ini`, which is using that library, was hit by this bug and I had to ship a workaround
fe6b1eb4b1/parser-ini.js (L14)
The `msg.hasOwnProperty("xxx")` construct should not be used since ECMAScript 5.1.
ESLint advises in the same direction https://eslint.org/docs/rules/no-prototype-builtins
This patch was produced using the following regex:
Search: `\b([\w.]+).hasOwnProperty\(`
Replace: `Object.prototype.hasOwnProperty.call($1, `
This could be applied more gobally if desired.
```
editorTheme: {
page: {
tabicon: {
icon: "full/path/of/tabicon.svg",
colour: "#008f00"
}
}
```
The old way still works also (but doesn't allow the tabicon to
be coloured:
```
editorTheme: {
page: {
tabicon: "full/path/of/tabicon.svg"
}
}
```
Fixes#3082
GOT will throw errors for non-successful http responses by default. We need to turn that
off to be consistent with the 1.x behaviour using the request module
We still get [object Object] appearing in the palette manager sometimes.
This fix nails down another cause - where the err property has a 'code'
but no 'message' property. This happens with the type_already_registered
error
The node adds `shell` to `execOpts` if `/bin/bash` exists. Clearly it
has not existed in Travis or running locally - but it does exist
on gh-action runner, so the test was failing.
This is silly. Turns out setting options at a top level app
does not percolate down to sub apps (and vice versa). You
have to apply the options to ALL express apps.
These have been removed because the mock proxy doesn't
support using the HTTP CONNECT verb and the new Got based
http-request node only uses CONNET for proxied content
- revert refactoring of building editableList (not needed now)
- remove node button modifier click & tray.show feature
- add inject button to editableList [buttons] array
- add `id` option to editableList to permit DOM access after creation
- get the new inject button via its `id` and float it to the right
- removed the popup tray buttons i18n entries
If a node provides a .js file that registers a type
but its .html is empty, then the editor will know about
the type, but there will be no node definition.
This fix handles that in some of the utility functions
for generating node appearance.
This wasn't an exhaustive check for these things - just
some obvious candidates that I hit in testing 'bad' nodes
- as the javascript model is singleton, need to disable
syntax checking when editor not focused
(support multiple instances of js editor (function node))
- refactors createEditor out to own code files
- moves ace editor to own code file
- adds monaco editor to own code file
- add monaco bootstrap
- update mst to include monaco asset
- update grunt to include new files and integrate
If you import a node whose z value is a known existing tab, it is getting
imported to that tab, rather than the expected behaviour of being imported
to the current tab.
This commit fixes that by checked if the node is being imported to a tab
that was included in the import, rather than pre-existing.
and warn if not set (as if anyone reads warnings)
Move setting to top of settings.js as it will be edited more often.
Default behaviour will still work
(needs translations)
behaviour is different. May cause minor breakage.
if flush arrives with payload that is now included with the flushed data so no data is lost. Previously any payload was dropped.
* Remove unused messages in message catalog
* Support msg.rate in delay node
* Support nodeMessageBufferMaxLength in delay node
* Add logging function for queue size
* Support msg.nodeMessageBufferMaxLength
* Revert "Support msg.nodeMessageBufferMaxLength"
This reverts commit cc72f892f7.
* Improve logging function for delay node
* Add support for Messaging API to delay node
* Add documentation about msg.rate in delay node
* Add test cases for msg.rate in delay node
Co-authored-by: Dave Conway-Jones <dceejay@users.noreply.github.com>
The change in 1.3 where we ensure config nodes are closed last broke this behaviour. Previously, the config node would get closed triggering the close message. With the new 1.3 behaviour, the flow nodes are stopped and as soon as the last flow node deregisters itself, the broker node would disconnect without sending the close message.
The fix is to send the close message as part of the deregister flow as that will handle all cases properly
* started rework of translation to DE, added translation rules and dictionary
* reworks DE translation of JSONata /editor-client/locales/de/jsonata.json
* rework DE translation of editor-client
* moved /editor-client/locales/de/README.md to Wiki https://github.com/node-red/node-red/wiki/Design:-i18n-de
* Update README.md
* Update README.md
* Create README.md
* Create README.md
* fixed#2: "Sie müssen ..., um ... zu können"
* fixed#3
* fixed#4 and removed unnecessary spaces
* fixed#5
* fixed#6, added missing dots, removed unnecessary spaces
* fixed#7, #8, #9
* fixed#10, #11, #12, #13, #14, #15
* fixed#17, #18, 19
* fixed#19
* moved /editor-client/locales/de/dictionary.csv to https://github.com/heikokue/node-red-designs/blob/i18n-de/designs/i18n-de/dictionary.csv
* reworked DE translation of runtime
* fine-tuned DE translation of editor-client
* reworked DE translation of common nodes, fine-tuned editor-client
* reworked DE translation of all nodes, fine-tuned editor-client, intotips, jsonata & runtime
* small i18n fixes
PR #2821 could not be completed due to different email addresses used for it's commits.
This new branch is meant to be used as a new PR to replace the failed one
This adds lots of commented out code that provides a settings panel
to add new library sources. It is incomplete as it doesn't actually
add/update the library sources on the runtime.
For 1.3, I'm focussing on allowing additional sources get added
via the settings file only. I've done enough work on the editor
side to convince myself more work is needed than I can justify
at this time on what is otherwise not going to be a widely
used feature.
Not sure this is 100% the right approach. If a subflow module has a dependency
it should be in the subflow's package.json and therefore installed next to the
subflow module in ~/.node-red/node_modules.
By treating it as a 'normal' external module, it will be dynamically installed
in ~/.node-red/externalModules. That then exposes the module to the user
who won't know why its there and may remove it.
It would be better to allow nodes inside a subflow module to require
from ~/.node-red/node_modules and not limit it to the externalModules
dir. The hard part is knowing when to do that.
* fixed#2790 swapped description of encodeUrl/encodeUrlComponent and decodeUrl/decodeUrlComponent
* fixed#2790 swapped description of encodeUrl/encodeUrlComponent and decodeUrl/decodeUrlComponent also in ja, ru, zh-CN and zh-TW
* Fix for HTTP-Request not sending body for GET
Background in SO question:
https://stackoverflow.com/q/60356824/504554
* Prevent crash when coreNodesDir points to empty dir
This should prevent a crash when you point to an empty core nodes
directory.
* Matching upstream master
Adds a `_` function to the plugin definition object that will automatically
prepend the plugin's module namespace to any call. This saves the plugin
from having to prepend its namespace all of the time.
* add the ability to set the projects path
* Update packages/node_modules/@node-red/runtime/locales/en-US/runtime.json
use directory to keep consistency with the project
Co-authored-by: Nick O'Leary <nick.oleary@gmail.com>
* Update packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/index.js
only show the projects directory is projects are enabled
Co-authored-by: Nick O'Leary <nick.oleary@gmail.com>
* use "directory" instead of "folder" to keep consistency with the Node-RED project
Co-authored-by: Nick O'Leary <nick.oleary@gmail.com>
The exec and events components are common components that
are used by both runtime and registry. It makes sense to
move them into the util package.
This also adds some docs to the registry module
The grunt-nodemon module we were using is no longer
maintained and is stuck on a 1.x version of nodemon.
At that version, node-red doesn't restart properly
due to our increased signal handling in the core.
This change removes grunt-nodemon and replaces it
with nodemon itself, with a custom task to wrap it
that does the same work as grunt-nodemon was doing.
In the case of an "Unmatched {" error, it flags the { on
the line we wrap the user's code in. That doesn't help the
user.
This fix moves such an error to the first valid { in the file.
It handles ignoring { in comments or strings. It fails to ignore
{ inside regex. But that's an edge case on top of an edge case.
This is a slightly scary set of changes to be making. It overhauls
how the view is rendered.
Rather than use d3 for every single part of generating the view,
we new use native DOM functions as much as possible.
d3 is still used for the basic heavy lifting of working out what
nodes/links etc need to be added/removed from the view. But once
it comes to rendering them, d3 is side-lined as much as possible.
There's room for further improvement. This change focusses on Nodes
and Links. It has not touched groups, subflow-ports and link-nodes.
Whenever a DOM element is modified, it causes the browser to re-examine
the whole hierarchy around the element to see if anything needs to change.
This can cause a lot of extra work if an element is added to the DOM and
then a lot of updates are applied to the element.
It is much better to get the element as close to its final state as
possible *before* adding it to the DOM.
- puts the node version check first
- validates the refresh interval and keeps it in valid range
- simplifies the error messages
- uses parseFloat not parseInt so we can use fractions of hour
Adds the actions:
- core:activate-all-debug-nodes
- core:activate-all-flow-debug-nodes
to match the deactivate* actions.
Also adds:
- core:activate-selected-debug-nodes
- core:deactivate-selected-debug-nodes
Adds a new httpAdmin route - /debug/(enable/disable) - that can be
use to bulk enable/disable nodes via HTTP Post.
Closes#2567
This ensures when the node:added event fires, all possible
changes have already been applied such as remapping node ids.
This avoids the need to emit a separate node:changed event.
All data items now get their `item.treeList` api added even if deferBuild is set.
This means the apis can be used regardless of whether the tree has built their
ui pieces.
Also adds a number of new api calls
Top-level methods:
- clearSelection - clears selection from the list
- filter(filterFunc) - filters the tree using the provided function
Data item functions:
- item.treeList.sortChildren(sortFunction)
- item.treeList.replaceElement(element)
This introduces a much more consistent set of events within the editor
for whenever a element is added, removed or modified.
The events emited on the `RED.events` event system. The event names
take the form: `"<thing>:<action>"`.
`<thing>` can be one of:
- nodes
- flows
- subflows
- groups
- links
`<action>` can be one of:
- add
- remove
- change
The payload of the events is the object in question.
There is also:
- flows:reorder - when tabs are reordered. Payload is array of flow ids.
- workspace:clear - when the workspace is emptied - part of switching projects
The `nodes:change` event was already used by RED.nodes.dirty() to cause
the Deploy button to become active. This renames that event to:
- workspace:dirty - Payload is boolean flag for the dirty state
This commit also updates the Palette to use the subflows:change event to
only redraw subflows that have actually changed rather than refresh them
all whenever one of them *might* have changed. This removes a noticable
flicker of the icon which was needlessly being redrawn.
Fixes#2513
If a node inside a subflow accessed its context object in its
constructor, the subflow-instance flow context would not yet
have been created. This would cause a place holder context
to get created on its behalf, but that place holder doesn't
have its parent set properly. This then breaks the usage
of $parent inside such a subflow.
This fix has changed it so flows (and subflows) create their
flow context as part of their initial creation. That ensures
it exists when individual nodes from the subflow are created,
allowing them to safely access their context.
This has also fixed a related issue where any attempt to use
$parent to access beyond the root parent would seemingly hang
as the callback was never being called. This would cause
messages to get stuck in flows. The fix ensures the callback
is used in the root context objects and undefined is returned.
This moves the expensive redraw code out of the event handling phase
and onto the browser's repaint phase. This makes the event handling
more responsive, particularly when dragging a large number of nodes.
It also removes lots of unnecessary anonymous functions in the redraw
code that should also improve performance.
* [CSV node] Add support for parsing empty strings and null values
* Add new lines at the end and fix script type.
* Last one script type fix
* Naming change
* Update page object of change node
* Support multiple node outputs in UI testing
* Add page object of switch node
* Add page objects of trigger and exec nodes
* Remove unnecessary code
* Update page object of trigger node to select time unit
* Add page objects of websocket nodes
* Support boolean as value in selectWithWait()
* Update page object of split node
* Merge page objects of mqtt nodes to make them same as original mqtt node file path
The function prepareJSONataExpression() does not take context store into account.
This causes problems when using typedInput fields and getting the value of a property based on its type using evaluateNodeProperty().
fixes#2469
this is a major version bump of https-proxy-agent, because they set engine to >6 and did some refactoring, which is ok for node-red.
all tests pass.
Fixes#2445
Continuing the arms race against Chrome's war on developers getting
to choose if a form should be autocompleted or not.
The honey-pot username/password fields we already had were being
ignored. This is because they were hidden.
This fix does three things:
- unhides the honey-pot inputs, but moves them offscreen so they won't be seen
- gives them dummy id's so Chrome thinks they are username/password fields
- updates our autocomplete setting to be the standards-compliant 'off' for all
the other browsers who adhere to the standard
This label is used for the user definable properties form-row. The word properties is duplicated with the tab description, but it best descrbies the form-rows content. If another name is chosen, this entry can be deleted.
Fixes#2358
This property can be used to identify the full path to the node that
logged a given message. If the node is inside a subflow (and maybe
nested many levels deep), this path can be used to help find the
node, rather than just the top-level subflow instance node.
A side-effect of this change is the Debug sidebar is now able to
show the message tools for a message coming from a deeply nested
subflow
Symptom- Observed that global context would not display in front end, the call returning 400.
Traced to an object in global which cause encodeObject to except.
This push catches that, and now global will display, but the object in question display as an error.
When using the file-in node and ‘a msg per line’ the last line does not get msg.topic passed.
In the
.on(‘end’, function() {
code (starting at line 334) the msg is created but no msg.topic is set. Adding
topic:msg.topic,
after line 343 (var m = { payload: spare,) fixes the issue.
Fixes an issue where, if the number of node outputs was changes
the node would resize, but the status text would not reposition
until a new status message arrived.
This change marks status as dirty whenever the node has been
edited, forcing it to be redrawn.
The grunt watch task is used by the grunt dev task that watches for
changes and auto rebuilds the editor js.
When running in dev mode, the editor will load the unminified version
of red.js. This means there is no point in running the uglify task to
generate the minified version. The uglify task tasks a few seconds and
if you do a couple rapid saves, the second will often not get built as
the previous uglify task was still running.
Removing it from the dev task shouldn't have any side effects. It still
forms part of the `grunt build` and `grunt release` tasks where it is
needed.
Having removed the ui test dependencies out of package.json
we can remove the 'allow failures' flag from the node 12 build.
Given how close Node 12 is to being LTS, we really need to pay
proper attention to it.
Given chromedriver was already an extra dependency that needed to
be manually installed, I have now moved all of the webdriver.io
dependencies out as well.
A new script has been added to install all of the ui test dependencies.
The Grunt file has been updated on how it checks for the missing
deps.
fixes#2240
It looks like the regex for the /nodes/... endpoints over matches.
I've added `^` to the start to anchor the matches to the start of the
URL.
If the label contains an img, the width calculation needs
to wait for the img to be loaded. This fix is a bit hacky
as it doesn't actually tie into the onload event, but should
be good enough
formData can only be Strings or Buffers - anything else will cause
errors. To help matters, we now look for invalid types and json-encode
them where needed.
When listing icons provided by a module, if there is a png and svg
with the same name, only the svg will be listed.
If a node asks for a png icon which is not known, but there is a
corresponding svg, that will be used instead.
Fixes#2216
This was broken when we switched from media-typer to content-type
modules for parsing the content-type header.
The content-type header can handle the field with parameters, but
does not do the type/sub-type parsing that media-typer does.
Our code relied on that extra bit of parsing to correctly
identify if the content should be parsed to String or kept as
a buffer.
The fix restores the use of media-typer, but using the result
of the content-type module to make sure it valid
formData can only be Strings or Buffers - anything else will cause
errors. To help matters, we now look for invalid types and json-encode
them where needed.
Currently, everytime the tab is switched, we recalculate the
width of every node. There's no need to do that as the width
will not have changed - unless it has changed, but then the
dirty/changed flag will be set on that one node and it will
get handled.
Also avoid endless added/removing an element to calculate the
dimenstions - keep it on the dom (keyed by className) and
positioned well away from the visible space.
This gets stored in localStorage of the browser which is not
ideal. This is because we load language catalogs before we
load user preferences - so if this was stored in the runtime,
the editor wouldn't know the user's preference until it was
too late to apply it.
This is likely good enough for now - may need to do something
more convoluted later on.
The way we dynamically added/removed event handlers for the
upgrade event was causing problems with the way sockjs (as
used by the worldmap node) tries to intercept the event.
This fix means the ws nodes won't ever remove the upgrade
listener - it gets added once when the first ws node is
deployed and will then remain until the last ws node is
removed and the runtime restarted.
* Authentication methods
* Authentication methods
* Authentication methods
* Support undefined auth type
* Support undefined auth type
* Apply basic auth on existing nodes
* Use password as bearer token
* Use password as bearer token
* Switch between password/token labels
* Bearer token abbreviation
* Separate token span
When Enter is pressed in a form, the browser will find the first
submittable element and trigger it. By default <button> elements
have type set to 'submit' which causes them to be targetted by
this behaviour.
Adding `type="button"` prevents this behaviour. This change
targets some main offenders - in particular the markdown toolbar.
There are of lots of other `<button>` elements without this attribute
set, so they need tidying up. Not currently aware of any others that
exist in a <Form> so may be immune from this behaviour.
Closes#1747
This was inspired by a PR from @mauriciom75 but implemented in a different way
due to some of the internal reworking done to Flow and Subflow in the dev branch
All contributors need to sign the OpenJS Foundation's Contributor License Agreement.
It is an online process and quick to do. If you raise a pull-request without
having signed the CLA, you will be prompted to do so automatically.
If you raise a pull-request without having signed the CLA, you will be prompted
to do so automatically.
### Code Branches
When raising a PR for a fix or a new feature, it is important to target the right branch.
-`master` - this is the main branch for the latest stable release of Node-RED. All bug fixes for that release should target this branch.
-`v1.x` - this is the maintenance branch for the 1.x stream. If a fix *only* applies to 1.x, then it should target this branch. If it applies to the current stable release as well, target `master` first. We will then decide if it needs to be back ported to the 1.x stream.
-`dev` - this is the branch for new feature development targeting the next milestone release.
"tip0":"Sie können die ausgewählten Knoten oder Verbindungen mit {{ core:delete-selection }} entfernen.",
"tip1":"Suche nach Knoten mit {{ core:search }}",
"tip2":"{{ core:toggle-sidebar }} schaltet die Ansicht dieser Seitenleiste ein.",
"tip3":"Sie können Ihre Palette von Knoten mit {{ core:manage-palette }} verwalten.",
"tip4":"Ihre Flow-Konfigurationsknoten werden in der Seitenleiste angezeigt. Es kann über das Menü oder mit {{ core:show-config-tab }} aufgerufen werden.",
"tip5":"Aktiviert oder inaktiviert diese Tipps von der Option in den Einstellungen",
"tip6":"Verschieben Sie die ausgewählten Knoten mit Hilfe der [left][up][down] und [right]Tasten. Halten Sie [Shift] gedrückt, um das Fenster weiter zu schieben",
"tip7":"Wenn Sie einen Knoten auf eine Verbindung ziehen, wird er in die Verbindung eingefügt.",
"tip8":"Die ausgewählten Knoten exportieren oder die aktuelle Registerkarte mit {{ core:show-export-dialog }}",
"tip9":"Importieren Sie einen Flow, indem Sie sein JSON in den Editor ziehen oder mit {{ core:show-import-dialog }}.",
"tip10":"[Umschalt] [Klicken] und ziehen Sie auf einen Knotenanschluss, um alle angeschlossenen Verbindungen oder nur die ausgewählte zu verschieben.",
"tip11":"Die Registerkarte \"Info\" mit {{ core:show-info-tab }} oder der Registerkarte \"Debug\" mit {{ core:show-debug-tab }} anzeigen",
"tip12":"[ctrl] [Klicken] in den Arbeitsbereich, um den Schnellhinzufügedialog zu öffnen.",
"tip13":"Halten Sie [ctrl] gedrückt, wenn Sie auf einem Knotenanschluss klicken, um eine Schnellverbindung zu aktivieren.",
"tip14":"Halten Sie [Umschalt] gedrückt, wenn Sie auf einen Knoten klicken, um auch alle verbundenen Knoten auszuwählen.",
"tip15":"Halten Sie [ctrl] gedrückt, wenn Sie auf einen Knoten klicken, um ihn aus der aktuellen Auswahl hinzuzufügen oder zu entfernen.",
"tip16":"Indexzungen wechseln mit {{ core:show-previous-tab }} und {{ core:show-next-tab }}",
"tip17":"Sie können die Änderungen im Editierrahmen des Knotens mit {{ core:confirm-edit-tray }} bestätigen oder sie mit {{ core:cancel-edit-tray }} abbrechen.",
"tip18":"Durch Drücken von {{ core:edit-selected-node }} wird der erste Knoten in der aktuellen Auswahl bearbeitet."
}
}
"info":{
"tip0":"Sie können die ausgewählten Nodes oder Verbindungen mit {{ core:delete-selection }} entfernen",
"tip1":"Sie können nach Nodes mit {{ core:search }} suchen",
"tip2":"{{ core:toggle-sidebar }} blendet die Seitenleiste ein/aus",
"tip3":"Sie können Ihre Node-Palette mit {{ core:manage-palette }} verwalten",
"tip4":"Ihre Flow-Konfigurationsnodes werden in der Seitenleiste angezeigt, die über das Menü oder mit {{ core:show-config-tab }} angezeigt werden kann",
"tip5":"Aktiviere oder deaktiviere diese Tipps in den Einstellungen im Tab 'Ansicht'",
"tip6":"Sie können die ausgewählten Nodes mit den [left]/[up]/[down]/[right]-Tasten verschieben. Wenn Sie dabei [Shift] gedrückt halten, können Sie den Fensterausschnitt verschieben.",
"tip7":"Wenn Sie ein Node auf eine Verbindung ziehen, wird es in die Verbindung eingefügt",
"tip8":"Sie können die ausgewählten Nodes oder den aktuellen Flow-Tab mit {{ core:show-export-dialog }} exportieren",
"tip9":"Sie können einen Flow importieren, indem Sie sein JSON in den Editor ziehen oder mittels {{ core:show-import-dialog }}",
"tip10":"Halten Sie [Shift] beim [Klicken] auf ein Node gedrückt, um auch alle verbundenen Nodes mit zu verschieben",
"tip11":"Sie können den Tab 'Info' mit {{ core:show-info-tab }} oder den Tab 'Debug' mit {{ core:show-debug-tab }} anzeigen lassen",
"tip12":"Halten Sie [Strg] beim [Klicken] in den Arbeitsbereich gedrückt, um den Schnellhinzufügedialog öffnen",
"tip13":"Halten Sie [Strg] beim [Klicken] auf einen Node-Anschluss gedrückt, um eine Verbindung nur durch kurzes [Klicken] (ohne Halten) zu verlegen",
"tip14":"Halten Sie [Shift] beim [Klicken] auf ein Node gedrückt, um auch alle verbundenen Nodes mit auszuwählen",
"tip15":"Halten Sie [Strg] beim [Klicken] auf ein Node gedrückt, um es zu der aktuellen Auswahl hinzuzufügen oder aus ihr zu entfernen",
"tip16":"Sie können die Flow-Tabs mit {{ core:show-previous-tab }} und {{ core:show-next-tab }} wechseln",
"tip17":"Sie können die Änderungen im Node-Editor mit {{ core:confirm-edit-tray }} bestätigen oder sie mit {{ core:cancel-edit-tray }} verwerfen",
"tip18":"Sie können mit {{ core:edit-selected-node }} den ersten Node in der aktuellen Auswahl bearbeiten"
"desc":"Transformiert den Parameter *arg* in eine Zeichenfolge mit den folgenden Transformationsregeln:\n\n-Zeichenfolgen bleiben unverändert\n-Funktionen werden in eine leere Zeichenfolge konvertiert\n-Numerische Unendlichkeit und NaN lösen einen Fehler aus, da sie nicht als JSON-Nummer dargestellt werden können.\n-Alle anderen Werte werden mit Hilfe der Funktion 'JSON.stringify' in eine JSON-Zeichenfolge konvertiert."
},
"$length":{
"args":"str",
"desc":"Gibt die Anzahl der Zeichen in der Zeichenfolge `str` zurück. Es wird ein Fehler ausgelöst, wenn `str` keine Zeichenfolge ist."
},
"$substring":{
"args":"str, start [, länge]",
"desc":"Gibt eine Zeichenfolge zurück, die die Zeichen im ersten Parameter `str` beginnend bei Position `start` (Null-Offset) enthält. Wenn \"length\" angegeben ist, enthält die Unterzeichenfolge maximal \"Länge\" Zeichen. Wenn `start` negativ ist, gibt es die Anzahl der Zeichen am Ende von `str` an."
},
"$substringBefore":{
"args":"str, chars",
"desc":"Gibt die Unterzeichenfolge vor dem ersten Auftreten der Zeichenfolge `chars` in `str` zurück. Falls `str` nicht `chars` enthält, gibt es `str` zurück."
},
"$substringAfter":{
"args":"str, chars",
"desc":"Gibt die Unterzeichenfolge nach dem ersten Auftreten der Zeichenfolge `chars` in `str` zurück. Falls `str` nicht `chars` enthält, gibt es `str` zurück."
},
"$uppercase":{
"args":"str",
"desc":"Gibt eine Zeichenfolge mit allen Zeichen von `str` zurück, die in Großbuchstaben konvertiert werden."
},
"$lowercase":{
"args":"str",
"desc":"Gibt eine Zeichenfolge mit allen Zeichen von `str` in Kleinbuchstaben zurück."
},
"$trim":{
"args":"str",
"desc":"Normalisiert und trimmt alle Leerzeichen in `str` durch Anwenden der folgenden Schritte:\n\n-Alle Tabulatorstopps, Wagenrückläufe und Zeilenvorschübe werden durch Leerzeichen ersetzt.\n-Zusammenhängende Folgen von Räumen werden auf einen einzigen Raum reduziert.\n-Trailing und führende Plätze werden entfernt.\n\nWenn 'str' nicht angegeben ist (d.h. Diese Funktion wird ohne Argumente aufgerufen), dann wird der Kontextwert als Wert von `str` verwendet. Es wird ein Fehler ausgelöst, wenn `str` keine Zeichenfolge ist."
},
"$contains":{
"args":"str, Muster",
"desc":"Gibt `true` zurück, wenn `str` durch `Muster` abgeglichen wird, sonst gibt es `false` zurück. Wenn 'str' nicht angegeben ist (d. h. Diese Funktion wird mit einem Argument aufgerufen), dann wird der Kontextwert als Wert von `str` verwendet. Der Parameter 'Muster' kann entweder eine Zeichenfolge oder ein regulärer Ausdruck sein."
},
"$split":{
"args":"str [, Trennzeichen] [, Grenzwert]",
"desc":"Teilt den Parameter 'str' in einem Array mit Unterzeichenfolgen. Es ist ein Fehler, wenn `str` keine Zeichenfolge ist.Der optionale Parameter 'Trennzeichen' gibt die Zeichen in der `str` an, um die es entweder als Zeichenfolge oder als regulärer Ausdruck geteilt werden soll. Wenn 'Trennzeichen' nicht angegeben wird, wird die leere Zeichenfolge angenommen, und `str` wird in ein Array aus einzelnen Zeichen aufgeteilt. Es handelt sich um einen Fehler, wenn `Trennzeichen' keine Zeichenfolge ist.Der optionale Parameter 'Grenzwert' ist eine Zahl, die die maximale Anzahl von Unterzeichenfolgen angibt, die in das resultierende Array eingeschlossen werden sollen. Alle zusätzlichen Unterzeichenfolgen werden gelöscht. Wenn 'Grenzwert' nicht angegeben wird, wird ' str` vollständig geteilt, wobei die Größe des resultierenden Arrays nicht begrenzt ist. Es handelt sich um einen Fehler, wenn `Grenzwert' keine nicht negative Zahl ist."
},
"$join":{
"args":"array [, Trennzeichen]",
"desc":"Verkettet ein Array von Komponentenzeichenfolgen in eine einzelne verkettete Zeichenfolge mit jeder Komponentenzeichenfolge, die durch den optionalen Parameter 'separator' getrennt ist. Es ist ein Fehler, wenn die Eingabe `Array` ein Element enthält, das keine Zeichenfolge ist. Wenn 'Trennzeichen' nicht angegeben wird, wird davon ausgegangen, dass es sich um eine leere Zeichenfolge handelt, d.h. Zwischen den Komponentenzeichenfolgen ist kein Trennzeichen vorhanden. Es handelt sich um einen Fehler, wenn `Trennzeichen' keine Zeichenfolge ist."
},
"$match":{
"args":"str, Muster [, Grenzwert]",
"desc":"Wendet die Zeichenfolge `str` an den regulären Ausdruck `Muster` an und gibt ein Array von Objekten zurück, wobei jedes Objekt Informationen zu jedem Vorkommen einer Übereinstimmung in `str` enthält."
},
"$replace":{
"args":"str, Muster, Ersatz [, Grenzwert]",
"desc":"Findet Vorkommen von `Muster` in `str` und ersetzt sie durch `Ersatz`.\n\nDer optionale Parameter 'Grenzwert' ist die maximale Anzahl an Ersetzungen."
},
"$now":{
"args":"",
"desc":"Generiert eine Zeitmarke im ISO-8601-kompatiblen Format und gibt sie als Zeichenfolge zurück."
},
"$base64encode":{
"args":"Zeichenfolge",
"desc":"Konvertiert eine ASCII-Zeichenfolge in eine Basis-64-Darstellung. Jedes Zeichen in der Zeichenfolge wird als Byte mit binären Daten behandelt. Dies setzt voraus, dass alle Zeichen in der Zeichenfolge im Bereich von 0x00 bis 0xFF liegen, der alle Zeichen in URI-codierten Zeichenfolgen enthält. Unicode-Zeichen außerhalb dieses Bereichs werden nicht unterstützt."
},
"$base64decode":{
"args":"Zeichenfolge",
"desc":"Konvertiert die Basis-64-codierten Byte in eine Zeichenfolge unter Verwendung einer UTF-8-Unicode-Codepage."
},
"$number":{
"args":"arg",
"desc":"Der Parameter 'arg' wird unter Verwendung der folgenden Regeln für das Casting in eine Zahl verwendet:\n\n-Zahlen bleiben unverändert\n-Zeichenfolgen, die eine Folge von Zeichen enthalten, die eine rechtliche JSON-Nummer darstellen, werden in diese Zahl konvertiert.\n-Alle anderen Werte bewirken, dass ein Fehler ausgelöst wird."
},
"$abs":{
"args":"Anzahl",
"desc":"Gibt den absoluten Wert des Parameters 'Zahl' zurück."
},
"$floor":{
"args":"Anzahl",
"desc":"Gibt den Wert von 'Zahl' auf die nächste ganze Zahl zurück, die kleiner oder gleich 'Zahl' ist."
},
"$ceil":{
"args":"Anzahl",
"desc":"Gibt den Wert von 'Zahl' auf die nächste ganze Zahl zurück, die größer oder gleich 'Zahl' ist."
},
"$round":{
"args":"Zahl [, Genauigkeit]",
"desc":"Gibt den Wert des Parameters `Zahl` zurück, der auf die Anzahl der Dezimalstellen gerundet wird, die durch den optionalen Parameter 'Genauigkeit' angegeben wird."
},
"$power":{
"args":"Basis, Exponent",
"desc":"Gibt den Wert von `Basis` potenziert mit `Exponent` zurück."
},
"$sqrt":{
"args":"Zahl",
"desc":"Gibt die Quadratwurzel des Werts des Parameters 'Zahl' zurück."
},
"$random":{
"args":"",
"desc":"Gibt eine Pseudozufallszahl größer-gleich null und kleiner als eins zurück."
},
"$millis":{
"args":"",
"desc":"Gibt die Anzahl der Millisekunden seit der Unix-Epoche (1. Januar 1970 (UTC)) als Zahl zurück. Alle Invocationen von `$millis()` innerhalb einer Auswertung eines Ausdrucks geben alle denselben Wert zurück."
},
"$sum":{
"args":"Array",
"desc":"Gibt die arithmetische Summe eines `Array` von Zahlen zurück. Es ist ein Fehler, wenn die Eingabe `Array` ein Element enthält, das keine Zahl ist."
},
"$max":{
"args":"Array",
"desc":"Gibt die maximale Anzahl in einem `Array` von Zahlen zurück. Es ist ein Fehler, wenn die Eingabe `Array` ein Element enthält, das keine Zahl ist."
},
"$min":{
"args":"Array",
"desc":"Gibt die minimale Zahl in einem `Array` von Zahlen zurück. Es ist ein Fehler, wenn die Eingabe `Array` ein Element enthält, das keine Zahl ist."
},
"$average":{
"args":"Array",
"desc":"Gibt den Mittelwert eines `Array` von Zahlen zurück. Es ist ein Fehler, wenn die Eingabe `Array` ein Element enthält, das keine Zahl ist."
},
"$boolean":{
"args":"arg",
"desc":"Castet das Argument mit den folgenden Regeln in einen Booleschen Wert:\n\n -` Boolean ': nicht geändert\n -` string`: leer: `false`\n -` string `: nicht leer: `true`\n -` Zahl`: ` 0 `: `falsch `\n -` Zahl `: Nicht-Null: `true`\n -` null `: `false`\n -` array`: leer: `false`\n -` array `: enthält ein Mitglied, das auf `true` setzt: `true`\n -` array `: alle Member werden in `false` umgesetzt: `false`\n -` object`: empty: `false`\n -` object `: non-empty: `true`\n -` Funktion`: `falsch `"
},
"$not":{
"args":"arg",
"desc":"Gibt den Booleschen Wert NOT für das Argument zurück. `arg` wird zuerst in einen Booleschen Wert umgesetzt."
},
"$exists":{
"args":"arg",
"desc":"Gibt den Booleschen Wert 'true' zurück, wenn der Ausdruck `arg` als Wert ausgewertet wird, oder 'false', wenn der Ausdruck nicht mit einem anderen Ausdruck übereinstimmt (z.B. ein Pfad zu einer nicht vorhandenen Feldreferenz)."
},
"$count":{
"args":"Array",
"desc":"Gibt die Anzahl der Elemente in dem Array zurück."
},
"$append":{
"args":"Array, Array",
"desc":"Hängen Sie zwei Arrays an."
},
"$sort":{
"args":"array [, Funktion]",
"desc":"Gibt ein Array zurück, das alle Werte im Parameter 'array' enthält, aber in der Reihenfolge sortiert wird.\n\nWenn ein Vergleichsoperator 'function' angegeben wird, muss es sich um eine Funktion handeln, die zwei Parameter benötigt:\n\n` Funktion(links, rechts) `\n\nDiese Funktion wird durch den Sortieralgorithmus aufgerufen, um zwei Werte links und rechts zu vergleichen. Wenn der Wert von links nach dem Wert von rechts in der gewünschten Sortierreihenfolge platziert werden soll, muss die Funktion den Booleschen Wert 'true' zurückgeben, um einen Auslagerungsspeicher anzuzeigen. Andernfalls muss 'false' zurückgegeben werden."
},
"$reverse":{
"args":"Array",
"desc":"Gibt ein Array zurück, das alle Werte aus dem Parameter 'array' enthält, aber in umgekehrter Reihenfolge."
},
"$shuffle":{
"args":"Array",
"desc":"Gibt ein Array zurück, das alle Werte aus dem Parameter ` array` enthält, aber in zufälliger Reihenfolge geschattiert ist."
},
"$zip":{
"args":"Array, ...",
"desc":"Gibt ein konvolviertes (gezipptes) Array zurück, das gruppierte Arrays von Werten aus den Argumenten `array1` ... `arrayN ' aus Index 0, 1, 2 ... enthält."
},
"$keys":{
"args":"Objekt",
"desc":"Gibt ein Array zurück, das die Schlüssel in dem Objekt enthält. Wenn es sich bei dem Argument um ein Array von Objekten handelt, enthält das zurückgegebene Array eine deduplizierte Liste aller Schlüssel in allen Objekten."
},
"$lookup":{
"args":"Objekt, Schlüssel",
"desc":"Gibt den Wert zurück, der dem Schlüssel im Objekt zugeordnet ist. Wenn es sich bei dem ersten Argument um ein Array von Objekten handelt, werden alle Objekte im Array durchsucht, und die Werte, die mit allen Vorkommen des Schlüssels verknüpft sind, werden zurückgegeben."
},
"$spread":{
"args":"Objekt",
"desc":"Teilt ein Objekt, das Schlüssel/Wert-Paare enthält, in ein Array von Objekten, von denen jedes ein einzelnes Schlüssel/Wert-Paar aus dem Eingabeobjekt hat. Wenn es sich bei dem Parameter um ein Array von Objekten handelt, enthält die resultierende Feldgruppe ein Objekt für jedes Schlüssel/Wert-Paar in jedem Objekt in der angegebenen Feldgruppe."
},
"$merge":{
"args":"array<object>",
"desc":"Mischt ein Array von ` Objekten ` in ein einzelnes ` Objekt `, das alle Schlüssel/Wert-Paare aus jedem der Objekte in dem Eingabe-Array enthält. Wenn eines der Eingabeobjekte denselben Schlüssel enthält, enthält das zurückgegebene Objekt den Wert des letzten Objekts in der Feldgruppe. Es handelt sich um einen Fehler, wenn das Eingabe-Array ein Element enthält, das kein Objekt ist."
},
"$sift":{
"args":"Objekt, Funktion",
"desc":"Gibt ein Objekt zurück, das nur die Schlüssel/Wert-Paare aus dem Parameter 'object' enthält, die die Prädikat `funktion ' erfüllen, die als zweiter Parameter übergeben wird.\n\nDie Funktion `function`, die als zweiter Parameter angegeben wird, muss die folgende Signatur aufweisen:\n\n`function(value [, key [, object]])`"
},
"$each":{
"args":"Objekt, Funktion",
"desc":"Gibt ein Array zurück, das die Werte enthält, die von der Funktion `function` zurückgegeben werden, wenn sie auf jedes Schlüssel/Wert-Paar im `object` angewendet werden."
},
"$map":{
"args":"Array, Funktion",
"desc":"Gibt ein Array zurück, das die Ergebnisse der Anwendung des Parameters `function ` auf jeden Wert im Parameter 'array' enthält.\n\nDie Funktion `function`, die als zweiter Parameter angegeben wird, muss die folgende Signatur aufweisen:\n\n`function(value [, index [, array]])`"
},
"$filter":{
"args":"Array, Funktion",
"desc":"Gibt ein Array zurück, das nur die Werte im Parameter 'array' enthält, die das Prädikat `funktion` erfüllen.\n\nDie Funktion `function`, die als zweiter Parameter angegeben wird, muss die folgende Signatur aufweisen:\n\n`function(value [, index [, array]])`"
},
"$reduce":{
"args":"array, function [, init]",
"desc":"Gibt einen aggregierten Wert zurück, der aus der Anwendung des Parameters `function 'nacheinander auf jeden Wert in' array` in Kombination mit dem Ergebnis der vorherigen Anwendung der Funktion angewendet wurde.\n\nDie Funktion muss zwei Argumente akzeptieren und verhält sich wie ein Infix-Operator zwischen jedem Wert innerhalb des ` Array`.\n\nDer optionale Parameter 'init' wird als Anfangswert in der Aggregation verwendet."
},
"$flowContext":{
"args":"Zeichenfolge [, Zeichenfolge]",
"desc":"Ruft eine Flusskontexteigenschaft ab.\n\nDies ist eine definierte Funktion vom Typ \"Node-RED\"."
},
"$globalContext":{
"args":"Zeichenfolge [, Zeichenfolge]",
"desc":"Ruft eine globale Kontexteigenschaft ab.\n\nDies ist eine definierte Funktion vom Typ \"Node-RED\"."
},
"$pad":{
"args":"string, width [, char]",
"desc":"Gibt eine Kopie der ` Zeichenfolge ` mit zusätzlichen Aufenthalten zurück, falls erforderlich, so dass die Gesamtzahl der Zeichen mindestens der absolute Wert des Parameters 'width' ist.\n\nWenn `width` eine positive Zahl ist, wird die Zeichenfolge nach rechts aufgefüllt. Wenn sie negativ ist, wird sie nach links geplisften.\n\nDas optionale Argument 'char' gibt die Padding-Zeichen an, die verwendet werden sollen. Wenn keine Angabe gemacht wird, wird standardmäßig der Wert für das Leerzeichen angenommen."
},
"$fromMillis":{
"args":"Anzahl",
"desc":"Konvertieren Sie eine Zahl, die Millisekunden seit der Unix-Epoche (1. Januar 1970 (UTC)) in eine Zeitmarkenzeichenfolge im ISO 8601-Format darstellt."
},
"$formatNumber":{
"args":"Zahl, Bild [, Optionen]",
"desc":"Transformiere die `Zahl` an eine Zeichenfolge und formatiert sie in eine dezimale Darstellung, wie in der 'Bild' -Zeichenfolge angegeben.\n\nDas Verhalten dieser Funktion ist mit der XPath/XQuery-Funktion fn:formatnummer konsistent, wie sie in der XPath F&O 3.1-Spezifikation definiert ist. Der Parameter für die Bildzeichenfolge definiert, wie die Zahl formatiert ist und hat die gleiche Syntax wie fn:format-number.\n\nDas optionale dritte Argument ` Optionen ` wird verwendet, um die standardmäßigen länderspezifischen Formatierungszeichen, wie z.B. das Dezimaltrennzeichen, zu überschreiben. Wenn dieses Argument angegeben wird, muss es sich um ein Objekt handeln, das Name/Wert-Paare enthält, die im Abschnitt mit dem Dezimalformat der XPath F&O 3.1-Spezifikation angegeben sind."
},
"$formatBase":{
"args":"Zahl [, Radix]",
"desc":"Transformiere die `Zahl` in eine Zeichenfolge und formatiert sie in eine ganze Zahl, die in der durch das `radix` -Argument angegebenen Zahlenbasis dargestellt wird. Wenn 'radix' nicht angegeben wird, wird standardmäßig die Basis 10 verwendet. 'radix` kann zwischen 2 und 36 liegen, andernfalls wird ein Fehler ausgelöst."
},
"$toMillis":{
"args":"Zeitmarke",
"desc":"Konvertieren Sie eine Zeichenfolge `Zeitmarke' im ISO 8601-Format in die Anzahl der Millisekunden seit der Unix-Epoche (1. Januar 1970 (UTC)) als Zahl. Es wird ein Fehler ausgelöst, wenn die Zeichenfolge nicht das richtige Format hat."
},
"$env":{
"args":"arg",
"desc":"Gibt den Wert einer Umgebungsvariablen zurück.\n\nDies ist eine definierte Funktion vom Typ \"Node-RED\"."
}
}
"$string":{
"args":"arg[, prettify]",
"desc":"Wandelt `arg` in eine Zeichenfolge um gemäß der folgenden Regeln:\n\n-Zeichenfolgen (string) bleiben unverändert\n-Funktionen werden in eine leere Zeichenfolge konvertiert\n-Numerische Unendlichkeit und NaN lösen einen Fehler aus, da sie nicht als JSON-Zahlenwert dargestellt werden können.\n-Alle anderen Werte werden mit Hilfe der Funktion `JSON.stringify` in eine JSON-Zeichenfolge konvertiert. Wenn `prettify` `true` ist, wird \"prettified\" JSON erzeugt. Z.B. Eine Zeile pro Feld und Zeilen werden eingeschoben basierend auf der Feldtiefe."
},
"$length":{
"args":"str",
"desc":"Gibt die Zeichenanzahl von `str` zurück. Es wird ein Fehler ausgelöst, wenn `str` keine Zeichenfolge ist."
},
"$substring":{
"args":"str, start [, length]",
"desc":"Gibt eine Teilzeichenfolge zurück, die die Zeichen in `str` beginnend bei Position `start` (Null-Offset) enthält. Wenn `length` vorgegeben ist, enthält die rückgegebene Zeichenfolge maximal die in `length` vorgegebene Zeichenanzahl. Wenn `start` negativ ist, werden die Zeichen vom Ende aus gezählt von `str` zurückgegeben."
},
"$substringBefore":{
"args":"str, chars",
"desc":"Gibt die Teilzeichenfolge vor dem ersten Auftreten der Zeichenfolge `chars` in `str` zurück. Falls `str` nicht `chars` enthält, wird `str` zurückgegeben."
},
"$substringAfter":{
"args":"str, chars",
"desc":"Gibt die Teilzeichenfolge nach dem ersten Auftreten der Zeichenfolge `chars` in `str` zurück. Falls `str` nicht `chars` enthält, wird `str` zurückgegeben."
},
"$uppercase":{
"args":"str",
"desc":"Gibt veränderten `str` zurück, bei dem allen Zeichen in Großbuchstaben umgewandelt wurden."
},
"$lowercase":{
"args":"str",
"desc":"Gibt veränderten `str` zurück, bei dem allen Zeichen in Kleinbuchstaben umgewandelt wurden."
},
"$trim":{
"args":"[str]",
"desc":"Normalisiert und trimmt alle Leerzeichen in `str` durch Anwenden der folgenden Schritte:\n\n-Alle Tabulatoren, Wagenrückläufe (returns) und Zeilenvorschübe (line feeds) werden durch Leerzeichen ersetzt.\n-Zusammenhängende Folgen von Leerzeichen werden auf ein einzelnes Leerzeichen reduziert.\n- Leerzeichen am Anfang und am Ende werden entfernt.\n\nWenn `str` nicht vorgegeben ist (d.h. diese Funktion wird ohne Parameter aufgerufen), dann wird der Kontextwert als Wert von `str` verwendet. Es wird ein Fehler ausgelöst, wenn `str` keine Zeichenfolge ist."
},
"$contains":{
"args":"str, pattern",
"desc":"Gibt `false` zurück, wenn `pattern` als Teilzeichenfolge in `str` enthalten ist, sonst gibt sie `false` zurück. Wenn `str` nicht vorgegeben ist (d. h. Diese Funktion wird mit einem Parameter aufgerufen), dann wird der Kontextwert als Wert von `str` verwendet. `pattern` kann entweder eine Zeichenfolge oder ein regulärer Ausdruck sein."
},
"$split":{
"args":"str [, separator] [, limit]",
"desc":"Teilt `str` in einem Array mit Teilzeichenfolgen. Es ergibt einen Fehler, wenn `str` keine Zeichenfolge ist.\n\nDer optionale Parameter `separator` gibt die Zeichen in der `str` an, anhand dem, vorgegeben entweder als Zeichenfolge oder als regulärer Ausdruck, `str` geteilt werden soll. Wenn `separator` nicht vorgegeben wird, wird ein leerer String als `separator` angenommen und `str` wird in ein Array aus einzelnen Zeichen aufgeteilt. Es handelt sich um einen Fehler, wenn `separator` leer ist.\n\nDer optionale Parameter `limit` ist eine Zahl, die die maximale Anzahl von Teilzeichenfolgen angibt, die in dem rückzugebenen Array enthalten sein sollen. Alle zusätzlichen Teilzeichenfolgen werden verworfen. Wenn `limit` nicht vorgegeben wird, wird `str` vollständig geteilt, wobei die Größe des resultierenden Arrays nicht begrenzt ist. Es handelt sich um einen Fehler, wenn `limit` eine negative Zahl ist."
},
"$join":{
"args":"array [, separator]",
"desc":"Verkettet ein Array von Zeichenfolgen zu einer einzigen Zeichenfolge, wobei die einzelnen Zeichenfolgen durch den optionalen Trennzeichen-Parameter `separator` getrennt sind. Es ergibt einen Fehler, wenn das `array` ein Element enthält, das keine Zeichenfolge ist. Wenn `separator` nicht vorgegeben wird, wird davon ausgegangen, dass es sich um eine leere Zeichenfolge handelt, d.h. zwischen den einzelnen Zeichenfolgen wird kein Trennzeichen eingefügt. Es handelt sich um einen Fehler, wenn `separator` keine Zeichenfolge ist."
},
"$match":{
"args":"str, pattern [, limit]",
"desc":"Wendet den regulären Ausdruck `pattern` auf die Zeichenfolge `str` an und gibt ein Array von Objekten zurück, die Informationen zu jedem Vorkommen von `pattern` in `str` enthält."
},
"$replace":{
"args":"str, pattern, replacement [, limit]",
"desc":"Findet Vorkommen von `pattern` in `str` und ersetzt sie durch `replacement`.\n\nDer optionale Parameter `limit` ist die maximale Anzahl an Ersetzungen."
},
"$now":{
"args":"",
"desc":"Generiert einen Zeitstempel im ISO-8601-kompatiblen Format und gibt sie als Zeichenfolge zurück."
},
"$base64encode":{
"args":"str",
"desc":"Konvertiert eine ASCII-Zeichenfolge `str` in eine Basis-64-Darstellung. Jedes Zeichen in `str` wird als Byte mit binären Daten behandelt. Dies setzt voraus, dass alle Zeichen in der Zeichenfolge im Bereich von 0x00 bis 0xFF liegen, der alle Zeichen in URI-codierten Zeichenfolgen enthält. Unicode-Zeichen außerhalb dieses Bereichs werden nicht unterstützt."
},
"$base64decode":{
"args":"str",
"desc":"Konvertiert den Basis-64-codierten `str` in eine Zeichenfolge unter Verwendung einer UTF-8-Unicode-Codepage."
},
"$number":{
"args":"arg",
"desc":"Wandelt `arg` unter Verwendung der folgenden Regeln in eine Zahl um:\n\n-Zahlen bleiben unverändert\n-Zeichenfolgen, die eine Folge von Zeichen enthalten, die einen echten JSON-Zahlenwert darstellen, werden in die entsprechende Zahl konvertiert.\n-Alle anderen Werte bewirken, dass ein Fehler ausgelöst wird."
},
"$abs":{
"args":"number",
"desc":"Gibt den absoluten Wert von `number` zurück."
},
"$floor":{
"args":"number",
"desc":"Gibt `number` abgerundet auf die nächste ganze Zahl zurück, die kleiner oder gleich `number` ist."
},
"$ceil":{
"args":"number",
"desc":"Gibt `number` aufgerundet auf die nächste ganze Zahl zurück, die größer oder gleich `number` ist."
},
"$round":{
"args":"number [, precision]",
"desc":"Gibt `number` gerundet auf die Anzahl der Nachkommastellen zurück, welche durch den optionalen Parameter `precision` vorgegeben ist."
},
"$power":{
"args":"base, exponent",
"desc":"Gibt `base` potenziert mit `exponent` zurück."
},
"$sqrt":{
"args":"number",
"desc":"Gibt die Quadratwurzel von `number` zurück."
},
"$random":{
"args":"",
"desc":"Gibt eine Pseudozufallszahl größer-gleich null und kleiner als eins zurück."
},
"$millis":{
"args":"",
"desc":"Gibt die aktuelle Anzahl der Millisekunden seit Beginn der Unix-Zeitrechnung (1. Januar 1970 UTC) als Zahl zurück. Alle Aufrufe von `$millis()` innerhalb der Auswertung eines Ausdrucks geben alle denselben Wert zurück."
},
"$sum":{
"args":"array",
"desc":"Gibt die arithmetische Summe eines `array` von Zahlen zurück. Es ergibt einen Fehler, wenn `array` ein Element enthält, das keine Zahl ist."
},
"$max":{
"args":"array",
"desc":"Gibt die größte Zahl von einem `array` von Zahlen zurück. Es ergibt einen Fehler, wenn `array` ein Element enthält, das keine Zahl ist."
},
"$min":{
"args":"array",
"desc":"Gibt die kleinste Zahl von einem `array` von Zahlen zurück. Es ergibt einen Fehler, wenn `array` ein Element enthält, das keine Zahl ist."
},
"$average":{
"args":"array",
"desc":"Gibt den Mittelwert eines `array` von Zahlen zurück. Es ergibt einen Fehler, wenn `array` ein Element enthält, das keine Zahl ist."
},
"$boolean":{
"args":"arg",
"desc":"Wandelt `arg` gemäß folgender Regeln in einen booleschen Wert um:\n\n- `Boolean`: unverändert\n- `string`: leer → `false`, nicht leer → `true`\n- `Zahl`: `0` → `falsch`, Nicht-Null → `true`\n- `null` → `false`\n- `array`: leer → `false`, enthält mindestens ein Element, das `true` ist → `true`, alle Elemente sind `false` → `false`\n- `object`: leer → `false`, nicht leer → `true`\n- `function`: `false`"
},
"$not":{
"args":"arg",
"desc":"Gibt den invertierten booleschen Wert von `arg` zurück. `arg` wird zuerst in einen booleschen Wert umgesetzt."
},
"$exists":{
"args":"arg",
"desc":"Gibt den booleschen Wert `true` zurück, wenn der Ausdruck `arg` zu einem Wert ausgewertet wird, oder `false`, wenn der Ausdruck nicht mit einem anderen Ausdruck übereinstimmt (z.B. ein Pfad zu einer nicht vorhandenen Feldreferenz)."
},
"$count":{
"args":"array",
"desc":"Gibt die Anzahl der Elemente in dem Array `array` zurück."
},
"$append":{
"args":"array, array",
"desc":"Verkettet zwei Arrays miteinander."
},
"$sort":{
"args":"array [, function]",
"desc":"Gibt ein Array zurück, das alle Elemente vom `array` in sortierter Reihenfolge enthält.\n\nWenn ein Vergleichsoperator `function` vorgegeben wird, muss es sich um eine Funktion handeln, die zwei Parameter benötigt:\n\n`function(left, right)`\n\nDiese Funktion wird durch den Sortieralgorithmus aufgerufen, um zwei Elemente links und rechts zu vergleichen. Wenn das linke Element nach dem rechten in der gewünschten Sortierreihenfolge platziert werden soll, muss die Funktion den booleschen Wert `true` zurückgeben, um eine Vertauschung anzuzeigen. Andernfalls muss `false` zurückgegeben werden."
},
"$reverse":{
"args":"array",
"desc":"Gibt ein Array zurück, das alle Elemente vom `array` in umgekehrter Reihenfolge enthält."
},
"$shuffle":{
"args":"array",
"desc":"Gibt ein Array zurück, das alle Elemente vom `array` in zufälliger Reihenfolge enthält."
},
"$zip":{
"args":"array, ...",
"desc":"Gibt ein gepacktes (geziptes) Array zurück, das gruppierte Arrays der Elemente von `array1` ... `arrayN` aus Index 0, 1, 2 ... enthält."
},
"$keys":{
"args":"object",
"desc":"Gibt ein Array zurück, das die Schlüssel in dem Objekt `object` enthält. Wenn es sich bei dem Parameter um ein Array von Objekten handelt, enthält das zurückgegebene Array eine deduplizierte Liste aller Schlüssel in allen Objekten."
},
"$lookup":{
"args":"object, key",
"desc":"Gibt den Wert zurück, der dem Schlüssel `key` im Objekt `object` zugeordnet ist. Wenn es sich bei dem ersten Parameter um ein Array von Objekten handelt, werden alle Objekte im Array durchsucht, und die Werte, die mit allen Vorkommen des Schlüssels verknüpft sind, werden zurückgegeben."
},
"$spread":{
"args":"object",
"desc":"Teilt ein Objekt `object`, das Schlüssel/Wert-Paare enthält, in ein Array von Objekten, von denen jedes ein einzelnes Schlüssel/Wert-Paar aus dem Eingabeobjekt hat. Wenn es sich bei dem Parameter um ein Array von Objekten handelt, enthält die resultierende Feldgruppe ein Objekt für jedes Schlüssel/Wert-Paar in jedem Objekt in der vorgegebenen Feldgruppe."
},
"$merge":{
"args":"array<object>",
"desc":"Fügt ein Array von Objekt-Elementen `object` in ein einzelnes Objekt `object` zusammen, das alle Schlüssel/Wert-Paare aus jedem der Objekte in dem Ausgangs-Array enthält. Wenn eines der Ausgangs-Objekte denselben Schlüssel enthält, enthält das zurückgegebene Objekt den Wert des letzten Objekts des Arrays. Es handelt sich um einen Fehler, wenn das Ausgangs-Array ein Element enthält, das kein Objekt ist."
},
"$sift":{
"args":"object, function",
"desc":"Gibt ein Objekt zurück, das nur die Schlüssel/Wert-Paare aus dem Parameter `object` enthält, die die Prädikat `function` erfüllen, die als zweiter Parameter übergeben wird.\n\nDie Funktion `function`, die als zweiter Parameter vorgegeben wird, muss die folgende Signatur aufweisen:\n\n`function(value [, key [, object]])`"
},
"$each":{
"args":"object, function",
"desc":"Gibt ein Array zurück, das die Werte enthält, die von der Funktion `function` zurückgegeben werden, wenn sie auf jedes Schlüssel/Wert-Paar im `object` angewendet werden."
},
"$map":{
"args":"array, function",
"desc":"Gibt ein Array zurück, das die Ergebnisse von `function`, angewendet auf jedes Element von `array`, enthält.\n\nDie Funktion `function`, die als zweiter Parameter vorgegeben wird, muss die folgende Signatur aufweisen:\n\n`function(value [, index [, array]])`"
},
"$filter":{
"args":"array, function",
"desc":"Gibt ein Array zurück, das nur die Elemente von `array` enthält, die das Eigenschaft `function` erfüllen.\n\nDie Funktion `function`, die als zweiter Parameter vorgegeben wird, muss die folgende Signatur aufweisen:\n\n`function(value [, index [, array]])`"
},
"$reduce":{
"args":"array, function [, init]",
"desc":"Gibt einen aggregierten Wert zurück, der aus der Anwendung des Parameters `function` nacheinander auf jedes Element in `array` in Kombination mit dem Ergebnis der vorherigen Anwendung der Funktion angewendet wurde.\n\nDie Funktion muss zwei Parameter akzeptieren und verhält sich wie ein Infix-Operator zwischen jedem Element innerhalb des `array`.\n\nDer optionale Parameter `init` wird als Anfangswert in der Aggregation verwendet."
},
"$flowContext":{
"args":"str [, str]",
"desc":"Ruft eine Flow-Kontexteigenschaft ab.\n\nDies ist eine definierte Funktion vom Typ `Node-RED`."
},
"$globalContext":{
"args":"str [, str]",
"desc":"Ruft eine globale Kontexteigenschaft ab.\n\nDies ist eine definierte Funktion vom Typ `Node-RED`."
},
"$pad":{
"args":"str, width [, char]",
"desc":"Gibt eine aufgefüllte Kopie von `str` zurück, so dass (falls erforderlich) die Gesamtzahl der Zeichen mindestens dem absoluten Wert von `width` entspricht.\n\nWenn `width` eine positive Zahl ist, wird die Zeichenfolge nach rechts aufgefüllt. Wenn sie negativ ist, wird sie nach links aufgefüllt.\n\nDer optionale Parameter `char` gibt die Auffüll-Zeichen an, die verwendet werden sollen. Wenn keine Angabe gemacht wird, wird standardmäßig mit Leerzeichen aufgefüllt."
},
"$fromMillis":{
"args":"number",
"desc":"Konvertiert `number`, die die Millisekunden seit Beginn der Unix-Zeitrechnung (1. Januar 1970 UTC) enthält, in eine Zeitangabe im ISO 8601-Format."
},
"$formatNumber":{
"args":"number, picture [, options]",
"desc":"Wandelt `number` in eine Zeichenfolge um und formatiert sie in eine dezimale Darstellung, wie im `picture`-String-Parameter vorgegeben.\n\nDas Verhalten dieser Funktion ist mit der XPath/XQuery-Funktion fn:formatnummer konsistent, wie sie in der XPath F&O 3.1-Spezifikation definiert ist. Der `picture`-String-Parameter definiert, wie die Zahl formatiert ist und hat die gleiche Syntax wie fn:format-number.\n\nDer optionale dritte Parameter `options` wird verwendet, um die standardmäßigen länderspezifischen Formatierungszeichen, wie z.B. das Dezimaltrennzeichen, zu überschreiben. Wenn dieser Parameter vorgegeben wird, muss es sich um ein Objekt handeln, das Name/Wert-Paare enthält, die im Abschnitt mit dem Dezimalformat der XPath F&O 3.1-Spezifikation vorgegeben sind."
},
"$formatBase":{
"args":"number [, radix]",
"desc":"Wandelt `number` in eine Zeichenfolge um und formatiert sie in eine ganze Zahl, die in der durch den `radix`-Parameter vorgegebenen Zahlenbasis dargestellt wird. Wenn `radix` nicht vorgegeben wird, wird standardmäßig die Basis 10 verwendet. `radix` kann zwischen 2 und 36 liegen, andernfalls wird ein Fehler ausgelöst."
},
"$toMillis":{
"args":"timestamp",
"desc":"Konvertiert eine Zeitangabe `timestamp` im ISO 8601-Format in die Anzahl der Millisekunden seit Beginn der Unix-Zeitrechnung (1. Januar 1970 UTC). Es wird ein Fehler ausgelöst, wenn die Zeichenfolge nicht das richtige Format hat."
},
"$env":{
"args":"arg",
"desc":"Gibt den Wert einer Umgebungsvariablen zurück.\n\nDies ist eine definierte Funktion vom Typ `Node-RED`."
},
"$eval":{
"args":"expr [, context]",
"desc":"Analysiert (parse) und evaluiert den String `expr`, welcher JSON or a JSONata Ausdrücke enthält, unter Benutzung des aktuellen Kontextes für die Evaluierung."
},
"$formatInteger":{
"args":"number, picture",
"desc":"Wandelt `number` in eine Zeichenfolge um und formatiert sie in einer Ganzzahl-Darstellung, spezifiziert durch den `picture`-String-Parameter. Der `picture`-String-Parameter definiert, wie die Zahl `number` formatiert werden soll und hat den selben Syntax wie `fn:format-integer` der XPath F&O 3.1 Spezifikation."
},
"$parseInteger":{
"args":"str, picture",
"desc":"Wandelt den Inhalt von `str` in eine Ganzzahl `integer` (als JSON Zahl), spezifiziert durch den `picture`-String-Parameter. Der `picture`-String-Parameter hat das selbe Format wie `$formatInteger`."
},
"$error":{
"args":"[str]",
"desc":"Erzeugt eine Fehlermeldung. Der optionale String `str` ersetzt die Standardmeldung `$error() function evaluated`."
},
"$assert":{
"args":"arg, str",
"desc":"Wenn `arg` gleich `true` ist, liefert die Function `undefined` zurück. Wenn `arg` gleich `false` ist, wird ein Ausnahmefehler gemeldet mit dem String_Parameter `str` als Meldetext."
},
"$single":{
"args":"array, function",
"desc":"Gibt ein einziges Element aus `array` zurück, welches die Bedingung `function` erfüllt (d.h. die Funktion `function` gibt den booleschen Wert `true` zurück, wenn das Element übergeben werden soll). Sie meldet einen Ausnahmefehler, wenn die Anzahl der Elemente mit erfüllter Bedingung (`function` ist `true`) nicht genau eins ist.\n\nDie Funktion `function` sollte in der folgenden Art vorgegeben werden: `function(value [, index [, array]])` wobei `value` für jedes Element des Arrays gilt, `index` ist die Position dieses Elements und das gesamte Array `array` wird als dritter Parameter übergeben."
},
"$encodeUrlComponent":{
"args":"str",
"desc":"Kodiert eine URL-Komponente (Uniform Resource Locator), indem jedes Vorkommen bestimmter Zeichen durch eine, zwei, drei oder vier Escape-Sequenzen ersetzt wird, die die UTF-8-Kodierung des Zeichens darstellen.\n\nBeispiel: `$encodeUrlComponent(\"?x=test\")` => `\"%3Fx%3Dtest\"`"
},
"$encodeUrl":{
"args":"str",
"desc":"Kodiert eine URL (Uniform Resource Locator), indem jedes Vorkommen bestimmter Zeichen durch eine, zwei, drei oder vier Escape-Sequenzen ersetzt wird, die die UTF-8-Kodierung des Zeichens darstellen.\n\nBeispiel: `$encodeUrl(\"https://mozilla.org/?x=шеллы\")` => `\"https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B\"`"
},
"$decodeUrlComponent":{
"args":"str",
"desc":"Dekodiert eine URL-Komponente (Uniform Resource Locator) zuvor erzeugt von encodeUrlComponent.\n\nBeispiel: `$decodeUrlComponent(\"%3Fx%3Dtest\")` => `\"?x=test\"`"
},
"$decodeUrl":{
"args":"str",
"desc":"Dekodiert eine URL (Uniform Resource Locator) zuvor erzeugt von encodeUrl.\n\nBeispiel: `$decodeUrl(\"https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B\")` => `\"https://mozilla.org/?x=шеллы\"`"
},
"$distinct":{
"args":"array",
"desc":"Liefert ein `array` zurück, bei dem doppelte Elemente entfernt wurden."
},
"$type":{
"args":"value",
"desc":"Liefert den Typ von `value` als String. When `value` undefiniert ist, wird `undefined` zurückgeliefert."
},
"$moment":{
"args":"[str]",
"desc":"Liefert ein `date` Objekt unter Benutzung der Moment Library."
"undeployedChanges":"node has undeployed changes",
"nodeActionDisabled":"node actions disabled",
"nodeActionDisabledSubflow":"node actions disabled within subflow",
"missing-types":"<p>Flows stopped due to missing node types.</p>",
"safe-mode":"<p>Flows stopped in safe mode.</p><p>You can modify your flows and deploy the changes to restart.</p>",
"missing-modules":"<p>Flows stopped due to missing modules.</p>",
"safe-mode":"<p>Flows stopped in safe mode.</p><p>You can modify your flows and deploy the changes to restart.</p>",
"restartRequired":"Node-RED must be restarted to enable upgraded modules",
"credentials_load_failed":"<p>Flows stopped as the credentials could not be decrypted.</p><p>The flow credential file is encrypted, but the project's encryption key is missing or invalid.</p>",
"credentials_load_failed_reset":"<p>Credentials could not be decrypted</p><p>The flow credential file is encrypted, but the project's encryption key is missing or invalid.</p><p>The flow credential file will be reset on the next deployment. Any existing flow credentials will be cleared.</p>",
"credentials_load_failed_reset":"<p>Credentials could not be decrypted</p><p>The flow credential file is encrypted, but the project's encryption key is missing or invalid.</p><p>The flow credential file will be reset on the next deployment. Any existing flow credentials will be cleared.</p>",
"missing_flow_file":"<p>Project flow file not found.</p><p>The project is not configured with a flow file.</p>",
"missing_package_file":"<p>Project package file not found.</p><p>The project is missing a package.json file.</p>",
"project_empty":"<p>The project is empty.</p><p>Do you want to create a default set of project files?<br/>Otherwise, you will have to manually add files to the project outside of the editor.</p>",
"recoveredNodesInfo":"The nodes on this flow were missing a valid flow id when they were imported. They have been added to this flow so you can either restore or delete them.",
"recoveredNodesNotification":"<p>Imported nodes without a valid flow id</p><p>They have been added to a new flow called '__flowName__'.</p>",
"export":{
"selected":"selected nodes",
"current":"current flow",
"all":"all flows",
"compact":"compact",
"formatted":"formatted",
"copy":"Export to clipboard"
"selected":"selected nodes",
"current":"current flow",
"all":"all flows",
"compact":"compact",
"formatted":"formatted",
"copy":"Copy to clipboard",
"export":"Export to library",
"exportAs":"Export as",
"overwrite":"Replace",
"exists":"<p><b>\"__file__\"</b> already exists.</p><p>Do you want to replace it?</p>"
},
"import":{
"import":"Import to",
"importSelected":"Import selected",
"importCopy":"Import copy",
"viewNodes":"View nodes...",
"newFlow":"new flow",
"replace":"replace",
"errors":{
"notArray":"Input not a JSON Array",
"itemNotObject":"Input not a valid flow - item __index__ not a node object",
"missingId":"Input not a valid flow - item __index__ missing 'id' property",
"missingType":"Input not a valid flow - item __index__ missing 'type' property"
}
},
"conflictNotification1":"Some of the nodes you are importing already exist in your workspace.",
"conflictNotification2":"Select which nodes to import and whether to replace the existing nodes, or to import a copy of them."
},
"copyMessagePath":"Path copied",
"copyMessageValue":"Value copied",
@@ -200,13 +300,19 @@
"modifiedFlowsDesc":"Only deploys flows that contain changed nodes",
"modifiedNodes":"Modified Nodes",
"modifiedNodesDesc":"Only deploys nodes that have changed",
"startFlows":"Start",
"startFlowsDesc":"Start Flows",
"stopFlows":"Stop",
"stopFlowsDesc":"Stop Flows",
"restartFlows":"Restart Flows",
"restartFlowsDesc":"Restarts the current deployed flows",
"catalogLoadFailed":"<p>Failed to load node catalogue.</p><p>Check the browser console for more information</p>",
"installFailed":"<p>Failed to install: __module__</p><p>__message__</p><p>Check the log for more information</p>",
@@ -439,19 +625,19 @@
},
"confirm":{
"install":{
"body":"<p>Installing '__module__'</p><p>Before installing, please read the node's documentation. Some nodes have dependencies that cannot be automatically resolved and can require a restart of Node-RED.</p>",
"body":"<p>Installing '__module__'</p><p>Before installing, please read the node's documentation. Some nodes have dependencies that cannot be automatically resolved and can require a restart of Node-RED.</p>",
"title":"Install nodes"
},
"remove":{
"body":"<p>Removing '__module__'</p><p>Removing the node will uninstall it from Node-RED. The node may continue to use resources until Node-RED is restarted.</p>",
"body":"<p>Removing '__module__'</p><p>Removing the node will uninstall it from Node-RED. The node may continue to use resources until Node-RED is restarted.</p>",
"title":"Remove nodes"
},
"update":{
"body":"<p>Updating '__module__'</p><p>Updating the node will require a restart of Node-RED to complete the update. This must be done manually.</p>",
"body":"<p>Updating '__module__'</p><p>Updating the node will require a restart of Node-RED to complete the update. This must be done manually.</p>",
"title":"Update nodes"
},
"cannotUpdate":{
"body":"An update for this node is available, but it is not installed in a location that the palette manager can update.<br/><br/>Please refer to the documentation for how to update this node."
"body":"An update for this node is available, but it is not installed in a location that the palette manager can update.<br/><br/>Please refer to the documentation for how to update this node."
},
"button":{
"review":"Open node information",
@@ -464,11 +650,12 @@
},
"sidebar":{
"info":{
"name":"Node information",
"name":"Information",
"tabName":"Name",
"label":"info",
"node":"Node",
"type":"Type",
"group":"Group",
"module":"Module",
"id":"ID",
"status":"Status",
@@ -484,14 +671,30 @@
"showMore":"show more",
"showLess":"show less",
"flow":"Flow",
"selection":"Selection",
"nodes":"__count__ nodes",
"selection":"Selection",
"nodes":"__count__ nodes",
"flowDesc":"Flow Description",
"subflowDesc":"Subflow Description",
"nodeHelp":"Node Help",
"none":"None",
"none":"None",
"arrayItems":"__count__ items",
"showTips":"You can open the tips from the settings panel"
"showTips":"You can open the tips from the settings panel",
"outline":"Outline",
"empty":"empty",
"globalConfig":"Global Configuration Nodes",
"triggerAction":"Trigger action",
"find":"Find in workspace"
},
"help":{
"name":"Help",
"label":"help",
"search":"Search help",
"nodeHelp":"Node Help",
"showHelp":"Show help",
"showInOutline":"Show in outline",
"showTopics":"Show topics",
"noHelp":"No help topic selected",
"changeLog":"Change Log"
},
"config":{
"name":"Configuration nodes",
@@ -500,20 +703,25 @@
"none":"none",
"subflows":"subflows",
"flows":"flows",
"filterUnused":"unused",
"filterAll":"all",
"filterAll":"all",
"showAllConfigNodes":"Show all config nodes",
"filterUnused":"unused",
"showAllUnusedConfigNodes":"Show all unused config nodes",
"filtered":"__count__ hidden"
},
"context":{
"name":"Context Data",
"label":"context",
"name":"Context Data",
"label":"context",
"none":"none selected",
"refresh":"refresh to load",
"empty":"empty",
"node":"Node",
"flow":"Flow",
"global":"Global",
"deleteConfirm":"Are you sure you want to delete this item?"
"deleteConfirm":"Are you sure you want to delete this item?",
"modeDesc":"<h3>Buffer editor</h3><p>The Buffer type is stored as a JSON array of byte values. The editor will attempt to parse the entered value as a JSON array. If it is not valid JSON, it will be treated as a UTF-8 String and converted to an array of the individual character code points.</p><p>For example, a value of <code>Hello World</code> will be converted to the JSON array:<pre>[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]</pre></p>"
"modeDesc":"<h3>Buffer editor</h3><p>The Buffer type is stored as a JSON array of byte values. The editor will attempt to parse the entered value as a JSON array. If it is not valid JSON, it will be treated as a UTF-8 String and converted to an array of the individual character code points.</p><p>For example, a value of <code>Hello World</code> will be converted to the JSON array:<pre>[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]</pre></p>"
},
"projects":{
"config-git":"Configure Git client",
@@ -744,6 +1001,7 @@
"desc2":"If you are not sure, you can skip this for now. You will still be able to create your first project from the 'Projects' menu at any time.",
"create":"Create Project",
"clone":"Clone Repository",
"openExistingProject":"Open existing project",
"not-right-now":"Not right now"
},
"git-config":{
@@ -861,7 +1119,8 @@
"not-git":"Not a git repository",
"no-resource":"Repository not found",
"cant-get-ssh-key-path":"Error! Can't get selected SSH key path.",
"unexpected_error":"unexpected_error"
"unexpected_error":"unexpected_error",
"clearContext":"Clear context when switching projects"
},
"delete":{
"confirm":"Are you sure you want to delete this project?"
@@ -880,7 +1139,8 @@
"passphrase":"Passphrase",
"retry":"Retry",
"update-failed":"Failed to update auth",
"unhandled":"Unhandled error response"
"unhandled":"Unhandled error response",
"host-key-verify-failed":"<p>Host key verification failed.</p><p>The repository host key could not be verified. Please update your <code>known_hosts</code> file and try again.</p>"
},
"create-branch-list":{
"invalid":"Invalid branch",
@@ -892,7 +1152,7 @@
"no-empty":"Cannot create default file set on a non-empty project",
"git-error":"git error"
},
"errors":{
"errors":{
"no-username-email":"Your Git client is not configured with a username/email.",
"desc":"Casts the *arg* parameter to a string using the following casting rules:\n\n - Strings are unchanged\n - Functions are converted to an empty string\n - Numeric infinity and NaN throw an error because they cannot be represented as a JSON number\n - All other values are converted to a JSON string using the `JSON.stringify` function"
"args":"arg[, prettify]",
"desc":"Casts the `arg` parameter to a string using the following casting rules:\n\n - Strings are unchanged\n - Functions are converted to an empty string\n - Numeric infinity and NaN throw an error because they cannot be represented as a JSON number\n - All other values are converted to a JSON string using the `JSON.stringify` function. If `prettify` is true, then \"prettified\" JSON is produced. i.e One line per field and lines will be indented based on the field depth."
},
"$length":{
"args":"str",
@@ -52,52 +52,52 @@
"desc":"Finds occurrences of `pattern` within `str` and replaces them with `replacement`.\n\nThe optional `limit` parameter is the maximum number of replacements."
},
"$now":{
"args":"",
"desc":"Generates a timestamp in ISO 8601 compatible format and returns it as a string."
"args":"$[picture [, timezone]]",
"desc":"Generates a timestamp in ISO 8601 compatible format and returns it as a string. If the optional picture and timezone parameters are supplied, then the current timestamp is formatted as described by the `$fromMillis()` function"
},
"$base64encode":{
"args":"string",
"desc":"Converts an ASCII string to a base 64 representation. Each character in the string is treated as a byte of binary data. This requires that all characters in the string are in the 0x00 to 0xFF range, which includes all characters in URI encoded strings. Unicode characters outside of that range are not supported."
"args":"string",
"desc":"Converts an ASCII string to a base 64 representation. Each character in the string is treated as a byte of binary data. This requires that all characters in the string are in the 0x00 to 0xFF range, which includes all characters in URI encoded strings. Unicode characters outside of that range are not supported."
},
"$base64decode":{
"args":"string",
"desc":"Converts base 64 encoded bytes to a string, using a UTF-8 Unicode codepage."
"args":"string",
"desc":"Converts base 64 encoded bytes to a string, using a UTF-8 Unicode codepage."
},
"$number":{
"args":"arg",
"desc":"Casts the `arg` parameter to a number using the following casting rules:\n\n - Numbers are unchanged\n - Strings that contain a sequence of characters that represent a legal JSON number are converted to that number\n - All other values cause an error to be thrown."
},
"$abs":{
"args":"number",
"desc":"Returns the absolute value of the `number` parameter."
"args":"number",
"desc":"Returns the absolute value of the `number` parameter."
},
"$floor":{
"args":"number",
"desc":"Returns the value of `number` rounded down to the nearest integer that is smaller or equal to `number`."
"args":"number",
"desc":"Returns the value of `number` rounded down to the nearest integer that is smaller or equal to `number`."
},
"$ceil":{
"args":"number",
"desc":"Returns the value of `number` rounded up to the nearest integer that is greater than or equal to `number`."
"args":"number",
"desc":"Returns the value of `number` rounded up to the nearest integer that is greater than or equal to `number`."
},
"$round":{
"args":"number [, precision]",
"desc":"Returns the value of the `number` parameter rounded to the number of decimal places specified by the optional `precision` parameter."
"args":"number [, precision]",
"desc":"Returns the value of the `number` parameter rounded to the number of decimal places specified by the optional `precision` parameter."
},
"$power":{
"args":"base, exponent",
"desc":"Returns the value of `base` raised to the power of `exponent`."
"args":"base, exponent",
"desc":"Returns the value of `base` raised to the power of `exponent`."
},
"$sqrt":{
"args":"number",
"desc":"Returns the square root of the value of the `number` parameter."
"args":"number",
"desc":"Returns the square root of the value of the `number` parameter."
},
"$random":{
"args":"",
"desc":"Returns a pseudo random number greater than or equal to zero and less than one."
"args":"",
"desc":"Returns a pseudo random number greater than or equal to zero and less than one."
},
"$millis":{
"args":"",
"desc":"Returns the number of milliseconds since the Unix Epoch (1 January, 1970 UTC) as a number. All invocations of `$millis()` within an evaluation of an expression will all return the same value."
"args":"",
"desc":"Returns the number of milliseconds since the Unix Epoch (1 January, 1970 UTC) as a number. All invocations of `$millis()` within an evaluation of an expression will all return the same value."
},
"$sum":{
"args":"array",
@@ -136,20 +136,20 @@
"desc":"Appends two arrays"
},
"$sort":{
"args":"array [, function]",
"desc":"Returns an array containing all the values in the `array` parameter, but sorted into order.\n\nIf a comparator `function` is supplied, then it must be a function that takes two parameters:\n\n`function(left, right)`\n\nThis function gets invoked by the sorting algorithm to compare two values left and right. If the value of left should be placed after the value of right in the desired sort order, then the function must return Boolean `true` to indicate a swap. Otherwise it must return `false`."
"args":"array [, function]",
"desc":"Returns an array containing all the values in the `array` parameter, but sorted into order.\n\nIf a comparator `function` is supplied, then it must be a function that takes two parameters:\n\n`function(left, right)`\n\nThis function gets invoked by the sorting algorithm to compare two values left and right. If the value of left should be placed after the value of right in the desired sort order, then the function must return Boolean `true` to indicate a swap. Otherwise it must return `false`."
},
"$reverse":{
"args":"array",
"desc":"Returns an array containing all the values from the `array` parameter, but in reverse order."
"args":"array",
"desc":"Returns an array containing all the values from the `array` parameter, but in reverse order."
},
"$shuffle":{
"args":"array",
"desc":"Returns an array containing all the values from the `array` parameter, but shuffled into random order."
"args":"array",
"desc":"Returns an array containing all the values from the `array` parameter, but shuffled into random order."
},
"$zip":{
"args":"array, ...",
"desc":"Returns a convolved (zipped) array containing grouped arrays of values from the `array1` … `arrayN` arguments from index 0, 1, 2...."
"args":"array, ...",
"desc":"Returns a convolved (zipped) array containing grouped arrays of values from the `array1` … `arrayN` arguments from index 0, 1, 2...."
},
"$keys":{
"args":"object",
@@ -168,24 +168,24 @@
"desc":"Merges an array of `objects` into a single `object` containing all the key/value pairs from each of the objects in the input array. If any of the input objects contain the same key, then the returned `object` will contain the value of the last one in the array. It is an error if the input array contains an item that is not an object."
},
"$sift":{
"args":"object, function",
"desc":"Returns an object that contains only the key/value pairs from the `object` parameter that satisfy the predicate `function` passed in as the second parameter.\n\nThe `function` that is supplied as the second parameter must have the following signature:\n\n`function(value [, key [, object]])`"
"args":"object, function",
"desc":"Returns an object that contains only the key/value pairs from the `object` parameter that satisfy the predicate `function` passed in as the second parameter.\n\nThe `function` that is supplied as the second parameter must have the following signature:\n\n`function(value [, key [, object]])`"
},
"$each":{
"args":"object, function",
"desc":"Returns an array containing the values return by the `function` when applied to each key/value pair in the `object`."
"args":"object, function",
"desc":"Returns an array containing the values return by the `function` when applied to each key/value pair in the `object`."
},
"$map":{
"args":"array, function",
"desc":"Returns an array containing the results of applying the `function` parameter to each value in the `array` parameter.\n\nThe `function` that is supplied as the second parameter must have the following signature:\n\n`function(value [, index [, array]])`"
"args":"array, function",
"desc":"Returns an array containing the results of applying the `function` parameter to each value in the `array` parameter.\n\nThe `function` that is supplied as the second parameter must have the following signature:\n\n`function(value [, index [, array]])`"
},
"$filter":{
"args":"array, function",
"desc":"Returns an array containing only the values in the `array` parameter that satisfy the `function` predicate.\n\nThe `function` that is supplied as the second parameter must have the following signature:\n\n`function(value [, index [, array]])`"
"args":"array, function",
"desc":"Returns an array containing only the values in the `array` parameter that satisfy the `function` predicate.\n\nThe `function` that is supplied as the second parameter must have the following signature:\n\n`function(value [, index [, array]])`"
},
"$reduce":{
"args":"array, function [, init]",
"desc":"Returns an aggregated value derived from applying the `function` parameter successively to each value in `array` in combination with the result of the previous application of the function.\n\nThe function must accept two arguments, and behaves like an infix operator between each value within the `array`.\n\nThe optional `init` parameter is used as the initial value in the aggregation."
"args":"array, function [, init]",
"desc":"Returns an aggregated value derived from applying the `function` parameter successively to each value in `array` in combination with the result of the previous application of the function.\n\nThe function must accept two arguments, and behaves like an infix operator between each value within the `array`. The signature of `function` must be of the form: `myfunc($accumulator, $value[, $index[, $array]])`\n\nThe optional `init` parameter is used as the initial value in the aggregation."
},
"$flowContext":{
"args":"string[, string]",
@@ -200,8 +200,8 @@
"desc":"Returns a copy of the `string` with extra padding, if necessary, so that its total number of characters is at least the absolute value of the `width` parameter.\n\nIf `width` is a positive number, then the string is padded to the right; if negative, it is padded to the left.\n\nThe optional `char` argument specifies the padding character(s) to use. If not specified, it defaults to the space character."
},
"$fromMillis":{
"args":"number",
"desc":"Convert a number representing milliseconds since the Unix Epoch (1 January, 1970 UTC) to a timestamp string in the ISO 8601 format."
"args":"number, [, picture [, timezone]]",
"desc":"Convert the `number` representing milliseconds since the Unix Epoch (1 January, 1970 UTC) to a formatted string representation of the timestamp as specified by the picture string.\n\nIf the optional `picture` parameter is omitted, then the timestamp is formatted in the ISO 8601 format.\n\nIf the optional `picture` string is supplied, then the timestamp is formatted occording to the representation specified in that string. The behaviour of this function is consistent with the two-argument version of the XPath/XQuery function `format-dateTime` as defined in the XPath F&O 3.1 specification. The picture string parameter defines how the timestamp is formatted and has the same syntax as `format-dateTime`.\n\nIf the optional `timezone` string is supplied, then the formatted timestamp will be in that timezone. The `timezone` string should be in the format '±HHMM', where ± is either the plus or minus sign and HHMM is the offset in hours and minutes from UTC. Positive offset for timezones east of UTC, negative offset for timezones west of UTC."
},
"$formatNumber":{
"args":"number, picture [, options]",
@@ -230,6 +230,45 @@
"$parseInteger":{
"args":"string, picture",
"desc":"Parses the contents of the `string` parameter to an integer (as a JSON number) using the format specified by the `picture` string. The `picture` string parameter has the same format as `$formatInteger`."
},
"$error":{
"args":"[str]",
"desc":"Throws an error with a message. The optional `str` will replace the default message of `$error() function evaluated`"
},
"$assert":{
"args":"arg, str",
"desc":"If `arg` is true the function returns undefined. If `arg` is false an exception is thrown with `str` as the message of the exception."
},
"$single":{
"args":"array, function",
"desc":"Returns the one and only value in the `array` parameter that satisfies the `function` predicate (i.e. the `function` returns Boolean `true` when passed the value). Throws an exception if the number of matching values is not exactly one.\n\nThe function should be supplied in the following signature: `function(value [, index [, array]])` where value is each input of the array, index is the position of that value and the whole array is passed as the third argument"
},
"$encodeUrlComponent":{
"args":"str",
"desc":"Encodes a Uniform Resource Locator (URL) component by replacing each instance of certain characters by one, two, three, or four escape sequences representing the UTF-8 encoding of the character.\n\nExample: `$encodeUrlComponent(\"?x=test\")` => `\"%3Fx%3Dtest\"`"
},
"$encodeUrl":{
"args":"str",
"desc":"Encodes a Uniform Resource Locator (URL) by replacing each instance of certain characters by one, two, three, or four escape sequences representing the UTF-8 encoding of the character. \n\nExample: `$encodeUrl(\"https://mozilla.org/?x=шеллы\")` => `\"https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B\"`"
},
"$decodeUrlComponent":{
"args":"str",
"desc":"Decodes a Uniform Resource Locator (URL) component previously created by encodeUrlComponent. \n\nExample: `$decodeUrlComponent(\"%3Fx%3Dtest\")` => `\"?x=test\"`"
},
"$decodeUrl":{
"args":"str",
"desc":"Decodes a Uniform Resource Locator (URL) previously created by encodeUrl. \n\nExample: `$decodeUrl(\"https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B\")` => `\"https://mozilla.org/?x=шеллы\"`"
},
"$distinct":{
"args":"array",
"desc":"Returns an array with duplicate values removed from `array`"
},
"$type":{
"args":"value",
"desc":"Returns the type of `value` as a string. If `value` is undefined, this will return `undefined`"
},
"$moment":{
"args":"[str]",
"desc":"Gets a date object using the Moment library."
"desc":"`array`の要素のうち、条件判定関数`function`を満たす(`function`に与えた場合に真偽値`true`を返す)要素が1つのみである場合、それを返します。マッチする要素が1つのみでない場合、例外を送出します。\n\n指定する関数は`function(value [, index [, array]])`というシグネチャでなければなりません。ここで、`value`は`array`の要素値、`index`は要素の添字、第三引数には配列全体を渡します。"
"missing-types":"<p>타입이 없는 노드로인해 플로우가 중지되었습니다</p>",
"safe-mode":"<p>[안전모드] 플로우가 정지되었습니다.</p><p>플로우의 수정과 배포가 가능합니다. 다시 배포버튼을 누르세요.</p>",
"restartRequired":"업그레이드한 모듈을 유효화하기 위해 Node-RED를 재시작 합니다 ",
"credentials_load_failed":"<p>인증정보 복호화에 실패하여 플로우가 멈췄습니다. </p><p>인증정보는 암호화 되어있습니다. 프로젝트의 암호화 키가 깨졌거나 정상적이지 않습니다.</p>",
"credentials_load_failed_reset":"<p>인증정보를 복호화할 수 없습니다</p><p>인증정보는 암호화 되어있습니다. 프로젝트의 암호화 키가 깨졌거나 정상적이지 않습니다.</p><p>다음 배포시 플로우의 인증정보는 초기화 될것입니다. 기존 모든 플로우의 인증정보가 지워집니다.</p>",
"missing_flow_file":"<p>프로젝트 플로우 파일을 찾을 수 없습니다</p><p>프로젝트의 플로우 파일이 설정되지 않았습니다</p>",
"missing_package_file":"<p>프로젝트 패키지 파일을 찾을 수 없습니다</p><p>프로젝트의 package.json 파일이 없습니다</p>",
"project_empty":"<p>프로젝트가 누락되어 있습니다.</p><p>기본 프로젝트 파일을 만드시겠습니까?<br/>그렇지 않으면 수동으로 편집가 외부에 프로젝트 파일을 만드셔야 합니다.</p>",
"project_not_found":"<p>'__project__' 가 없습니다.</p>",
"git_merge_conflict":"<p>변경사항 자동병합에 실패했습니다.</p><p>병합되지 않은 충돌을 수정 후 재등록 하세요.</p>"
"commitsAheadAndBehind2":"__count__ 커밋이 원격지보다 앞서 있습니다. ",
"commitsAheadAndBehind2_plural":"__count__ 커밋이 원격지보다 앞서 있습니다.",
"commitsAheadAndBehind3":"push하기전에 리모트 저장소에서 pull을 먼저 수행하세요.",
"commitsAheadAndBehind3_plural":"push하기전에 리모트 저장소에서 pull을 먼저 수행하세요.",
"refreshCommitHistory":"커밋 기록 새로고침",
"refreshChanges":"변경사항 새로고침"
}
}
},
"typedInput":{
"type":{
"str":"string",
"num":"number",
"re":"regular expression",
"bool":"boolean",
"json":"JSON",
"bin":"buffer",
"date":"timestamp",
"jsonata":"expression",
"env":"env variable"
}
},
"editableList":{
"add":"추가"
},
"search":{
"empty":"결과 없음",
"addNode":"노드 추가 ..."
},
"expressionEditor":{
"functions":"기능",
"functionReference":"기능 참조",
"insert":"삽입",
"title":"JSONata 형식 에디터",
"test":"테스트",
"data":"예제 메세지",
"result":"결과",
"format":"형식",
"compatMode":"호환모드 사용",
"compatModeDesc":"<h3>JSONata호환 모드</h3><p> 입력된 형식은 <code>msg</code> 를 참조하고 있어, 호환모드로 평가합니다. 이 모드는 후에 폐지될 예정이니, <code>msg</code> 를 사용하지 않도록 해 주시길 바랍니다. </p><p> JSONata를 Node-RED에서 처음 지원했을 때에는 <code>msg</code> 오브젝트의 참조가 필요했습니다. 예를 들어 <code>msg.payload</code> 는 payload를 참고하기 위해 사용되었습니다. </p><p> 직접 메시지에 대하여 식을 평가하도록 되었기에, 이 형식은 사용할 수 없게 됩니다. payload를 참조하려면 단순히 <code>payload</code> 로 지정해 주십시오. </p>",
"noMatch":"결과 없음",
"errors":{
"invalid-expr":"유효하지 않은 JSONata 형식 :\n __message__",
"invalid-msg":"유효하지 않은 예시 JSON 메세지 :\n __message__",
"context-unsupported":"컨텍스트 기능을 테스트 할 수 없습니다.\n $flowContext 또는 $globalContext",
"eval":"형식 오류 :\n __message__"
}
},
"jsEditor":{
"title":"자바스크립트 에디터"
},
"jsonEditor":{
"title":"JSON 에디터",
"format":"JSON 형식"
},
"markdownEditor":{
"title":"Markdown 에디터",
"format":"Markdown 형식",
"heading1":"제목 레벨1",
"heading2":"제목 레벨2",
"heading3":"제목 레벨3",
"bold":"강조",
"italic":"이탤릭",
"code":"코드",
"ordered-list":"번호 목차",
"unordered-list":"목차",
"quote":"인용",
"link":"링크",
"horizontal-rule":"나눔줄",
"toggle-preview":"미리보기 전환"
},
"bufferEditor":{
"title":"Buffer 에디터",
"modeString":"UTF-8 문자열로 처리",
"modeArray":"JSON 배열로 처리",
"modeDesc":"<h3>Buffer 에디터</h3><p>버퍼타입은 byet값의 JSON배열로 저장됩니다. 이 에디터는 입력된 값을 JSON 배열로 구문분석 합니다. 만약 유효한 JSON이 아닌경우 UTF-8 문자열로 처리되어 각 문자코드 번호의 배열로 변환됩니다.</p><p>예를들어 <code>Hello World</code> 라는 값은 다음의 JSON 배열로 변환됩니다.<pre>[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]</pre></p>"
},
"projects":{
"config-git":"Git client 설정",
"welcome":{
"hello":"안녕하세요. Node-RED에서 프로젝트 기능을 이용할 수 있게 되었습니다.",
"desc0":"플로우 파일을 관리하는 새로운 방법이며, 버전을 관리할 수 도 있습니다.",
"desc1":"무선 프로젝트를 작성하거나 기존의 Git저장소에서 프로젝트를 복제할 수 있습니다.",
"desc2":"이 기능을 건너뛰어도 상관없습니다. 언제든지 프로젝트 메뉴에서 첫번째 프로젝트를 만들 수 있습니다.",
"create":"프로젝트 생성",
"clone":"프로젝트 복제",
"not-right-now":"나중에"
},
"git-config":{
"setup":"버전관리 클라이언트를 설정합니다",
"desc0":"Node-RED는 오픈소스 Git로 버전관리를 할 수 있습니다. 프로젝트 파일의 변경사항을 추적하고 원격저장소로 push할 수 있습니다.",
"desc1":"당신이 변경사항을 커밋하면 git은 누가 변경사항을 만들었는지 사용자명과 이메일 정보를 기록합니다. 사용자명은 꼭 당신의 실명일 필요는 없습니다.",
"desc2":"당신의 Git 클라이언트는 아래와 같이 이미 설정되었습니다.",
"desc3":"당신은 git config의 설정탭에서 설정을 변경할 수 있습니다.",
"username":"사용자명",
"email":"이메일"
},
"project-details":{
"create":"프로젝트 생성",
"desc0":"프로젝트는 Git 저장소로 관리되어집니다. 다른 사람과 협업하거나 공유하기 쉬워집니다.",
"desc1":"당신은 여러 개의 프로젝트를 생성할 수 있고 에디터에서 프로젝트를 선택할 수 있습니다.",
"desc2":"시작하려면 프로젝트 이름과 프로젝트의 상세설명이 필요합니다.",
"already-exists":"프로젝트가 이미 존재합니다",
"must-contain":"A-Z 0-9 _ -의 문자만 사용이 가능합니다",
"project-name":"프로젝트명",
"desc":"상세설명",
"opt":"옵션"
},
"clone-project":{
"clone":"프로젝트 복제",
"desc0":"프로젝트가 있는 저장소를 가지고 있다면, 즉시 복제하여 사용할 수 있습니다.",
"already-exists":"프로젝트가 이미 존재합니다",
"must-contain":"A-Z 0-9 _ -의 문자만 사용이 가능합니다",
"project-name":"프로젝트명",
"no-info-in-url":"URL안에 사용자아이디/비밀번호를 사용하지 마세요",
"git-url":"Git 저장소 URL",
"protocols":"https://, ssh:// 혹은 file://",
"auth-failed":"인증 실패",
"username":"사용자명",
"passwd":"패스워드",
"ssh-key":"SSH키",
"passphrase":"패스워드",
"ssh-key-desc":"저장소를 복제하기 전에 접속을 위해 SSH키를 먼저 추가하세요.",
"ssh-key-add":"ssh키 추가",
"credential-key":"인증 암호화 키",
"cant-get-ssh-key":"에러! 선택한 SSH키 경로를 가져올 수 없습니다",
"already-exists2":"이미 존재합니다",
"git-error":"git 에러",
"connection-failed":"접속 실패",
"not-git-repo":"Git저장소가 아닙니다",
"repo-not-found":"저장소가 없습니다"
},
"default-files":{
"create":"프로젝트 파일 생성",
"desc0":"프로젝트는 당신의 플로우, README, package.json 파일을 포함합니다.",
"desc1":"Git 저장소에서 관리하고 싶은 다른 파일들을 포함할 수 있습니다.",
"desc2":"당신이 이미 가지고 있는 flow, 자격증명파일이 프로젝트로 복사될 것입니다.",
"flow-file":"플로우 파일",
"credentials-file":"자격증명 파일"
},
"encryption-config":{
"setup":"자격인증 파일의 암호화 설정",
"desc0":"플로우의 자격인증 파일 암호화를 통해 내용을 안전하게 유지할 수 있습니다.",
"desc1":"자격증명을 공용 Git저장소에 저장하려면 비밀키 구문을 제공하여 암호화 해야 합니다",
"desc2":"당신의 플로우 자격인증 파일은 암호화 되어 있지 않습니다.",
"desc3":"즉, 암호 및 액세스 토큰과 같은 내용을 파일에 액세스 할 수있는 모든 사람이 열람할 수 있습니다.",
"desc4":"자격증명을 공용 Git저장소에 저장하려면 비밀키 구문을 제공하여 암호화 해야 합니다",
"desc":"다음과 같은 규칙을 사용하여 인수 *arg*를 문자열로 변환합니다. \n\n - 문자열은 변경되지 않습니다. \n - 함수는 빈 문자열로 변환됩니다. \n - 무한대와 NaN은 JSON수치로 표현할 수 없기 때문에 오류처리 됩니다. \n - 다른 모든 값은 `JSON.stringify` 함수를 사용하여 JSON 문자열로 변환됩니다."
},
"$length":{
"args":"str",
"desc":"문자열 `str`의 문자 수를 반환합니다. `str`가 문자열이 아닌 경우 에러를 반환합니다."
},
"$substring":{
"args":"str, start[, length]",
"desc":"(zero-offset)의 `start`에서 시작하는 첫번째 인수 `str`의 문자열을 반환합니다. 만약 `length`가 지정된 경우, 부분 문자열은 최대 `length`의 크기를 갖습니다. 만약 `start` 인수가 음수이면 `str`의 끝에서부터의 문자수를 나타냅니다."
},
"$substringBefore":{
"args":"str, chars",
"desc":"`str`에 `chars`문자가 처음으로 나오기 전까지의 부분문자열을 반환합니다. 만약 `chars`가 없으면 `str`을 반환합니다."
},
"$substringAfter":{
"args":"str, chars",
"desc":"`str`에 `chars`문자가 처음으로 나온 이후의 부분문자열을 반환합니다. 만약 `chars`가 없으면 `str`을 반환합니다."
},
"$uppercase":{
"args":"str",
"desc":"`str`의 문자를 대문자로 반환합니다."
},
"$lowercase":{
"args":"str",
"desc":"`str`의 문자를 소문자로 반환합니다."
},
"$trim":{
"args":"str",
"desc":"다음의 순서대로 `str`의 모든 공백을 자르고 정규화 합니다:\n\n - 모든 탭, 캐리지 리턴 및 줄 바꿈은 공백으로 대체됩니다. \n- 연속된 공백은 하나로 줄입니다.\n- 후행 및 선행 공백은 삭제됩니다.\n\n 만일 `str`이 지정되지 않으면 (예: 이 함수를 인수없이 호출), context값을 `str`의 값으로 사용합니다. `str`이 문자열이 아니면 에러가 발생합니다."
},
"$contains":{
"args":"str, pattern",
"desc":"`str`이 `pattern`과 일치하면 `true`를, 일치하지 않으면 `false`를 반환합니다. 만약 `str`이 지정되지 않으면 (예: 이 함수를 인수없이 호출), context값을 `str`의 값으로 사용합니다. `pattern` 인수는 문자열이나 정규표현으로 할 수 있습니다."
},
"$split":{
"args":"str[, separator][, limit]",
"desc":"`str`인수를 분할하여 부분문자열로 배열합니다. `str`이 문자열이 아니면 에러가 발생합니다. 생략가능한 인수 `separator`는 `str`을 분할하는 문자를 문자열 또는 정규표현으로 지정합니다. `separator`를 지정하지 않은 경우, 공백의 문자열로 간주하여 `str`은 단일 문자의 배열로 분리됩니다. `separator`가 문자열이 아니면 에러가 발생합니다. 생략가능한 인수 'limit`는 결과의 배열이 갖는 부분문자열의 최대수를 지정합니다. 이 수를 넘는 부분문자열은 파기됩니다. `limit`가 지정되지 않으면`str`은 결과 배열의 크기의 제한없이 완전히 분리됩니다. `limit`이 음수인 경우 에러가 발생합니다."
},
"$join":{
"args":"array[, separator]",
"desc":"문자열의 배열을 생략가능한 인수 `separator`로 구분한 하나의 문자열로 연결합니다. 배열 `array`가 문자열이 아닌 요소를 포함하는 경우, 에러가 발생합니다. `separator`를 지정하지 않은 경우, 공백의 문자열로 간주합니다(예: 문자열간의 `separator`없음). `separator`가 문자열이 아닌 경우, 에러가 발생합니다."
},
"$match":{
"args":"str, pattern [, limit]",
"desc":"`str`문자열에 `pattern`를 적용하여, 오브젝트 배열을 반환합니다. 배열요소의 오브젝트는 `str`중 일치하는 부분의 정보를 보유합니다."
},
"$replace":{
"args":"str, pattern, replacement [, limit]",
"desc":"`str`문자열에서 `pattern` 패턴을 검색하여, `replacement`로 대체합니다.\n\n임의이ㅡ 인수 `limit`는 대체 횟수의 상한값을 지정합니다."
},
"$now":{
"args":"",
"desc":"ISO 8601 호환 형식으로 타임 스탬프를 생성하고 이를 문자열로 반환합니다."
},
"$base64encode":{
"args":"string",
"desc":"ASCII 문자열을 base 64 표현으로 변환합니다. 문자열의 각 문자는 이진 데이터의 바이트로 처리됩니다. 이렇게 하려면 문자열의 모든 문자가 URI로 인코딩 된 문자열을 포함하고, 0x00에서 0xFF 범위에 있어야합니다. 해당 범위를 벗어난 유니 코드 문자는 지원되지 않습니다"
},
"$base64decode":{
"args":"string",
"desc":"UTF-8코드페이지를 이용하여, Base 64형식의 바이트값을 문자열로 변환합니다."
},
"$number":{
"args":"arg",
"desc":"`arg`를 다음과 같은 규칙을 사요하여 숫자로 변환합니다. :\n\n - 숫자는 변경되지 않습니다.\n – 올바른 JSON의 숫자는 숫자 그대로 변환됩니다.\n – 그 외의 형식은 에러를 발생합니다."
},
"$abs":{
"args":"number",
"desc":"`number`의 절대값을 반환합니다."
},
"$floor":{
"args":"number",
"desc":"`number`를 `number`보다 같거나 작은 정수로 내림하여 반환합니다."
},
"$ceil":{
"args":"number",
"desc":"`number`를 `number`와 같거나 큰 정수로 올림하여 반환합니다."
},
"$round":{
"args":"number [, precision]",
"desc":"인수 `number`를 반올림한 값을 반환합니다. 임의의 인수 `precision`에는 반올립에서 사용할 소수점이하의 자릿수를 지정합니다."
},
"$power":{
"args":"base, exponent",
"desc":"기수 `base`의 값을 지수 `exponent`만큼의 거듭 제곱으로 반환합니다."
},
"$sqrt":{
"args":"number",
"desc":"인수 `number`의 제곱근을 반환합니다."
},
"$random":{
"args":"",
"desc":"0이상 1미만의 의사난수를 반환합니다."
},
"$millis":{
"args":"",
"desc":"Unix Epoch (1970 년 1 월 1 일 UTC)부터 경과된 밀리 초 수를 숫자로 반환합니다. 평가대상식에 포함되는 $millis()의 모든 호출은 모두 같은 값을 반환합니다."
},
"$sum":{
"args":"array",
"desc":"숫자 배열 `array`의 합계를 반환합니다. `array`에 숫자가 아닌 요소가 있는 경우, 에러가 발생합니다."
},
"$max":{
"args":"array",
"desc":"숫자 배열 `array`에서 최대값을 반환합니다. `array`에 숫자가 아닌 요소가 있는 경우, 에러가 발생합니다."
},
"$min":{
"args":"array",
"desc":"숫자 배열 `array`에서 최소값을 반환합니다. `array`에 숫자가 아닌 요소가 있는 경우, 에러가 발생합니다."
},
"$average":{
"args":"array",
"desc":"숫자 배열 `array`에서 평균값을 반환합니다. `array`에 숫자가 아닌 요소가 있는 경우, 에러가 발생합니다."
},
"$boolean":{
"args":"arg",
"desc":"`arg` 값을 다음의 규칙에 의해 Boolean으로 변환합니다::\n\n - `Boolean` : 변환하지 않음\n - `string`: 비어있음 : `false`\n - `string`: 비어있지 않음 : `true`\n - `number`: `0` : `false`\n - `number`: 0이 아님 : `true`\n - `null` : `false`\n - `array`: 비어있음 : `false`\n - `array`: `true`로 변환된 요소를 가짐 : `true`\n - `array`: 모든 요소가 `false`로 변환 : `false`\n - `object`: 비어있음 : `false`\n - `object`: 비어있지 않음 : `true`\n - `function` : `false`"
"desc":"`arg` 식의 평가값이 존재하는 경우 `true`, 식의 평가결과가 미정의인 경우 (예: 존재하지 않는 참조필드로의 경로)는 `false`를 반환합니다."
},
"$count":{
"args":"array",
"desc":"`array`의 요소 갯수를 반환합니다."
},
"$append":{
"args":"array, array",
"desc":"두개의 `array`를 병합합니다."
},
"$sort":{
"args":"array [, function]",
"desc":"배열 `array`의 모든 값을 순서대로 정렬하여 반환합니다. \n\n 비교함수 `function`을 이용하는 경우, 비교함수는 아래와 같은 두개의 인수를 가져야 합니다. \n\n `function(left,right)` \n\n 비교함수는 left와 right의 두개의 값을 비교하기에, 값을 정렬하는 처리에서 호출됩니다. 만약 요구되는 정렬에서 left값을 right값보다 뒤로 두고싶은 경우에는, 비교함수는 치환을 나타내는 Boolean형의 ``true`를, 그렇지 않은 경우에는 `false`를 반환해야 합니다."
},
"$reverse":{
"args":"array",
"desc":"`array`에 포함된 모든 값의 순서를 역순으로 변환하여 반환합니다."
},
"$shuffle":{
"args":"array",
"desc":"`array`에 포함된 모든 값의 순서를 랜덤으로 반환합니다."
},
"$zip":{
"args":"array, ...",
"desc":"배열 `array1` ... arrayN`의 위치 0, 1, 2…. 의 값으로 구성된 convolved (zipped) 배열을 반환합니다."
},
"$keys":{
"args":"object",
"desc":"`object` 키를 포함하는 배열을 반환합니다. 인수가 오브젝트의 배열이면 반환되는 배열은 모든 오브젝트에있는 모든 키의 중복되지 않은 목록이 됩니다."
},
"$lookup":{
"args":"object, key",
"desc":"`object` 내의 `key`가 갖는 값을 반환합니다. 최초의 인수가 객체의 배열 인 경우, 배열 내의 모든 오브젝트를 검색하여, 존재하는 모든 키가 갖는 값을 반환합니다."
},
"$spread":{
"args":"object",
"desc":"`object`의 키/값 쌍별로 각 요소가 하나인 오브젝트 배열로 분할합니다. 만일 오브젝트 배열인 경우, 배열의 결과는 각 오브젝트에서 얻은 키/값 쌍의 오브젝트를 갖습니다."
},
"$merge":{
"args":"array<object>",
"desc":"`object`배열을 하나의 `object`로 병합합니다. 병합결과의 오브젝트는 입력배열내의 각 오브젝트의 키/값 쌍을 포함합니다. 입력 오브젝트가 같은 키를 가질경우, 반환 된 `object`에는 배열 마지막의 오브젝트의 키/값이 격납됩니다. 입력 배열이 오브젝트가 아닌 요소를 포함하는 경우, 에러가 발생합니다."
},
"$sift":{
"args":"object, function",
"desc":"함수 `function`을 충족시키는 `object` 인수 키/값 쌍만 포함하는 오브젝트를 반환합니다. \n\n 함수 `function` 다음과 같은 인수를 가져야 합니다 : \n\n `function(value [, key [, object]])`"
},
"$each":{
"args":"object, function",
"desc":"`object`의 각 키/값 쌍에, 함수`function`을 적용한 값의 배열을 반환합니다."
},
"$map":{
"args":"array, function",
"desc":"`array`의 각 값에 `function`을 적용한 결과로 이루어진 배열을 반환합니다. \n\n 함수 `function`은 다음과 같은 인수를 가져야 합니다. \n\n `function(value[, index[, array]])`"
},
"$filter":{
"args":"array, function",
"desc":"`array`의 값중, 함수 `function`의 조건을 만족하는 값으로 이루어진 배열을 반환합니다. \n\n 함수 `function`은 다음과 같은 형식을 가져야 합니다. \n\n `function(value[, index[, array]])`"
},
"$reduce":{
"args":"array, function [, init]",
"desc":"배열의 각 요소값에 함수 `function`을 연속적으로 적용하여 얻어지는 집계값을 반환합니다. `function`의 적용에는 직전의 `function`의 적용결과와 요소값이 인수로 주어집니다. \n\n 함수 `function`은 인수를 두개 뽑아, 배열의 각 요소 사이에 배치하는 중치연산자처럼 작용해야 합니다. \n\n 임의의 인수 `init`에는 집약시의 초기값을 설정합니다."
},
"$flowContext":{
"args":"string[, string]",
"desc":"플로우 컨텍스트 속성을 취득합니다."
},
"$globalContext":{
"args":"string[, string]",
"desc":"플로우의 글로벌 컨텍스트 속성을 취득합니다."
},
"$pad":{
"args":"string, width [, char]",
"desc":"문자수가 인수 `width`의 절대값이상이 되도록, 필요한 경우 여분의 패딩을 사용하여 `string`의 복사본을 반환합니다. \n\n `width`가 양수인 경우, 오른쪽으로 채워지고, 음수이면 왼쪽으로 채워집니다. \n\n 임의의 `char`인수에는 이 함수에서 사용할 패딩을 지정합니다. 지정하지 않는 경우에는, 기본값으로 공백을 사용합니다."
},
"$fromMillis":{
"args":"number",
"desc":"Unix Epoch (1970 년 1 월 1 일 UTC) 이후의 밀리 초를 나타내는 숫자를 ISO 8601 형식의 타임 스탬프 문자열로 변환합니다."
},
"$formatNumber":{
"args":"number, picture [, options]",
"desc":"`number`를 문자열로 변환하고 `picture` 문자열에 지정된 표현으로 서식을 변경합니다. \n\n 이 함수의 동작은 XPath F&O 3.1사양에 정의된 XPath/XQuery함수의 fn:format-number의 동작과 같습니다. 인수의 문자열 picture은 fn:format-number 과 같은 구문으로 수치의 서식을 정의합니다. \n\n 임의의 제3 인수 `option`은 소수점기호와 같은 기본 로케일 고유의 서식설정문자를 덮어쓰는데에 사용됩니다. 이 인수를 지정할 경우, XPath F&O 3.1사양의 수치형식에 기술되어있는 name/value 쌍을 포함하는 오브젝트여야 합니다."
},
"$formatBase":{
"args":"number [, radix]",
"desc":"`number`를 인수 `radix`에 지정한 값을 기수로하는 문자열로 변환합니다. `radix`가 지정되지 않은 경우, 기수 10이 기본값으로 설정됩니다. `radix`에는 2~36의 값을 설정할 수 있고, 그 외의 값의 경우에는 에러가 발생합니다."
},
"$toMillis":{
"args":"timestamp",
"desc":"ISO 8601 형식의 `timestamp`를 Unix Epoch (1970 년 1 월 1 일 UTC) 이후의 밀리 초 수로 변환합니다. 문자열이 올바른 형식이 아닌 경우 에러가 발생합니다."
},
"$env":{
"args":"arg",
"desc":"환경변수를 값으로 반환합니다.\n\n 이 함수는 Node-RED 정의 함수입니다."
"desc":"Преобразует параметр `arg` в строку, используя следующие правила приведения:\n\n - Строки возвращаются как есть\n - Функции преобразуются в пустую строку\n - Числовая бесконечность и NaN выдают ошибку, поскольку они не могут быть представлены числом в JSON\n - Все остальные значения преобразуются в строку JSON с помощью функции `JSON.stringify`. Если значение `prettify` равно true, тогда будет сгенерирован \"отформатированный\" JSON. То есть каждое поле будет в отдельной строке, а строки будут иметь отступ в зависимости от глубины поля."
},
"$length":{
"args":"str",
"desc":"Возвращает количество символов в строке `str`. Выдается ошибка, если `str` не является строкой."
},
"$substring":{
"args":"str, start[, length]",
"desc":"Возвращает строку, содержащую символы из первого параметра `str`, начиная с позиции `start` (отсчет с нуля). Если указан `length`, то подстрока будет содержать максимум `length` символов. Если `start` отрицателен, то это означает количество символов с конца `str`."
},
"$substringBefore":{
"args":"str, chars",
"desc":"Возвращает подстроку перед первым вхождением последовательности символов `chars` в строке `str`. Если `str` не содержит `chars`, то он возвращает `str`."
},
"$substringAfter":{
"args":"str, chars",
"desc":"Возвращает подстроку после первого вхождения последовательности символов `chars` в строке `str`. Если `str` не содержит `chars`, то он возвращает `str`."
},
"$uppercase":{
"args":"str",
"desc":"Возвращает строку со всеми символами `str`, преобразованными в верхний регистр."
},
"$lowercase":{
"args":"str",
"desc":"Возвращает строку со всеми символами `str`, преобразованными в нижний регистр."
},
"$trim":{
"args":"str",
"desc":"Нормализует и обрезает все пробельные символы в строке `str`, выполняя следующие шаги:\n\n - Все символы табуляции, возврата каретки и перевода строки заменяются пробелами.\n- Последовательности пробелов сокращаются до одного пробела.\n- Пробелы в начале и конце `str` удаляются.\n\n Если `str` не указан (то есть эта функция вызывается без аргументов), тогда значение контекста используется в качестве значения `str`. Выдается ошибка, если `str` не является строкой."
},
"$contains":{
"args":"str, pattern",
"desc":"Возвращает `true`, если строка `str` соответствует шаблону `pattern`, в противном случае возвращает `false`. Если `str` не указан (то есть эта функция вызывается с одним аргументом), то значение контекста используется как значение `str`. Параметр `pattern` может быть либо строкой, либо регулярным выражением."
},
"$split":{
"args":"str[, separator][, limit]",
"desc":"Разбивает строку `str` на массив подстрок. Выдает ошибку, если `str` не является строкой. Необязательный параметр `separator` (строка или регулярное выражение) указывает символы внутри строки `str`, относительно которых она должна быть разделена. Если `separator` не указан, то предполагается пустая строка, и `str` будет разбит на массив из отдельных символов. Выдает ошибку, если `separator` не является строкой. Необязательный параметр `limit` - это число, указывающее максимальное количество подстрок для включения в результирующий массив. Любые дополнительные подстроки отбрасываются. Если `limit` не указан, то весь `str` разделяется без ограничения размера результирующего массива. Выдает ошибку, если `limit` не является положительным числом."
},
"$join":{
"args":"array[, separator]",
"desc":"Объединяет массив подстрок в одну объединенную строку, в которой каждая подстрока отделена необязательным параметром `separator`. Выдает ошибку, если входной массив содержит элемент, который не является строкой. Если `separator` не указан, то предполагается, что это пустая строка, то есть нет `separator` между подстроками. Выдает ошибку, если `separator` не является строкой."
},
"$match":{
"args":"str, pattern [, limit]",
"desc":"Применяет строку `str` к регулярному выражению `pattern` и возвращает массив объектов, каждый из которых содержит информацию о каждом совпадении внутри `str`."
},
"$replace":{
"args":"str, pattern, replacement [, limit]",
"desc":"Находит вхождения шаблона `pattern` в строке `str` и заменяет их на строку `replacement`.\n\nНеобязательный параметр `limit` - это максимальное количество замен."
},
"$now":{
"args":"",
"desc":"Создает отметку времени в формате, совместимом с ISO 8601, и возвращает ее как строку."
},
"$base64encode":{
"args":"string",
"desc":"Преобразует ASCII-строку в base-64 кодировку. Каждый символ в строке обрабатывается как байт двоичных данных. Для этого необходимо, чтобы все символы в строке находились в диапазоне от 0x00 до 0xFF, который включает все символы строк в URI-кодировке. Символы Юникода за пределами этого диапазона не поддерживаются."
},
"$base64decode":{
"args":"string",
"desc":"Преобразует байты в кодировке base-64 в строку, используя кодовую страницу Юникод UTF-8."
},
"$number":{
"args":"arg",
"desc":"Преобразует параметр `arg` в число с использованием следующих правил приведения:\n\n - Числа возвращаются как есть\n - Строки, которые содержат последовательность символов, представляющих допустимое в JSON число, преобразуются в это число\n - Все остальные значения вызывают ошибку."
},
"$abs":{
"args":"number",
"desc":"Возвращает абсолютное значение числа `number`."
},
"$floor":{
"args":"number",
"desc":"Возвращает значение числа `number`, округленное до ближайшего целого числа, которое меньше или равно `number`."
},
"$ceil":{
"args":"number",
"desc":"Возвращает значение числа `number`, округленное до ближайшего целого числа, которое больше или равно `number`."
},
"$round":{
"args":"number [, precision]",
"desc":"Возвращает значение числа `number`, округленное до количества десятичных знаков, указанных необязательным параметром `precision`."
},
"$power":{
"args":"base, exponent",
"desc":"Возвращает значение числа `base`, возведенное в степень `exponent`."
},
"$sqrt":{
"args":"number",
"desc":"Возвращает квадратный корень из значения числа `number`."
},
"$random":{
"args":"",
"desc":"Возвращает псевдослучайное число, которе больше или равно нулю и меньше единицы."
},
"$millis":{
"args":"",
"desc":"Возвращает число миллисекунд с начала Unix-эпохи (1 января 1970 года по Гринвичу) в виде числа. Все вызовы `$millis()` в пределах выполнения выражения будут возвращать одно и то же значение."
},
"$sum":{
"args":"array",
"desc":"Возвращает арифметическую сумму массива чисел `array`. Вызывает ошибку, если входной массив `array` содержит элемент, который не является числом."
},
"$max":{
"args":"array",
"desc":"Возвращает максимальное число в массиве чисел `array`. Вызывает ошибку, если входной массив `array` содержит элемент, который не является числом."
},
"$min":{
"args":"array",
"desc":"Возвращает минимальное число в массиве чисел `array`. Вызывает ошибку, если входной массив `array` содержит элемент, который не является числом."
},
"$average":{
"args":"array",
"desc":"Возвращает среднее значение массива чисел `array`. Вызывает ошибку, если входной массив `array` содержит элемент, который не является числом."
},
"$boolean":{
"args":"arg",
"desc":"Приводит аргумент к логическому значению, используя следующие правила: \n\n - Логические значения возвращаются как есть\n - пустая строка: `false`\n - непустая строка: `true`\n - число равное `0`: `false`\n - ненулевое число: `true`\n - `null` : `false`\n - пустой массив: `false`\n - массив, который содержит хотя бы один элемент, приводимый к `true`: `true`\n - массив, все элементы которого приводятся к `false`: `false`\n - пустой объект: `false`\n - непустой объект: `true`\n - функция: `false`"
},
"$not":{
"args":"arg",
"desc":"Возвращает логическое НЕ для аргумента. `arg` сначала приводится к логическому значению"
},
"$exists":{
"args":"arg",
"desc":"Возвращает логическое `true`, если выполнение выражения `arg` возвращает значение, или `false`, если выражение ничему не соответствует (например, путь к несуществующему полю)."
},
"$count":{
"args":"array",
"desc":"Возвращает количество элементов в массиве"
},
"$append":{
"args":"array, array",
"desc":"Присоединяет один массив к другому"
},
"$sort":{
"args":"array [, function]",
"desc":"Возвращает массив, содержащий все значения параметра `array`, но отсортированные по порядку.\n\nЕсли указан компаратор `function`, то это должна быть функция, которая принимает два параметра:\n\n`function(val1, val2)`\n\nЭту функцию вызывает алгоритм сортировки для сравнения двух значений: val1 и val2. Если значение val1 следует поместить после значения val2 в желаемом порядке сортировки, то функция должна возвращать логическое значение `true`, чтобы обозначить замену. В противном случае она должна вернуть `false`."
},
"$reverse":{
"args":"array",
"desc":"Возвращает массив, содержащий все значения из параметра `array`, но в обратном порядке."
},
"$shuffle":{
"args":"array",
"desc":"Возвращает массив, содержащий все значения из параметра `array`, но перемешанный в случайном порядке."
},
"$zip":{
"args":"array, ...",
"desc":"Возвращает свернутый (сжатый) массив, содержащий сгруппированные массивы значений из аргументов `array1` … `arrayN` по индексам 0, 1, 2...."
},
"$keys":{
"args":"object",
"desc":"Возвращает массив, содержащий ключи объекта. Если аргумент является массивом объектов, то возвращаемый массив содержит недублированный список всех ключей из всех объектов."
},
"$lookup":{
"args":"object, key",
"desc":"Возвращает значение, связанное с ключом в объекте. Если первый аргумент является массивом объектов, то просходит поиск по всем объектам в массиве, и возвращаются значения, связанные со всеми вхождениями ключа."
},
"$spread":{
"args":"object",
"desc":"Разбивает объект, содержащий пары ключ / значение, на массив объектов, каждый из которых имеет одну пару ключ / значение из входного объекта. Если параметр является массивом объектов, то результирующий массив содержит объект для каждой пары ключ / значение из каждого объекта предоставленного массива."
},
"$merge":{
"args":"array<object>",
"desc":"Объединяет массив объектов в один объект, содержащий все пары ключ / значение каждого из объектов входного массива. Если какой-либо из входных объектов содержит один и тот же ключ, возвращаемый объект будет содержать значение последнего в массиве. Вызывает ошибку, если входной массив содержит элемент, который не является объектом."
},
"$sift":{
"args":"object, function",
"desc":"Возвращает объект, который содержит только пары ключ / значение из параметра `object`, которые удовлетворяют предикату `function`, переданному в качестве второго параметра.\n\n`function`, которая передается в качестве второго параметра, должна иметь следующую сигнатуру:\n\n`function(value [, key [, object]])`"
},
"$each":{
"args":"object, function",
"desc":"Возвращает массив, который содержит значения, возвращаемые функцией `function` при применении к каждой паре ключ/значение из объекта `object`."
},
"$map":{
"args":"array, function",
"desc":"Возвращает массив, содержащий результаты применения функции `function` к каждому значению массива `array`.\n\nФункция `function`, указанная в качестве второго параметра, должна иметь следующую сигнатуру:\n\n`function(value [, index [, array]])`"
},
"$filter":{
"args":"array, function",
"desc":"Возвращает массив, содержащий только те значения из массива `array`, которые удовлетворяют предикату `function`.\n\nФункция `function`, указанная в качестве второго параметра, должна иметь следующую сигнатуру:\n\n`function(value [, index [, array]])`"
},
"$reduce":{
"args":"array, function [, init]",
"desc":"Возвращает агрегированное значение, полученное в результате последовательного применения функции `function` к каждому значению в массиве в сочетании с результатом от предыдущего применения функции.\n\nФункция должна принимать два аргумента и вести себя как инфиксный оператор между каждым значением в массиве `array`. Сигнатура `function` должна иметь форму: `myfunc($accumulator, $value[, $index[, $array]])`\n\nНеобязательный параметр `init` используется в качестве начального значения в агрегации."
},
"$flowContext":{
"args":"string[, string]",
"desc":"Извлекает свойство контекста потока.\n\nЭто функция от Node-RED."
},
"$globalContext":{
"args":"string[, string]",
"desc":"Извлекает свойство глобального контекста.\n\nЭто функция от Node-RED."
},
"$pad":{
"args":"string, width [, char]",
"desc":"Возвращает копию строки `string` с дополнительным заполнением, если необходимо, чтобы общее количество символов как минимум соответствовало абсолютному значению параметра `width`.\n\nЕсли `width` является положительным числом, то строка дополняется справа; если отрицательным, то дополняется слева.\n\nНеобязательный аргумент `char` указывает символ(ы) для заполнения. Если не указано, по умолчанию используется пробел."
},
"$fromMillis":{
"args":"number",
"desc":"Преобразует число, представляющее миллисекунды с начала Unix-эпохи (1 января 1970 года по Гринвичу), в строку отметки времени в формате ISO 8601."
},
"$formatNumber":{
"args":"number, picture [, options]",
"desc":"Преобразует число `number` в строку и форматирует ее в десятичное представление, как указано в строке `picture`.\n\nПоведение этой функции соответствует XPath/XQuery-функции fn:format-number, как определено в спецификация XPath F&O 3.1. Строка `picture` определяет, как форматируется число и имеет тот же синтаксис, что и fn:format-number.\n\nНеобязательный третий аргумент `options` используется для переопределения символов форматирования, специфичных для локали по умолчанию, таких как десятичный разделитель. Если аргумент указан, то это должен быть объект, содержащий пары имя/значение, указанные в разделе десятичного формата спецификации XPath F&O 3.1."
},
"$formatBase":{
"args":"number [, radix]",
"desc":"Преобразует число `number` в строку и форматирует ее в целое число, представленное в системе счисления, указанной аргументом `radix`. Если `radix` не указан, то по умолчанию используется десятичная. Значение 'radix` может быть от 2 до 36, в противном случае выдается ошибка."
},
"$toMillis":{
"args":"timestamp",
"desc":"Преобразует строку `timestamp` в формате ISO 8601 в число миллисекунд с начала Unix-эпохи (1 января 1970 года по Гринвичу). Вызывает ошибку, если строка в неправильном формате."
},
"$env":{
"args":"arg",
"desc":"Возвращает значение переменной среды.\n\nЭто функция от Node-RED."
},
"$eval":{
"args":"expr [, context]",
"desc":"Анализирует и исполняет строку `expr`, которая содержит JSON или выражение JSONata, используя текущий контекст в качестве контекста для исполнения."
},
"$formatInteger":{
"args":"number, picture",
"desc":"Преобразует число `number` в строку и форматирует ее в целочисленное представление, как указано в строке `picture`. Строка `picture` определяет, как форматируется число и имеет тот же синтаксис, что и `fn:format-integer` из спецификации XPath F&O 3.1."
},
"$parseInteger":{
"args":"string, picture",
"desc":"Разбирает содержимое строки `string` в целое число (как число JSON), используя формат, указанный в строке `picture`. Строковый параметр `picture` имеет тот же формат, что и `$formatInteger`."
},
"$error":{
"args":"[str]",
"desc":"Вызывает ошибку с сообщением. Необязательная строка `str` заменяет сообщение по умолчанию $error() function evaluated`"
},
"$assert":{
"args":"arg, str",
"desc":"Если значение `arg` равно true, функция возвращает значение undefined. Если значение `arg` равно false, генерируется исключение с `str` в качестве сообщения об исключении."
},
"$single":{
"args":"array, function",
"desc":"Возвращает одно-единственное значение из массива `array`, которое удовлетворяет предикату `function` (то есть когда `function` возвращает логическое `true` при передаче значения). Выдает исключение, если число подходящих значений не одно.\n\nФункция должна соответствовать следующей сигнатуре: `function(value [, index [, array]])` где value - элемент массива, index - позиция этого значения, а весь массив передается в качестве третьего аргумента"
},
"$encodeUrlComponent":{
"args":"str",
"desc":"Кодирует компонент Uniform Resource Locator (URL), заменяя каждый экземпляр определенных символов одной, двумя, тремя или четырьмя escape-последовательностями, представляющими кодировку UTF-8 символа.\n\nПример: `$encodeUrlComponent(\"?x=test\")` => `\"%3Fx%3Dtest\"`"
},
"$encodeUrl":{
"args":"str",
"desc":"Кодирует Uniform Resource Locator (URL), заменяя каждый экземпляр определенных символов одной, двумя, тремя или четырьмя escape-последовательностями, представляющими кодировку UTF-8 символа.\n\nПример: `$encodeUrl(\"https://mozilla.org/?x=шеллы\")` => `\"https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B\"`"
},
"$decodeUrlComponent":{
"args":"str",
"desc":"Декодирует компонент Uniform Resource Locator (URL), ранее созданный с помощью encodeUrlComponent.\n\nПример: `$decodeUrlComponent(\"%3Fx%3Dtest\")` => `\"?x=test\"`"
},
"$decodeUrl":{
"args":"str",
"desc":"Декодирует компонент Uniform Resource Locator (URL), ранее созданный с помощью encodeUrl. \n\nПример: `$decodeUrl(\"https://mozilla.org/?x=%D1%88%D0%B5%D0%BB%D0%BB%D1%8B\")` => `\"https://mozilla.org/?x=шеллы\"`"
},
"$distinct":{
"args":"array",
"desc":"Возвращает массив содержащий все элементы из массива `array`, с удаленными дупликатами"
},
"$type":{
"args":"value",
"desc":"Возвращает тип значения `value` в виде строки. Если `value` не определено, то будет возвращено `undefined`"
},
"$moment":{
"args":"[str]",
"desc":"Получает date объект, используя библиотеку Moment."
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.