@tripetto/block-calculator
Version:
Calculator block for Tripetto.
88 lines (87 loc) • 2.74 kB
TypeScript
/** Dependencies */
import {
Collection,
Components,
EditorOrchestrator,
Slots,
} from "@tripetto/builder";
import { ICalculator } from "./interface";
import { TOperators } from "../runner/operators";
import { TOpcodes } from "../runner/opcodes";
import { TModes } from "../runner/modes";
import { TAngles } from "../runner/angles";
import { TAge } from "../runner/age";
import { IScores } from "../runner/scores";
export interface IOperation {
readonly name: (operation: Operation) => string | undefined;
readonly title: (operation: Operation) => string | undefined;
readonly editor: (
operation: Operation,
editor: EditorOrchestrator<Operation>
) => void;
}
export declare class Operation
extends Collection.Item<ICalculator>
implements ICalculator
{
readonly startBlank = false;
get calculator(): ICalculator;
get block(): import("@tripetto/builder").NodeBlock;
get outcome(): Slots.Numeric | undefined;
get icon(): string;
get name(): string;
get title(): string;
get width(): 520 | 475 | 400;
get menu(): Components.MenuSubmenuWithImage[];
operator: TOperators;
opcode: TOpcodes;
readonly operations: Collection.Provider<Operation, ICalculator>;
description?: string;
reference?: string | number;
value?: string | number;
exponent?: string | number;
cona?: string | number;
conb?: string | number;
outa?: string | number;
outb?: string | number;
compareMode?: TModes;
angleUnits?: TAngles;
ageIn?: TAge;
ageAbs?: boolean;
ignoreCase?: boolean;
scores?: IScores;
min?: string | number;
max?: string | number;
divisor?: string | number;
percentage?: string | number;
get isSubCalculation(): boolean;
get allowANS(): boolean;
static get(opcode: TOpcodes): IOperation;
set(props: {
readonly operator: TOperators;
readonly opcode: TOpcodes;
readonly value?: string | number;
readonly cona?: string | number;
readonly conb?: string | number;
readonly outa?: string | number;
readonly outb?: string | number;
readonly min?: string | number;
readonly max?: string | number;
readonly exponent?: string | number;
readonly divisor?: string | number;
readonly percentage?: string | number;
readonly ageAbs?: boolean;
readonly open?: boolean;
}): this;
format(
property: keyof this,
prefix?: string,
suffix?: string,
hasNumericSuffix?: boolean,
boldNumbers?: boolean,
defaultValue?: string
): string;
defineEditor(): void;
initOperation(): void;
deleteOperation(): void;
}