UNPKG

@dialog-db/query

Version:

Datalog query engine inspired by Datomic

90 lines 4.12 kB
export class FormulaApplication { /** * @param {API.SystemOperator} source * @param {Map<API.Variable, number>} cells * @param {Record<string, API.Term>|API.Term} from * @param {Record<string, API.Term>} to * @param {API.Cursor} cursor * @param {API.MatchFrame} parameters */ constructor(source: API.SystemOperator, cells: Map<API.Variable, number>, from: Record<string, API.Term> | API.Term, to: Record<string, API.Term>, cursor: API.Cursor, parameters: API.MatchFrame); cells: Map<API.Variable<API.Scalar>, number>; source: API.SystemOperator; from: API.Term<API.Scalar> | Record<string, API.Term<API.Scalar>>; to: Record<string, API.Term<API.Scalar>>; cursor: API.Cursor; parameters: API.MatchFrame; get recurs(): null; /** * @template {API.Terms} Terms * @param {Terms} terms * @param {API.MatchFrame} bindings * @returns {API.InferTerms<Terms>} */ resolve<Terms extends API.Terms>(terms: Terms, bindings: API.MatchFrame): API.InferTerms<Terms>; /** * @param {API.EvaluationContext} context */ evaluate({ selection }: API.EvaluationContext): Generator<never, Map<API.Variable<API.Scalar>, API.Scalar>[], unknown>; /** * @template {API.Terms} Terms * @param {API.MatchFrame} frame * @returns {API.InferTerms<Terms>} */ read<Terms extends API.Terms>(frame: API.MatchFrame): API.InferTerms<Terms>; /** * @param {API.MatchFrame} frame * @param {Record<string, API.Scalar>} extension */ write(frame: API.MatchFrame, extension: Record<string, API.Scalar>): Map<API.Variable<API.Scalar>, API.Scalar>[]; toJSON(): { match: API.FormulaMatch<{ of: API.Numeric; by: API.Numeric; }, API.Numeric> | API.FormulaMatch<{ of: API.Numeric; by: API.Numeric; }, API.Numeric> | API.FormulaMatch<{ of: API.Numeric; by: API.Numeric; }, API.Numeric> | API.FormulaMatch<{ of: API.Numeric; with: API.Numeric; }, API.Numeric> | API.FormulaMatch<{ this: string | number; than: string | number; }, {}> | API.FormulaMatch<boolean, boolean> | API.FormulaMatch<API.Scalar, API.Scalar> | API.FormulaMatch<{ this: string | number; than: string | number; }, {}> | API.FormulaMatch<{ this: string | number; than: string | number; }, {}> | API.FormulaMatch<{ this: string | number; than: string | number; }, {}> | API.FormulaMatch<API.Scalar, API.TypeName> | API.FormulaMatch<Record<string, API.Scalar>, API.Link<Record<string, API.Scalar>, 113, 30>> | API.FormulaMatch<{ text: string; pattern: string; }, string> | API.FormulaMatch<string, number> | API.FormulaMatch<string, string> | API.FormulaMatch<Uint8Array<ArrayBufferLike>, string> | API.FormulaMatch<string, Uint8Array<ArrayBufferLike>> | API.FormulaMatch<{ this: string; slice: string; }, true> | API.FormulaMatch<{ of: string; start: string; end: string; }, string> | API.FormulaMatch<{ of: string; with: string; }, string> | API.FormulaMatch<{ of: API.Numeric; by: API.Numeric; }, API.Numeric> | API.FormulaMatch<{ of: API.Numeric; by: API.Numeric /** @type {(input: API.Operand) => Iterable<API.Operand>} */; }, number> | API.FormulaMatch<number, number>; operator: "/" | "*" | "%" | "+" | "<" | "!" | "==" | ">" | ">=" | "<=" | "data/type" | "data/refer" | "text/like" | "text/length" | "text/words" | "text/lines" | "text/case/upper" | "text/case/lower" | "text/trim" | "text/trim/start" | "text/trim/end" | "utf8/to/text" | "text/to/utf8" | "text/includes" | "text/slice" | "text/concat" | "-" | "**" | "math/absolute"; }; toDebugString(): string; } import * as API from '../api.js'; //# sourceMappingURL=formula.d.ts.map