UNPKG

mathjslab

Version:

MathJSLab - An interpreter with language syntax like MATLAB®/Octave. ISBN 978-65-00-82338-7

32 lines (31 loc) 1.02 kB
export class CharString { readonly type = 3; public str: string; constructor(str: string) { this.str = str; } get string(): string { return this.str.substring(1, this.str.length - 1); } static isThis(obj: any): boolean { return 'str' in obj; } static parse(str: string): CharString { return new CharString(str); } static unparse(value: CharString): string { return value.str; } static unparseMathML(value: CharString): string { return '<mn>' + value.str + '</mn>'; } static removeQuotes(value: CharString): CharString { const firstchar = value.str[0]; const lastchar = value.str[value.str.length - 1]; if (value.str.length >= 2 && ((firstchar === '"' && lastchar === '"') || (firstchar === "'" && lastchar === "'"))) { return new CharString(value.str.substring(1, value.str.length - 1)); } else { return value; } } }