MCPcopy Create free account
hub / github.com/MirrowApp/mirrow / parseElementBlock

Method parseElementBlock

packages/core/src/compiler/parser.ts:441–467  ·  view source on GitHub ↗
(
    keyword: Keyword,
    blockToken: Token
  )

Source from the content-addressed store, hash-verified

439 }
440
441 private parseElementBlock(
442 keyword: Keyword,
443 blockToken: Token
444 ): ElementBlockEntries {
445 const raw = blockToken.value;
446 if (!raw.startsWith("{") || !raw.endsWith("}")) {
447 throw new ParserError(
448 `Malformed block for <${keyword.name}>`,
449 blockToken.position
450 );
451 }
452
453 const inner = raw.slice(1, raw.length - 1);
454 if (inner.trim().length === 0) {
455 return {
456 attributes: [],
457 children: [],
458 cssStates: new Set(),
459 jsEvents: new Set(),
460 dataId: null,
461 };
462 }
463
464 const blockTokens = tokenize(inner);
465 const nestedParser = new Parser(blockTokens, this.symbolTable);
466 return nestedParser.collectBlockEntries(keyword);
467 }
468
469 private parseAttributeEntry(
470 parentKeyword: Keyword,

Callers 1

parseElementMethod · 0.95

Calls 2

collectBlockEntriesMethod · 0.95
tokenizeFunction · 0.85

Tested by

no test coverage detected