kotlin-electron/karakum/src/jsMain/kotlin/electron/karakum/injections/BrowserEventInjection.kt [212:286]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "" } override fun inject(node: Node, context: InjectionContext, render: Render) = nullable { ensure(context.type == InjectionType.MEMBER) val name = ensureNotNull( nullable { ensure(isClassDeclaration(node)) ensureNotNull(node.name) } ?: nullable { ensure(isInterfaceDeclaration(node)) node.name } ) val typeScriptService = ensureNotNull(context.lookupService(typeScriptServiceKey)) val typeChecker = typeScriptService.program.getTypeChecker() val symbol = ensureNotNull(typeChecker.getSymbolAtLocation(name)) val mappedContainerName = eventContainerMap[name.text] val symbolEvents = ensureNotNull( if (mappedContainerName != null) { events.firstNotNullOfOrNull { (eventSymbol, it) -> nullable { val valueDeclaration = ensureNotNull(eventSymbol.valueDeclaration) ensure(isClassDeclaration(valueDeclaration)) ensure(valueDeclaration.name?.text == mappedContainerName) it } } } else { events[symbol] } ) val sourceFileName = ensureNotNull(node.getSourceFileOrNull()).fileName val moduleOpenEvents = openEvents.entries .firstOrNull { (fileName) -> sourceFileName.endsWith(fileName) } ?.value val moduleOverriddenEvents = overriddenEvents.entries .firstOrNull { (fileName) -> sourceFileName.endsWith(fileName) } ?.value val moduleIgnoredEvents = ignoredEvents.entries .firstOrNull { (fileName) -> sourceFileName.endsWith(fileName) } ?.value symbolEvents.entries .map { (eventName, parameters) -> val isOpen = moduleOpenEvents?.get(name.text)?.contains(eventName) ?: false val isOverridden = moduleOverriddenEvents?.get(name.text)?.contains(eventName) ?: false val isIgnored = moduleIgnoredEvents?.get(name.text)?.contains(eventName) ?: false if (isIgnored) { "" } else { val modifier = when { isOpen -> "open " isOverridden -> "override " else -> "" } val payload = parameters.joinToString(", ") { parameter -> parameter.type?.let { render(it) } ?: "Any?" } val key = camelize( eventName.replace("\\W".toRegex(), "-") ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - kotlin-electron/karakum/src/jsMain/kotlin/electron/karakum/injections/EventInjection.kt [296:370]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "" } override fun inject(node: Node, context: InjectionContext, render: Render) = nullable { ensure(context.type == InjectionType.MEMBER) val name = ensureNotNull( nullable { ensure(isClassDeclaration(node)) ensureNotNull(node.name) } ?: nullable { ensure(isInterfaceDeclaration(node)) node.name } ) val typeScriptService = ensureNotNull(context.lookupService(typeScriptServiceKey)) val typeChecker = typeScriptService.program.getTypeChecker() val symbol = ensureNotNull(typeChecker.getSymbolAtLocation(name)) val mappedContainerName = eventContainerMap[name.text] val symbolEvents = ensureNotNull( if (mappedContainerName != null) { events.firstNotNullOfOrNull { (eventSymbol, it) -> nullable { val valueDeclaration = ensureNotNull(eventSymbol.valueDeclaration) ensure(isClassDeclaration(valueDeclaration)) ensure(valueDeclaration.name?.text == mappedContainerName) it } } } else { events[symbol] } ) val sourceFileName = ensureNotNull(node.getSourceFileOrNull()).fileName val moduleOpenEvents = openEvents.entries .firstOrNull { (fileName) -> sourceFileName.endsWith(fileName) } ?.value val moduleOverriddenEvents = overriddenEvents.entries .firstOrNull { (fileName) -> sourceFileName.endsWith(fileName) } ?.value val moduleIgnoredEvents = ignoredEvents.entries .firstOrNull { (fileName) -> sourceFileName.endsWith(fileName) } ?.value symbolEvents.entries .map { (eventName, parameters) -> val isOpen = moduleOpenEvents?.get(name.text)?.contains(eventName) ?: false val isOverridden = moduleOverriddenEvents?.get(name.text)?.contains(eventName) ?: false val isIgnored = moduleIgnoredEvents?.get(name.text)?.contains(eventName) ?: false if (isIgnored) { "" } else { val modifier = when { isOpen -> "open " isOverridden -> "override " else -> "" } val payload = parameters.joinToString(", ") { parameter -> parameter.type?.let { render(it) } ?: "Any?" } val key = camelize( eventName.replace("\\W".toRegex(), "-") ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -