You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

38 lines
1.0 KiB

/*
* Copyright 2020-2022 JetBrains s.r.o. and respective authors and developers.
* Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE.txt file.
*/
package org.jetbrains.compose.resources
/**
* Should implement equals() and hashCode()
*/
@ExperimentalResourceApi
interface Resource {
suspend fun readBytes(): ByteArray //todo in future use streaming
}
/**
* Get a resource from <sourceSet>/resources (for example, from commonMain/resources).
*/
@ExperimentalResourceApi
expect fun resource(path: String): Resource
internal expect class MissingResourceException(path: String)
@OptIn(ExperimentalResourceApi::class)
internal abstract class AbstractResourceImpl(val path: String) : Resource {
override fun equals(other: Any?): Boolean {
if (this === other) return true
return if (other is AbstractResourceImpl) {
path == other.path
} else {
false
}
}
override fun hashCode(): Int {
return path.hashCode()
}
}