 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- type JavascriptProcessor
- func (p *JavascriptProcessor) Configure(ctx context.Context, c config.Config) error
- func (p *JavascriptProcessor) Open(context.Context) error
- func (p *JavascriptProcessor) Process(_ context.Context, records []opencdc.Record) []sdk.ProcessedRecord
- func (p *JavascriptProcessor) Specification() (sdk.Specification, error)
- func (p *JavascriptProcessor) Teardown(context.Context) error
 
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type JavascriptProcessor ¶ added in v0.13.4
type JavascriptProcessor struct {
	sdk.UnimplementedProcessor
	// contains filtered or unexported fields
}
    Example ¶
p := NewJavascriptProcessor(log.Nop())
exampleutil.RunExample(p, exampleutil.Example{
	Summary: "Modify a record's metadata and payload using JavaScript",
	Description: "In this example we use the `custom.javascript` processor to add a metadata key " +
		"to the input record. It also prepends \"hello, \" to `.Payload.After`.",
	Config: config.Config{
		"script": `function process(rec) {
  rec.Metadata["processed"] = "true";
  let existing = String.fromCharCode.apply(String, rec.Payload.After);
  rec.Payload.After = RawData("hello, " + existing);
  return rec;
}`,
	},
	Have: opencdc.Record{
		Metadata: map[string]string{
			"existing-key": "existing-value",
		},
		Payload: opencdc.Change{
			After: opencdc.RawData("world"),
		},
	},
	Want: sdk.SingleRecord{
		Metadata: map[string]string{
			"existing-key": "existing-value",
			"processed":    "true",
		},
		Payload: opencdc.Change{
			After: opencdc.RawData("hello, world"),
		},
	},
})
Output: processor transformed record: --- before +++ after @@ -1,12 +1,13 @@ { "position": null, "operation": "Operation(0)", "metadata": { - "existing-key": "existing-value" + "existing-key": "existing-value", + "processed": "true" }, "key": null, "payload": { "before": null, - "after": "world" + "after": "hello, world" } }
func NewJavascriptProcessor ¶
func NewJavascriptProcessor(logger log.CtxLogger) *JavascriptProcessor
func (*JavascriptProcessor) Open ¶ added in v0.13.4
func (p *JavascriptProcessor) Open(context.Context) error
func (*JavascriptProcessor) Process ¶ added in v0.13.4
func (p *JavascriptProcessor) Process(_ context.Context, records []opencdc.Record) []sdk.ProcessedRecord
func (*JavascriptProcessor) Specification ¶ added in v0.13.4
func (p *JavascriptProcessor) Specification() (sdk.Specification, error)
 Click to show internal directories. 
   Click to hide internal directories.