Skip to main content

Language Reference

API documentation and scripting guides for extending layline.io with custom JavaScript and Python code.

Overview

The Language Reference section provides comprehensive documentation for scripting within layline.io. While many integration challenges can be solved using built-in Assets, scripting processors give you the flexibility to implement custom business logic, data transformations, and complex processing workflows.

layline.io supports multiple scripting approaches, from full-featured JavaScript and Python runtimes to simplified QuickScript for common operations. This section contains the complete API reference, lifecycle documentation, and practical examples for each language.

Available Scripting Languages

LanguageDescription
JavaScriptFull-featured JavaScript scripting using GraalVM. Supports ECMAScript standards with access to the complete layline.io API for message processing, service integration, and workflow control.
PythonNative Python runtime for data processing and integration. Provides identical capabilities to JavaScript with Pythonic syntax and patterns.
QuickScriptSimplified expression language for quick data transformations and conditional logic without writing full scripts.
MacrosReusable script fragments that can be shared across multiple processors to avoid code duplication.

How to Choose a Scripting Language

If you need to...Use this approach
Write complex business logic with full control over message processingJavaScript or Python
Access external services and databases from within a WorkflowJavaScript or Python
Perform simple data transformations or field mappingsQuickScript
Share common functions across multiple scriptsMacros
Implement custom error handling and retry logicJavaScript or Python
Work with team members who prefer Python over JavaScriptPython

API Reference

Each scripting language has a complete API reference documenting:

  • Processor Classes — Lifecycle hooks (onMessage, onInit, onStreamStart, etc.) and core processing methods
  • Global Objects — Access to message, stream, processor, services, and other runtime objects
  • Type Definitions — Interfaces and enumerations for working with messages, ports, and data dictionaries
  • Utility Functions — Helper methods for common operations like logging, data conversion, and error handling

JavaScript API

The JavaScript API is organized into:

  • Classes — Core processor and utility classes
  • Interfaces — Type definitions for messages, streams, and configuration objects
  • Enumerations — Constants for states, error codes, and configuration options
  • Variables — Global variables available in the scripting context

Python API

The Python API mirrors the JavaScript API with Pythonic naming conventions:

  • Classes — Core processor classes (note: Python uses snake_case for lifecycle methods)
  • Interfaces — Type definitions and protocols
  • [Enumerations](./python/API/enumerations//index.md — Constants and enums
  • Variables — Global variables and constants