Coder Social home page Coder Social logo

cesarparra / expression Goto Github PK

View Code? Open in Web Editor NEW
9.0 9.0 1.0 13.75 MB

Evaluate formulas through Apex code.

Home Page: https://cesarparra.github.io/expression/

License: MIT License

Apex 79.25% HTML 5.17% JavaScript 14.18% CSS 1.15% TypeScript 0.24%
apex aura cloud formula formulas lwc salesforce sfdx

expression's People

Contributors

cesarparra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

afrog33k

expression's Issues

Batch support for Custom Function?

Hi, when we run the same expression against a batch of records in apex, we may use some custom function to make apex callouts to fetch some data. I noticed that the custom function signature is like:
Object run(List<Object>), which does not support bulk function invocation. So when we run the expression during the loop of records, we may make one callout for each method invocation. Do we have any more efficient way to handle this? Thanks in advance.

List Start Index 0 or 1?

Hi, when I was using list related functions, something got me quite confused.

SUBSTRING function says that lists start index is 1-based, but AT function seems to be 0-based. Can you help clarify which is correct? Thank you for your help.

Improve component configuration through custom LWC Experience Builder editors

Salesforce is making available the use of custom editors for LWC components in Experience Builder sites. We want to improve the way the components can be configured by taking advantage of this.

For example, instead of configuring the Expression string in a text box, maybe we can expose the Playground IDE

Release core language as managed package

We want to release the core language as a managed package instead of an unlocked package, with the purpose of eventually taking the project through security review.

Improve the way LWC component contracts work

Improve the way LWC component contracts work and are self-documented in the Experience Builder, without having to go to the documentation to search for the correct data structure to be passed.

Maybe using zod?

Spring '24 updates

Update the project to:

  • Use API 60
  • Use null coalesce whenever it can improve the code.

Playground errors should reset when the "Validate" button is hit

Currently the Playground displays errors when there is an error that occurs while running an Expression. This is displayed as a red squiggly line under the issue. These errors are reset when the user types something different in the editor.

But these should also go away when the Validate button gets hit again, as it is possible that the error does not apply anymore (for a number of reasons: the data in the DB that was causing the issue changed, the user provided a different Record Id context, etc.)

Docs FAVICO

Add a FAVICO with the Expression logo to the docs.

Invocable endpoint

Create an Invocable Action endpoint that receives a String using the Expression syntax and returns the evaluated result.

Take into account:

  • Since an Expression evaluation can return any kind of Object, what should be returned back to the Invocable?
  • Error handling - we should return a proper error to the caller and avoid exceptions.

RAWQUERY function

Create a function (RAWQUERY) that allows someone to pass a straight up SOQL query and get the list of records back.

Run expression for a batch of records?

Hi, I have a scenario that we want to enable admins to configure an expression as a criteria to filter a list of records in apex. With a batch of records, how can we run the expression against each record? If we pass in the record id as the context, then each query will be issued when running the expression and this will exceed the limit. If we pre-fetch the records and pass in the record as the context, we don't know which fields are used in the expression so that we can query. Do you have any suggestions here?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.