MCPcopy Create free account
hub / github.com/breck7/scroll / asJavascriptClass

Method asJavascriptClass

external/.scrollLibs.js:19682–19696  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

19680 return particleDef.generatedClassName
19681 }
19682 get asJavascriptClass() {
19683 const components = [this.parserAsJavascript, this.errorMethodToJavascript, this.atomGettersAndParserConstants, this.customJavascriptMethods].filter(identity => identity)
19684 const thisClassName = this.generatedClassName
19685 if (this._amIRoot()) {
19686 components.push(`static _parserSourceCode = \`${Utils.escapeBackTicks(this.parent.toString().replace(/\\/g, "\\\\"))}\`
19687 static cachedHandParsersProgramRoot = new HandParsersProgram(this._parserSourceCode)
19688 get handParsersProgram() {
19689 return this.constructor.cachedHandParsersProgramRoot
19690 }`)
19691 components.push(`static rootParser = ${thisClassName}`)
19692 }
19693 return `class ${thisClassName} extends ${this._getExtendsClassName()} {
19694 ${components.join("\n")}
19695 }`
19696 }
19697 _getExtendsClassName() {
19698 const extendedDef = this._getExtendedParent()
19699 return extendedDef ? extendedDef.generatedClassName : "ParserBackedParticle"

Callers

nothing calls this directly

Calls 7

_amIRootMethod · 0.95
_getExtendsClassNameMethod · 0.95
escapeBackTicksMethod · 0.80
replaceMethod · 0.80
filterMethod · 0.45
toStringMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected