Skip to main content

Class: FnCall

Defined in: packages/core/src/plan/operators/item/fn-call.ts:20

A scalar function call whose arguments may be identifiers or subquery operators.

Implements

Constructors

Constructor

new FnCall(lang, args, impl, pure?): FnCall

Defined in: packages/core/src/plan/operators/item/fn-call.ts:24

Parameters

ParameterTypeDefault valueDescription
langLowercase<string>undefinedPlanOperator.lang
args(ASTIdentifier | PlanOpAsArg)[]undefinedArguments to the function; each is either an identifier or a subquery wrapped in PlanOpAsArg.
impl(...args) => anyundefinedFunction implementation.
purebooleanfalseFunction is pure if it has no side effects and always returns the same output for the same input. This means that () => ({}) is not pure.

Returns

FnCall

Properties

[CalcIntermediate]

[CalcIntermediate]: boolean = true

Defined in: packages/core/src/plan/operators/item/fn-call.ts:22

Marks this as a CalcIntermediate sub-operator of a Calculation.


args

args: (ASTIdentifier | PlanOpAsArg)[]

Defined in: packages/core/src/plan/operators/item/fn-call.ts:28

Arguments to the function; each is either an identifier or a subquery wrapped in PlanOpAsArg.


impl

impl: (...args) => any

Defined in: packages/core/src/plan/operators/item/fn-call.ts:30

Function implementation.

Parameters

ParameterType
...argsany[]

Returns

any


lang

lang: Lowercase<string>

Defined in: packages/core/src/plan/operators/item/fn-call.ts:26

PlanOperator.lang

Implementation of

PlanOperator.lang


pure

pure: boolean = false

Defined in: packages/core/src/plan/operators/item/fn-call.ts:35

Function is pure if it has no side effects and always returns the same output for the same input. This means that () => ({}) is not pure.

Methods

accept()

accept<Ret, Arg>(visitors, arg?): Ret

Defined in: packages/core/src/plan/operators/item/fn-call.ts:45

PlanOperator.accept

Type Parameters

Type Parameter
Ret
Arg

Parameters

ParameterType
visitorsRecord<string, PlanVisitor<Ret, Arg>>
arg?Arg

Returns

Ret

Implementation of

PlanOperator.accept


clone()

clone(meta?): FnCall

Defined in: packages/core/src/plan/operators/item/fn-call.ts:77

Clone this FnCall

Parameters

ParameterTypeDescription
meta?ArgMeta[]provided by cloned Calculation, should be modified in-place to reflect new locations of arguments

Returns

FnCall

Implementation of

PlanOperator.clone


getChildren()

getChildren(): PlanOperator[]

Defined in: packages/core/src/plan/operators/item/fn-call.ts:62

PlanOperator.getChildren

Returns

PlanOperator[]

Implementation of

PlanOperator.getChildren


getDependencies()

getDependencies(): IdSet

Defined in: packages/core/src/plan/operators/item/fn-call.ts:110

PlanOperator.getDependencies

Returns

IdSet

Implementation of

PlanOperator.getDependencies


replaceChild()

replaceChild(current, replacement): void

Defined in: packages/core/src/plan/operators/item/fn-call.ts:52

PlanOperator.replaceChild

Parameters

ParameterType
currentPlanOperator
replacementPlanOperator

Returns

void

Implementation of

PlanOperator.replaceChild