123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.ClassAccessorProperty = ClassAccessorProperty;
- exports.ClassBody = ClassBody;
- exports.ClassExpression = exports.ClassDeclaration = ClassDeclaration;
- exports.ClassMethod = ClassMethod;
- exports.ClassPrivateMethod = ClassPrivateMethod;
- exports.ClassPrivateProperty = ClassPrivateProperty;
- exports.ClassProperty = ClassProperty;
- exports.StaticBlock = StaticBlock;
- exports._classMethodHead = _classMethodHead;
- var _t = require("@babel/types");
- const {
- isExportDefaultDeclaration,
- isExportNamedDeclaration
- } = _t;
- function ClassDeclaration(node, parent) {
- const inExport = isExportDefaultDeclaration(parent) || isExportNamedDeclaration(parent);
- if (!inExport || !this._shouldPrintDecoratorsBeforeExport(parent)) {
- this.printJoin(node.decorators);
- }
- if (node.declare) {
- this.word("declare");
- this.space();
- }
- if (node.abstract) {
- this.word("abstract");
- this.space();
- }
- this.word("class");
- if (node.id) {
- this.space();
- this.print(node.id);
- }
- this.print(node.typeParameters);
- if (node.superClass) {
- this.space();
- this.word("extends");
- this.space();
- this.print(node.superClass);
- this.print(node.superTypeParameters);
- }
- if (node.implements) {
- this.space();
- this.word("implements");
- this.space();
- this.printList(node.implements);
- }
- this.space();
- this.print(node.body);
- }
- function ClassBody(node) {
- this.tokenChar(123);
- if (node.body.length === 0) {
- this.tokenChar(125);
- } else {
- this.newline();
- const separator = classBodyEmptySemicolonsPrinter(this, node);
- separator == null || separator(-1);
- const exit = this.enterDelimited();
- this.printJoin(node.body, {
- statement: true,
- indent: true,
- separator,
- printTrailingSeparator: true
- });
- exit();
- if (!this.endsWith(10)) this.newline();
- this.rightBrace(node);
- }
- }
- function classBodyEmptySemicolonsPrinter(printer, node) {
- if (!printer.tokenMap || node.start == null || node.end == null) {
- return null;
- }
- const indexes = printer.tokenMap.getIndexes(node);
- if (!indexes) return null;
- let k = 1;
- let occurrenceCount = 0;
- let nextLocIndex = 0;
- const advanceNextLocIndex = () => {
- while (nextLocIndex < node.body.length && node.body[nextLocIndex].start == null) {
- nextLocIndex++;
- }
- };
- advanceNextLocIndex();
- return i => {
- if (nextLocIndex <= i) {
- nextLocIndex = i + 1;
- advanceNextLocIndex();
- }
- const end = nextLocIndex === node.body.length ? node.end : node.body[nextLocIndex].start;
- let tok;
- while (k < indexes.length && printer.tokenMap.matchesOriginal(tok = printer._tokens[indexes[k]], ";") && tok.start < end) {
- printer.token(";", undefined, occurrenceCount++);
- k++;
- }
- };
- }
- function ClassProperty(node) {
- this.printJoin(node.decorators);
- if (!node.static && !this.format.preserveFormat) {
- var _node$key$loc;
- const endLine = (_node$key$loc = node.key.loc) == null || (_node$key$loc = _node$key$loc.end) == null ? void 0 : _node$key$loc.line;
- if (endLine) this.catchUp(endLine);
- }
- this.tsPrintClassMemberModifiers(node);
- if (node.computed) {
- this.tokenChar(91);
- this.print(node.key);
- this.tokenChar(93);
- } else {
- this._variance(node);
- this.print(node.key);
- }
- if (node.optional) {
- this.tokenChar(63);
- }
- if (node.definite) {
- this.tokenChar(33);
- }
- this.print(node.typeAnnotation);
- if (node.value) {
- this.space();
- this.tokenChar(61);
- this.space();
- this.print(node.value);
- }
- this.semicolon();
- }
- function ClassAccessorProperty(node) {
- var _node$key$loc2;
- this.printJoin(node.decorators);
- const endLine = (_node$key$loc2 = node.key.loc) == null || (_node$key$loc2 = _node$key$loc2.end) == null ? void 0 : _node$key$loc2.line;
- if (endLine) this.catchUp(endLine);
- this.tsPrintClassMemberModifiers(node);
- this.word("accessor", true);
- this.space();
- if (node.computed) {
- this.tokenChar(91);
- this.print(node.key);
- this.tokenChar(93);
- } else {
- this._variance(node);
- this.print(node.key);
- }
- if (node.optional) {
- this.tokenChar(63);
- }
- if (node.definite) {
- this.tokenChar(33);
- }
- this.print(node.typeAnnotation);
- if (node.value) {
- this.space();
- this.tokenChar(61);
- this.space();
- this.print(node.value);
- }
- this.semicolon();
- }
- function ClassPrivateProperty(node) {
- this.printJoin(node.decorators);
- if (node.static) {
- this.word("static");
- this.space();
- }
- this.print(node.key);
- this.print(node.typeAnnotation);
- if (node.value) {
- this.space();
- this.tokenChar(61);
- this.space();
- this.print(node.value);
- }
- this.semicolon();
- }
- function ClassMethod(node) {
- this._classMethodHead(node);
- this.space();
- this.print(node.body);
- }
- function ClassPrivateMethod(node) {
- this._classMethodHead(node);
- this.space();
- this.print(node.body);
- }
- function _classMethodHead(node) {
- this.printJoin(node.decorators);
- if (!this.format.preserveFormat) {
- var _node$key$loc3;
- const endLine = (_node$key$loc3 = node.key.loc) == null || (_node$key$loc3 = _node$key$loc3.end) == null ? void 0 : _node$key$loc3.line;
- if (endLine) this.catchUp(endLine);
- }
- this.tsPrintClassMemberModifiers(node);
- this._methodHead(node);
- }
- function StaticBlock(node) {
- this.word("static");
- this.space();
- this.tokenChar(123);
- if (node.body.length === 0) {
- this.tokenChar(125);
- } else {
- this.newline();
- this.printSequence(node.body, {
- indent: true
- });
- this.rightBrace(node);
- }
- }
- //# sourceMappingURL=classes.js.map
|