UNPKG

@tripetto/block-calculator

Version:

Calculator block for Tripetto.

88 lines (87 loc) 2.74 kB
/** 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; }