Skip to content

Commit

Permalink
add Attributes minus
Browse files Browse the repository at this point in the history
  • Loading branch information
altavir committed Jul 7, 2024
1 parent 6e24b56 commit 3e8f441
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,18 @@ public fun <A : Attribute<Unit>> Attributes(
attribute: A,
): Attributes = MapAttributes(mapOf(attribute to Unit))

public operator fun Attributes.plus(other: Attributes): Attributes = when{
/**
* Create a new [Attributes] that overlays [other] on top of this set of attributes. New attributes are added.
* Existing attribute keys are replaced.
*/
public operator fun Attributes.plus(other: Attributes): Attributes = when {
isEmpty() -> other
other.isEmpty() -> this
else -> MapAttributes(content + other.content)
}
}

/**
* Create a new [Attributes] with removed [key] (if it is present).
*/
public operator fun Attributes.minus(key: Attribute<*>): Attributes =
if (content.contains(key)) MapAttributes(content.minus(key)) else this
2 changes: 1 addition & 1 deletion benchmarks/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ benchmark {
// Setup configurations
targets {
register("jvm")
// register("js")
register("js")
}

fun kotlinx.benchmark.gradle.BenchmarkConfiguration.commonConfiguration() {
Expand Down
30 changes: 15 additions & 15 deletions kmath-ast/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,20 @@ plugins {

kscience {
jvm()
js()
js{
nodejs {
testTask {
useMocha().timeout = "0"
}
}

browser {
useCommonJs()
testTask {
useMocha().timeout = "0"
}
}
}
native()

dependencies {
Expand All @@ -18,7 +31,7 @@ kscience {

dependencies(jsMain) {
implementation(npm("astring", "1.7.5"))
implementation(npm("binaryen", "101.0.0"))
implementation(npm("binaryen", "117.0.0"))
implementation(npm("js-base64", "3.6.1"))
}

Expand All @@ -29,19 +42,6 @@ kscience {
}

kotlin {
js {
nodejs {
testTask {
useMocha().timeout = "0"
}
}

browser {
testTask {
useMocha().timeout = "0"
}
}
}

sourceSets {
filter { it.name.contains("test", true) }
Expand Down

0 comments on commit 3e8f441

Please sign in to comment.