jdevillard / JmesPath.Net

A fully compliant implementation of JMESPATH for .NetCore

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add extension point to register custom function implementation

NikiforovAll opened this issue · comments

Hi,

I would like you to consider adding a feature to register a custom JmesPathFunction, so it is possible to use JMESPath in more advanced scenarios.

It could be something simple as constructor overload that exposes Action<IRegisterFunctions> as a parameter.

Roughly speaking:

public JmesPath(Action<IRegisterFunctions> factory) {
  repository_ = JmesPathFunctionFactory.Create(evaluator_);
  factory.Invoke(repository_);
}

Please let me know if you accept contributions, I would be more than happy to add this feature.

Thanks for your feedback.
Great news ! This feature is already implemented😀.

I agree this needs more / better documentation.
In the meantime, please look at the compliance tool to understand what is expected.

Also, you can look at my obsolete repository of custom extensions as a starting point for yours.

Thank you for the help and prompt reply.

@NikiforovAll Thanks for the pointer.

We had actually touched on this feature in the official page.
https://jdevillard.github.io/JmesPath.Net/

For some reason, this page is not linked from the repository instructions.