Skip to content

Javascript Custom Function - Object Serialization Error #2165

@DMCTowns

Description

@DMCTowns

Steps:

1. Run the test Docker image

docker run --rm -p 2480:2480 -p 2424:2424
           -e JAVA_OPTS="-Darcadedb.server.rootPassword=playwithdata -Darcadedb.server.defaultDatabases=Imported[root]{import:https://github.com/ArcadeData/arcadedb-datasets/raw/main/orientdb/OpenBeer.gz}"
           arcadedata/arcadedb:latest

2. Define a function that takes an object as an argument

DEFINE FUNCTION Test.objectComparison "return a.foo == 'bar'" PARAMETERS [a] LANGUAGE js

3. Test the function

SELECT `Test.objectComparison`({"foo":"bar"}) as matchRating

Result:

SEVER [PostCommandHandler] <ArcadeDB_0> Error on command execution (PostCommandHandler): SyntaxError: src.js:1:22 Invalid shorthand property name initializer in object literal
objectComparison( {foo=bar})
                      ^

Something seems to be rendering supplied parameter objects as { key = value } (invalid Javascript) instead of { key : value } (this also appears to be the case for objects rendered from the database).

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions