import ParseResult from "../testsuite/ParseResult"; import AAnnotation from "../parser/annotator/annotations/AAnnotation"; import { int } from "@cafetextual/nlist/dist/src/ntree/types"; import DebugParseResult from "./DebugParseResult"; import { wrapRawObject } from "@cafetextual/util/dist/src/serialize/ArchiveDeserializer"; export class IncrementalParseResult { start:int end:int annotations:Array> } export type ParseStatus = "breakpoint" | "line-increment" | "error" | "done" /** * * Communicates result of a parsgin */ export default class ParseResponse { docURI:string href:string // <--- documen uri version:string // <-- version of the document parsed status:ParseStatus result:ParseResult // <--- includes data object, ast , annotaion debugResult:DebugParseResult incrementalResult:IncrementalParseResult static createFromParseResult(docURI:string, href:string, version:string, result:ParseResult, omitData:boolean = false):ParseResponse { var out = new ParseResponse out.docURI = docURI out.href = href out.version = version; out.result = {...result} as ParseResult if (omitData) { out.result.data = null } else { var data = result.data if (data) { out.result.data = wrapRawObject(data) } } return out; } }