UNPKG

bitwig-types-generator

Version:
45 lines 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BitwigApiClass = void 0; const BitwigApiEntity_1 = require("./BitwigApiEntity"); const BitwigApiMethod_1 = require("./BitwigApiMethod"); class BitwigApiClass extends BitwigApiEntity_1.BitwigApiEntity { sort = 200; staticAttributes = new Map(); staticMethods = new Map(); methods = new Map(); setStaticPublicAttributes({ id, def, type }) { const t = type.match(/static final (\w+)/)[1]; const line = "static " + def.replace(/\s*=(.+)$/, `: ${t}; //$1\n`); this.staticAttributes.set(id, line); } setStaticPublicMemberFunctions({ id, def, type }) { const method = new BitwigApiMethod_1.BitwigApiMethod(def, type, true); this.staticMethods.set(id, method); } setPublicMemberFunctions({ id, def, type }) { const method = new BitwigApiMethod_1.BitwigApiMethod(def, type); this.methods.set(id, method); } setMemberFunctionDocumentation(id, desc) { let method = this.methods.get(id) || this.staticMethods.get(id); method.setDescription(desc); } toType() { let body = this.description; body += `${this.declaration.type} ${this.declaration.value} {\n`; for (const line of this.staticAttributes.values()) { body += line; } for (const method of this.staticMethods.values()) { body += method.toType(); } for (const method of this.methods.values()) { body += method.toType(); } body += "}"; return body; } } exports.BitwigApiClass = BitwigApiClass; //# sourceMappingURL=BitwigApiClass.js.map