[ {
  "shortName" : "export default function MainPage()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/mainPage.tsx",
  "fileLinesCount" : 227,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 26,
  "endLine" : 143,
  "linesOfCode" : 115,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getSlackMessageEvent()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackMessageType.kt",
  "fileLinesCount" : 240,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 99,
  "endLine" : 211,
  "linesOfCode" : 102,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun startSync()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/homepage/StartSyncService.kt",
  "fileLinesCount" : 91,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 10,
  "endLine" : 85,
  "linesOfCode" : 68,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun buildMessage()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackMessageParsing.kt",
  "fileLinesCount" : 261,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 21,
  "endLine" : 80,
  "linesOfCode" : 57,
  "mcCabeIndex" : 6,
  "numberOfParameters" : 8,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun onAppInstalledToSlackTeam()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackOAuthFlow.kt",
  "fileLinesCount" : 110,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 25,
  "endLine" : 71,
  "linesOfCode" : 42,
  "mcCabeIndex" : 6,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun onSlackEvent()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackEventProcessing.kt",
  "fileLinesCount" : 143,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 32,
  "endLine" : 73,
  "linesOfCode" : 37,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun createOrUpdate()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamsStorageImpl.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 69,
  "endLine" : 105,
  "linesOfCode" : 36,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 6,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getMessage()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/Utils.kt",
  "fileLinesCount" : 186,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 41,
  "endLine" : 76,
  "linesOfCode" : 34,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun processMessageEvent()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackMessageEvent.kt",
  "fileLinesCount" : 109,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 26,
  "endLine" : 65,
  "linesOfCode" : 34,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun main()",
  "longName" : "",
  "relativeFileName" : "dev-tools/src/main/kotlin/main.kt",
  "fileLinesCount" : 136,
  "components" : [ "primary::dev-tools" ],
  "startLine" : 16,
  "endLine" : 49,
  "linesOfCode" : 28,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun convertMarkdown()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/MarkdownConversion.kt",
  "fileLinesCount" : 33,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 3,
  "endLine" : 33,
  "linesOfCode" : 28,
  "mcCabeIndex" : 5,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function UnapprovedPermissionsWarning()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/unapprovedPermissionsWarning.tsx",
  "fileLinesCount" : 37,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 6,
  "endLine" : 37,
  "linesOfCode" : 28,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun buildMessageTextForSlack()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/SpaceMessageParsing.kt",
  "fileLinesCount" : 270,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 10,
  "endLine" : 38,
  "linesOfCode" : 26,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function ChannelSelectField()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/select.tsx",
  "fileLinesCount" : 121,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 25,
  "endLine" : 48,
  "linesOfCode" : 24,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun slackMessageBlocks()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/Utils.kt",
  "fileLinesCount" : 186,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 134,
  "endLine" : 156,
  "linesOfCode" : 22,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getSpaceChannelsToPickFrom()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/homepage/SpaceChannelsToPickForSync.kt",
  "fileLinesCount" : 45,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 10,
  "endLine" : 32,
  "linesOfCode" : 21,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getMissingAppPermissions()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/homepage/MissingAppPermissions.kt",
  "fileLinesCount" : 37,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 9,
  "endLine" : 30,
  "linesOfCode" : 19,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun updateTokens()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamsStorageImpl.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 49,
  "endLine" : 67,
  "linesOfCode" : 19,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function PageSelector()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/App.tsx",
  "fileLinesCount" : 99,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 47,
  "endLine" : 66,
  "linesOfCode" : 19,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function ChannelControls()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/channelControls.tsx",
  "fileLinesCount" : 55,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 12,
  "endLine" : 30,
  "linesOfCode" : 19,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun processDeletedChatMessageFromSpace()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/SpaceDeletedMessageProcessor.kt",
  "fileLinesCount" : 33,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 10,
  "endLine" : 31,
  "linesOfCode" : 18,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun addIfAbsent()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SyncedChannelsStorageImpl.kt",
  "fileLinesCount" : 105,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 63,
  "endLine" : 82,
  "linesOfCode" : 18,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "async function getUserAccessTokenImpl()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceAuth.ts",
  "fileLinesCount" : 69,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 23,
  "endLine" : 43,
  "linesOfCode" : 18,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function approvePermissions()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/permissions.ts",
  "fileLinesCount" : 42,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 24,
  "endLine" : 42,
  "linesOfCode" : 18,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun stopSync()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/homepage/StopSyncService.kt",
  "fileLinesCount" : 38,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 8,
  "endLine" : 31,
  "linesOfCode" : 17,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function ActionPanel()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/actionPanel.tsx",
  "fileLinesCount" : 44,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 14,
  "endLine" : 30,
  "linesOfCode" : 17,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected suspend fun  fetch()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/BaseSlackClient.kt",
  "fileLinesCount" : 197,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 32,
  "endLine" : 47,
  "linesOfCode" : 16,
  "mcCabeIndex" : 4,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getInfoBySpaceMsg()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/MessagesStorageImpl.kt",
  "fileLinesCount" : 81,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 10,
  "endLine" : 25,
  "linesOfCode" : 16,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getInfoBySlackMsg()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/MessagesStorageImpl.kt",
  "fileLinesCount" : 81,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 27,
  "endLine" : 42,
  "linesOfCode" : 16,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun save()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SpaceAppInstancesStorageImpl.kt",
  "fileLinesCount" : 78,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 15,
  "endLine" : 29,
  "linesOfCode" : 15,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getById()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SpaceAppInstancesStorageImpl.kt",
  "fileLinesCount" : 78,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 31,
  "endLine" : 44,
  "linesOfCode" : 14,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getByIds()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SyncedChannelsStorageImpl.kt",
  "fileLinesCount" : 105,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 19,
  "endLine" : 32,
  "linesOfCode" : 14,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "async function approveChannelPermissionsImpl()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spacePermissions.ts",
  "fileLinesCount" : 26,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 11,
  "endLine" : 26,
  "linesOfCode" : 14,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun retrieveAllSlackChannels()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackChannelRetrieval.kt",
  "fileLinesCount" : 66,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 8,
  "endLine" : 20,
  "linesOfCode" : 13,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun setSlackMsgBySpaceMsg()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/MessagesStorageImpl.kt",
  "fileLinesCount" : 81,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 44,
  "endLine" : 56,
  "linesOfCode" : 13,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getSlackTeamCache()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamCacheStorageImpl.kt",
  "fileLinesCount" : 51,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 13,
  "endLine" : 26,
  "linesOfCode" : 13,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function ChannelIcon()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/channelIcon.tsx",
  "fileLinesCount" : 38,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 10,
  "endLine" : 22,
  "linesOfCode" : 13,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function LogoWithNameAndHost()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/logoWithNameAndHost.tsx",
  "fileLinesCount" : 23,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 11,
  "endLine" : 23,
  "linesOfCode" : 13,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun tryLookupUserByEmail()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 143,
  "endLine" : 154,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun reloadTokensFromDb()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 176,
  "endLine" : 188,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getById()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamsStorageImpl.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 21,
  "endLine" : 32,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun markTokenAsInvalid()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamsStorageImpl.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 113,
  "endLine" : 124,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun remove()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SyncedChannelsStorageImpl.kt",
  "fileLinesCount" : 105,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 84,
  "endLine" : 95,
  "linesOfCode" : 12,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function startSync()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncChannels.ts",
  "fileLinesCount" : 59,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 24,
  "endLine" : 38,
  "linesOfCode" : 12,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun processSpaceCall()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/SpacePayloadProcessing.kt",
  "fileLinesCount" : 116,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 24,
  "endLine" : 34,
  "linesOfCode" : 11,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getThreadMessage()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 118,
  "endLine" : 128,
  "linesOfCode" : 11,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun markAsDeletedBySpaceMessageId()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/MessagesStorageImpl.kt",
  "fileLinesCount" : 81,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 58,
  "endLine" : 68,
  "linesOfCode" : 11,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun markAsDeletedBySlackMessageId()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/MessagesStorageImpl.kt",
  "fileLinesCount" : 81,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 70,
  "endLine" : 80,
  "linesOfCode" : 11,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function fetchFromServer()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/fetch.ts",
  "fileLinesCount" : 24,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 3,
  "endLine" : 14,
  "linesOfCode" : 11,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function EmptyIcon()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/channelIcon.tsx",
  "fileLinesCount" : 38,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 28,
  "endLine" : 38,
  "linesOfCode" : 11,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun readLocalProperties()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/build.gradle.kts",
  "fileLinesCount" : 143,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 128,
  "endLine" : 138,
  "linesOfCode" : 11,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected suspend fun fetchRaw()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/BaseSlackClient.kt",
  "fileLinesCount" : 197,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 49,
  "endLine" : 59,
  "linesOfCode" : 10,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun requestOAuthToken()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackOAuthFlow.kt",
  "fileLinesCount" : 110,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 97,
  "endLine" : 108,
  "linesOfCode" : 10,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getMentionedSlackUserIds()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackMessageParsing.kt",
  "fileLinesCount" : 261,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 224,
  "endLine" : 235,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getChannelsRaw()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 67,
  "endLine" : 78,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getMessage()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 107,
  "endLine" : 116,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getForSpaceOrg()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamsStorageImpl.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 10,
  "endLine" : 19,
  "linesOfCode" : 10,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function initCssVars()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/theme.ts",
  "fileLinesCount" : 35,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 6,
  "endLine" : 17,
  "linesOfCode" : 10,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun loadAppInstance()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/SpaceClientPersistentStrategy.kt",
  "fileLinesCount" : 32,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 12,
  "endLine" : 20,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun getMessageStyle()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/MessageStyle.kt",
  "fileLinesCount" : 40,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 6,
  "endLine" : 15,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun addRemoteFile()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 166,
  "endLine" : 174,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun storeSlackTeamInCache()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamCacheStorageImpl.kt",
  "fileLinesCount" : 51,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 28,
  "endLine" : 36,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getByDomain()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SpaceAppInstancesStorageImpl.kt",
  "fileLinesCount" : 78,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 54,
  "endLine" : 62,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getBySlackChannel()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SyncedChannelsStorageImpl.kt",
  "fileLinesCount" : 105,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 43,
  "endLine" : 51,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getBySpaceChannel()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SyncedChannelsStorageImpl.kt",
  "fileLinesCount" : 105,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 53,
  "endLine" : 61,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function applyCssVars()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/theme.ts",
  "fileLinesCount" : 35,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 19,
  "endLine" : 27,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "async function refreshChannelData()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncChannels.ts",
  "fileLinesCount" : 59,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 51,
  "endLine" : 59,
  "linesOfCode" : 9,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "async function loadInitialData()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/App.tsx",
  "fileLinesCount" : 99,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 69,
  "endLine" : 77,
  "linesOfCode" : 9,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "module.exports = function()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/setupProxy.js",
  "fileLinesCount" : 11,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 3,
  "endLine" : 11,
  "linesOfCode" : 9,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun tryCreate()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 41,
  "endLine" : 49,
  "linesOfCode" : 8,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun deleteMessage()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 90,
  "endLine" : 97,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun updateTokensInDb()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 190,
  "endLine" : 197,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun updateDomain()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamsStorageImpl.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 40,
  "endLine" : 47,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getBySlackTeamId()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SyncedChannelsStorageImpl.kt",
  "fileLinesCount" : 105,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 34,
  "endLine" : 41,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function fetchFromSpace()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/fetch.ts",
  "fileLinesCount" : 24,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 16,
  "endLine" : 24,
  "linesOfCode" : 8,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function debounce()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/utils.ts",
  "fileLinesCount" : 38,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 9,
  "endLine" : 16,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function channelToSelectOption()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceChannels.ts",
  "fileLinesCount" : 49,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 42,
  "endLine" : 49,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function removeChannelFromSync()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncChannels.ts",
  "fileLinesCount" : 59,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 40,
  "endLine" : 49,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function channelToSelectOption()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/slackChannels.ts",
  "fileLinesCount" : 51,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 44,
  "endLine" : 51,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function TunnellingIconWithText()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/channelControls.tsx",
  "fileLinesCount" : 55,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 39,
  "endLine" : 46,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function PendingIconWithText()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/channelControls.tsx",
  "fileLinesCount" : 55,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 48,
  "endLine" : 55,
  "linesOfCode" : 8,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getSlackChannelsToPickFrom()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/homepage/SlackChannelsToPickForSync.kt",
  "fileLinesCount" : 43,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 10,
  "endLine" : 18,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "protected suspend fun getRefreshedToken()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/BaseSlackClient.kt",
  "fileLinesCount" : 197,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 24,
  "endLine" : 30,
  "linesOfCode" : 7,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getChannelInfo()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 59,
  "endLine" : 65,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getMessageRaw()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 99,
  "endLine" : 105,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getUserById()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 130,
  "endLine" : 136,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun clearCacheForTeam()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamCacheStorageImpl.kt",
  "fileLinesCount" : 51,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 44,
  "endLine" : 50,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getByIds()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SpaceAppInstancesStorageImpl.kt",
  "fileLinesCount" : 78,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 46,
  "endLine" : 52,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun delete()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SpaceAppInstancesStorageImpl.kt",
  "fileLinesCount" : 78,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 64,
  "endLine" : 70,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function redirectTopWindow()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/utils.ts",
  "fileLinesCount" : 38,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 1,
  "endLine" : 7,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function openInNewTab()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/utils.ts",
  "fileLinesCount" : 38,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 32,
  "endLine" : 38,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function getCssVarsAndSubscribeForChanges()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/theme.ts",
  "fileLinesCount" : 35,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 29,
  "endLine" : 35,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function refreshSyncedChannels()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncedChannels.ts",
  "fileLinesCount" : 41,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 35,
  "endLine" : 41,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function loadSlackWorkspaces()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/slackTeams.ts",
  "fileLinesCount" : 40,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 18,
  "endLine" : 24,
  "linesOfCode" : 7,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function addSlackWorkspace()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/slackTeams.ts",
  "fileLinesCount" : 40,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 30,
  "endLine" : 36,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getMissingPermissions()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/permissions.ts",
  "fileLinesCount" : 42,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 9,
  "endLine" : 15,
  "linesOfCode" : 7,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "async function loadInitialSlackData()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/App.tsx",
  "fileLinesCount" : 99,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 86,
  "endLine" : 93,
  "linesOfCode" : 7,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun listSyncedChannels()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/homepage/SyncedChannelsService.kt",
  "fileLinesCount" : 105,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 32,
  "endLine" : 37,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getByAppClientId()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SyncedChannelsStorageImpl.kt",
  "fileLinesCount" : 105,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 12,
  "endLine" : 17,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getDefaultChannelsAsSelectOptions()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceChannels.ts",
  "fileLinesCount" : 49,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 27,
  "endLine" : 32,
  "linesOfCode" : 6,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getDefaultChannelsAsSelectOptions()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/slackChannels.ts",
  "fileLinesCount" : 51,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 27,
  "endLine" : 33,
  "linesOfCode" : 6,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function requestAndFetchUserAccessToken()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceAuth.ts",
  "fileLinesCount" : 69,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 10,
  "endLine" : 16,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function approveChannelPermissions()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spacePermissions.ts",
  "fileLinesCount" : 26,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 3,
  "endLine" : 9,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "async function loadInitialSpaceData()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/App.tsx",
  "fileLinesCount" : 99,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 79,
  "endLine" : 84,
  "linesOfCode" : 6,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export default function WarningBox()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/warningBox.tsx",
  "fileLinesCount" : 26,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 12,
  "endLine" : 17,
  "linesOfCode" : 6,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "fun gatherSpaceUserIds()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/SpaceMessageParsing.kt",
  "fileLinesCount" : 270,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 40,
  "endLine" : 44,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun downloadFile()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 53,
  "endLine" : 57,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun getByDomain()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamsStorageImpl.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 34,
  "endLine" : 38,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun disconnectFromSpaceOrg()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamsStorageImpl.kt",
  "fileLinesCount" : 135,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 107,
  "endLine" : 111,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun clearCacheForAllTeams()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/postgres/impl/SlackTeamCacheStorageImpl.kt",
  "fileLinesCount" : 51,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 38,
  "endLine" : 42,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function retrieveDefaultChannelBatch()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceChannels.ts",
  "fileLinesCount" : 49,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 21,
  "endLine" : 25,
  "linesOfCode" : 5,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function retrieveDefaultChannelBatch()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/slackChannels.ts",
  "fileLinesCount" : 51,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 21,
  "endLine" : 25,
  "linesOfCode" : 5,
  "mcCabeIndex" : 3,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function Loader()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/App.tsx",
  "fileLinesCount" : 99,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 41,
  "endLine" : 45,
  "linesOfCode" : 5,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function warningTextClicked()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/components/warningBox.tsx",
  "fileLinesCount" : 26,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 22,
  "endLine" : 26,
  "linesOfCode" : 5,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun removeAppInstance()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/SpaceClientPersistentStrategy.kt",
  "fileLinesCount" : 32,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 26,
  "endLine" : 29,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getSlackTeam()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/homepage/SlackTeamCache.kt",
  "fileLinesCount" : 30,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 10,
  "endLine" : 13,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "async function getSyncedChannelsFromServer()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncedChannels.ts",
  "fileLinesCount" : 41,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 30,
  "endLine" : 33,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "async function getSpaceChannelsBatch()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceChannels.ts",
  "fileLinesCount" : 49,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 16,
  "endLine" : 19,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "async function getSlackChannelsBatch()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/slackChannels.ts",
  "fileLinesCount" : 51,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 16,
  "endLine" : 19,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function setUserToken()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceAuth.ts",
  "fileLinesCount" : 69,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 62,
  "endLine" : 65,
  "linesOfCode" : 4,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun saveAppInstance()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/space/SpaceClientPersistentStrategy.kt",
  "fileLinesCount" : 32,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 22,
  "endLine" : 24,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun clearCacheForAllTeams()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/homepage/SlackTeamCache.kt",
  "fileLinesCount" : 30,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 15,
  "endLine" : 17,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun clearCacheForTeam()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/homepage/SlackTeamCache.kt",
  "fileLinesCount" : 30,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 19,
  "endLine" : 21,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun markTokenAsInvalid()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 199,
  "endLine" : 201,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun onInvalidRefreshToken()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 203,
  "endLine" : 205,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override suspend fun onInvalidAppCredentials()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/slack/SlackClient.kt",
  "fileLinesCount" : 229,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 207,
  "endLine" : 209,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "override fun newThread()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/platform/ServerDispatcher.kt",
  "fileLinesCount" : 20,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 13,
  "endLine" : 15,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function redirectToSlackChannel()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/utils.ts",
  "fileLinesCount" : 38,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 28,
  "endLine" : 30,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function retrieveSyncedChannels()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncedChannels.ts",
  "fileLinesCount" : 41,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 22,
  "endLine" : 24,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getSyncedChannels()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncedChannels.ts",
  "fileLinesCount" : 41,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 26,
  "endLine" : 28,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function isSlackWorkspaceAdded()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/slackTeams.ts",
  "fileLinesCount" : 40,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 26,
  "endLine" : 28,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getSelectedSlackWorkspace()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/slackTeams.ts",
  "fileLinesCount" : 40,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 38,
  "endLine" : 40,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function setSlackChannelToSync()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncChannels.ts",
  "fileLinesCount" : 59,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 12,
  "endLine" : 14,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function setSpaceChannelToSync()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncChannels.ts",
  "fileLinesCount" : 59,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 16,
  "endLine" : 18,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function readyToSync()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncChannels.ts",
  "fileLinesCount" : 59,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 20,
  "endLine" : 22,
  "linesOfCode" : 3,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function loadOrgName()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceOrg.ts",
  "fileLinesCount" : 15,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 9,
  "endLine" : 11,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getOrgName()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceOrg.ts",
  "fileLinesCount" : 15,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 13,
  "endLine" : 15,
  "linesOfCode" : 3,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export async function tryFetchAlreadyIssuedUserToken()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceAuth.ts",
  "fileLinesCount" : 69,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 6,
  "endLine" : 8,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function isUserTokenPresent()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceAuth.ts",
  "fileLinesCount" : 69,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 45,
  "endLine" : 47,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getUserToken()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceAuth.ts",
  "fileLinesCount" : 69,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 49,
  "endLine" : 52,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getSpaceServerUrl()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceAuth.ts",
  "fileLinesCount" : 69,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 54,
  "endLine" : 56,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function getSpaceDomain()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceAuth.ts",
  "fileLinesCount" : 69,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 58,
  "endLine" : 60,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "export function setOnAuthorizedInSpaceCallback()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/spaceAuth.ts",
  "fileLinesCount" : 69,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 67,
  "endLine" : 69,
  "linesOfCode" : 3,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "function getShowStartPage()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/App.tsx",
  "fileLinesCount" : 99,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 95,
  "endLine" : 97,
  "linesOfCode" : 3,
  "mcCabeIndex" : 2,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "await fetchFromServer()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncChannels.ts",
  "fileLinesCount" : 59,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 31,
  "endLine" : 32,
  "linesOfCode" : 2,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "await fetchFromServer()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/client/src/app/service/syncChannels.ts",
  "fileLinesCount" : 59,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 42,
  "endLine" : 43,
  "linesOfCode" : 2,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 0,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getForSpaceOrg()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 19,
  "endLine" : 19,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getByDomain()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 21,
  "endLine" : 21,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun createOrUpdate()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 22,
  "endLine" : 22,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 6,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun updateDomain()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 31,
  "endLine" : 31,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun updateTokens()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 32,
  "endLine" : 32,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun disconnectFromSpaceOrg()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 39,
  "endLine" : 39,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun markTokenAsInvalid()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 40,
  "endLine" : 40,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun save()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 44,
  "endLine" : 44,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getByIds()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 46,
  "endLine" : 46,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getByDomain()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 47,
  "endLine" : 47,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun delete()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 48,
  "endLine" : 48,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getByAppClientId()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 52,
  "endLine" : 52,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getByIds()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 53,
  "endLine" : 53,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getBySlackTeamId()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 60,
  "endLine" : 60,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 1,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getBySlackChannel()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 62,
  "endLine" : 62,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getBySpaceChannel()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 64,
  "endLine" : 64,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun addIfAbsent()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 66,
  "endLine" : 66,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun remove()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 73,
  "endLine" : 73,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 4,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getInfoBySpaceMsg()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 82,
  "endLine" : 82,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun getInfoBySlackMsg()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 83,
  "endLine" : 83,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun setSlackMsgBySpaceMsg()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 84,
  "endLine" : 84,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 3,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun markAsDeletedBySpaceMessageId()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 85,
  "endLine" : 85,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
}, {
  "shortName" : "suspend fun markAsDeletedBySlackMessageId()",
  "longName" : "",
  "relativeFileName" : "space-slack-sync/src/main/kotlin/org/jetbrains/spaceSlackSync/storage/Interface.kt",
  "fileLinesCount" : 126,
  "components" : [ "primary::space-slack-sync" ],
  "startLine" : 86,
  "endLine" : 86,
  "linesOfCode" : 0,
  "mcCabeIndex" : 1,
  "numberOfParameters" : 2,
  "numberOfLiterals" : 0,
  "numberOfStatements" : 0,
  "numberOfExpressions" : 0
} ]