Socket
Socket
Sign inDemoInstall

@flowfact/node-flowdsl

Package Overview
Dependencies
0
Maintainers
3
Versions
39
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @flowfact/node-flowdsl

A builder to create valid FlowDsl-queries which can be used to retrieve entities in the FLOWFACT platform


Version published
Weekly downloads
131
decreased by-17.61%
Maintainers
3
Created
Weekly downloads
 

Readme

Source
FLOWFACT logo

@flowfact/node-flowdsl

The DslBuilder is the main component to start writing search-queries for the FLOWFACT platform. It generates a valid FlowDsl-query in the json format. This can be used as a payload to retrieve entities via the search-service

Installation

@flowfact/node-flowdsl is available as an npm package.

// with npm
npm install @flowfact/node-flowdsl

// with yarn
yarn add @flowfact/node-flowdsl

Examples

Retrieve an entity which has a certain field

new DslBuilder()
    .withCondition(c => c.hasField('status'))
    .build();

which results in:

{
    "target": "ENTITY",
    "fetch": [],
    "aggregations": [],
    "conditions": [
        {
            "type": "HASFIELD",
            "field": "status",
            "joinField": [],
            "alsoNotEmpty": false
        }
    ],
    "distinct": false,
    "joins": [],
    "sorts": [],
    "schemaIds": []
}

Retrieve an entity which has a certain field and value

new DslBuilder()
    .withCondition(c => c.hasField('status'))
    .build();

which results in:

{
    "target": "ENTITY",
    "fetch": [],
    "aggregations": [],
    "conditions": [
        {
            "type": "HASFIELDWITHVALUE",
            "field": "status",
            "value": "active",
            "operator": "EQUALS"
        }
    ],
    "distinct": false,
    "joins": [],
    "sorts": [],
    "schemaIds": []
}

Retrieve 2 entities by their entityId's and only return the fields id and status

new DslBuilder()
    .fetch('id', 'status')
    .withCondition(c => c.hasEntityIds(['eacdb1d0-741a-407f-8daa-90806f46b7c3', 'aaedb1d0-781a-417f-8daa-90807f42e7c3']))
    .build();

which results in:

{
    "target": "ENTITY",
    "fetch": [
        "id",
        "status"
    ],
    "aggregations": [],
    "conditions": [
        {
            "type": "ENTITYID",
            "values": [
                "eacdb1d0-741a-407f-8daa-90806f46b7c3",
                "aaedb1d0-781a-417f-8daa-90807f42e7c3"
            ]
        }
    ],
    "distinct": false,
    "joins": [],
    "sorts": [],
    "schemaIds": []
}

Issue tracking

Please open a issue if you find a bug or you want to make a feature request.

Be a contributor

Please make pull-requests, if you want to make some changes :)

Testing

Tests are implemented using jest and can be found in /src/__tests__

License

This project is licensed under the terms of the MIT license.

FAQs

Last updated on 22 Jan 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc