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