{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://flowable.com/functionDelegates.json", "type": "array", "title": "The Design Function Delegates Schema", "description": "This is a helper resource, not officially supported", "items": { "minItems": 1, "$ref": "#/definitions/functionDelegate" }, "definitions": { "functionDelegate": { "type": "object", "required": [ "name" ], "properties": { "id": { "type": "string", "title": "ID", "description": "The id of the function delegate. If not provided it will be computed from the prefix and name" }, "prefix": { "type": "string", "title": "Prefix", "description": "The prefix of the function delegate. e.g. if the prefix is vars and the name is empty the used function will be vars:empty" }, "name": { "type": "string", "title": "Name", "description": "The name of the function delegate. e.g. if the prefix is vars and the name is empty the used function will be vars:empty" }, "label": { "type": "string", "title": "Label", "description": "The label for the function delegate" }, "description": { "type": "string", "title": "Description", "description": "The label for the function delegate" }, "operatorAlternative": { "type": "string", "title": "Operator alternative", "description": "The alternative operator that can be used for this function" }, "returnType": { "title": "Return type", "description": "The return type of the function", "anyOf": [ { "type": "string", "enum": [ "string", "boolean", "number" ] }, { "type": "string" } ] }, "scopeTypes": { "type": "array", "title": "Scope types", "description": "In which scope types should this function should be exposed", "items": [ { "type": "string", "enum": [ "bpmn", "cmmn" ] } ] }, "parameters": { "type": "array", "items": { "$ref": "#/definitions/parameter" } } } }, "parameter": { "type": "object", "properties": { "allowedTypes": { "type": "array", "title": "Allowed types", "description": "The allowed types of the parameter", "minItems": 1, "items": [ { "type": "string", "enum": [ "string", "number", "any", "array", "collection", "date" ] } ] }, "allowedVariableScopes": { "type": "array", "title": "Allowed variable scopes", "description": "The allowed variable scopes of the parameter", "items": [ { "type": "string", "enum": [ "parent", "root" ] } ] }, "varArgs": { "type": "boolean", "title": "Var Args", "description": "Whether the parameter is a varags parameter" } } } } }