Skip to content

Commit

Permalink
Hiding/unhiding resource updates (#201)
Browse files Browse the repository at this point in the history
* renames

* bump

* fix iOS

* Update kt extensions

---------

Co-authored-by: Sergiu Puhalschi <[email protected]>
  • Loading branch information
matiasbzurovski and sergiupuhalschi-rdx authored Aug 26, 2024
1 parent 5903204 commit 57cada8
Show file tree
Hide file tree
Showing 28 changed files with 478 additions and 492 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sargon"
version = "1.1.6"
version = "1.1.7"
edition = "2021"
build = "build.rs"

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
//
// File.swift
//
//
// Created by Matias Bzurovski on 13/8/24.
//

import Foundation
import SargonUniFFI

extension [ResourceAppPreference] {
public var hiddenResources: [ResourceIdentifier] {
resourcePreferencesGetHiddenResources(resourcePreferences: self)
}

public mutating func hideResource(resource: ResourceIdentifier) {
self = resourcePreferencesHideResource(resourcePreferences: self, resource: resource)
}

public mutating func unhideResource(resource: ResourceIdentifier) {
self = resourcePreferencesUnhideResource(resourcePreferences: self, resource: resource)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import Foundation
import SargonUniFFI

#if DEBUG
extension [AssetPreference] {
public static let sample: Self = newAssetPreferencesSample()
public static let sampleOther: Self = newAssetPreferencesSampleOther()
extension [ResourceAppPreference] {
public static let sample: Self = newResourcePreferencesSample()
public static let sampleOther: Self = newResourcePreferencesSampleOther()
}
#endif // DEBUG

This file was deleted.

31 changes: 0 additions & 31 deletions apple/Tests/TestCases/Profile/AssetPreferencesTests.swift

This file was deleted.

31 changes: 31 additions & 0 deletions apple/Tests/TestCases/Profile/ResourcePreferencesTests.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
//
// File.swift
//
//
// Created by Matias Bzurovski on 13/8/24.
//

import CustomDump
import Foundation
import Sargon
import SargonUniFFI
import XCTest

final class AssetPreferencesTests: TestCase {
func test_hidden_resources() {
var sut: [ResourceAppPreference] = []
XCTAssertTrue(sut.hiddenResources.isEmpty)

// Hide assets
sut.hideResource(resource: .fungible(.sample))
sut.hideResource(resource: .nonFungible(.sample))
sut.hideResource(resource: .fungible(.sampleOther))

XCTAssertEqual(sut.hiddenResources, [.fungible(.sample), .nonFungible(.sample), .fungible(.sampleOther)])

// Unhide assets
sut.unhideResource(resource: .fungible(.sampleOther))
sut.unhideResource(resource: .nonFungible(.sample))
XCTAssertEqual(sut.hiddenResources, [.fungible(.sample)])
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package com.radixdlt.sargon.extensions

import com.radixdlt.sargon.ResourceAppPreference
import com.radixdlt.sargon.ResourceIdentifier
import com.radixdlt.sargon.annotation.KoverIgnore
import com.radixdlt.sargon.resourcePreferencesGetHiddenResources
import com.radixdlt.sargon.resourcePreferencesHideResource
import com.radixdlt.sargon.resourcePreferencesUnhideResource

class ResourceAppPreferences private constructor(
private val array: IdentifiedArray<ResourceIdentifier, ResourceAppPreference>
) : IdentifiedArray<ResourceIdentifier, ResourceAppPreference> by array {

constructor(resourceAppPreferences: List<ResourceAppPreference>) : this(
IdentifiedArrayImpl(
elements = resourceAppPreferences,
identifier = { it.resource }
)
)

constructor(vararg resourceAppPreference: ResourceAppPreference) : this(resourceAppPreferences = resourceAppPreference.asList())

@KoverIgnore // False positive in javaClass check
override fun equals(other: Any?): Boolean {
if (this === other) return true
if (javaClass != other?.javaClass) return false

other as ResourceAppPreferences

return array == other.array
}

override fun hashCode(): Int {
return array.hashCode()
}

@KoverIgnore
override fun toString(): String {
return "ResourceAppPreferences(array=$array)"
}

companion object

}

fun List<ResourceAppPreference>.asIdentifiable() = ResourceAppPreferences(resourceAppPreferences = this)

val ResourceAppPreferences.hiddenResources
get() = resourcePreferencesGetHiddenResources(asList())

fun ResourceAppPreferences.hideResource(resourceIdentifier: ResourceIdentifier) = resourcePreferencesHideResource(asList(), resourceIdentifier).asIdentifiable()

fun ResourceAppPreferences.unhideResource(resourceIdentifier: ResourceIdentifier) = resourcePreferencesUnhideResource(asList(), resourceIdentifier).asIdentifiable()

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.radixdlt.sargon.samples

import com.radixdlt.sargon.annotation.UsesSampleValues
import com.radixdlt.sargon.extensions.ResourceAppPreferences
import com.radixdlt.sargon.extensions.asIdentifiable
import com.radixdlt.sargon.newResourcePreferencesSample
import com.radixdlt.sargon.newResourcePreferencesSampleOther

@UsesSampleValues
val ResourceAppPreferences.Companion.sample: Sample<ResourceAppPreferences>
get() = object : Sample<ResourceAppPreferences> {

override fun invoke(): ResourceAppPreferences = newResourcePreferencesSample().asIdentifiable()

override fun other(): ResourceAppPreferences = newResourcePreferencesSampleOther().asIdentifiable()
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.radixdlt.sargon

import com.radixdlt.sargon.extensions.AssetPreferences
import com.radixdlt.sargon.extensions.ResourceAppPreferences
import com.radixdlt.sargon.extensions.default
import com.radixdlt.sargon.extensions.toDecimal192
import com.radixdlt.sargon.samples.Sample
Expand Down Expand Up @@ -29,7 +29,7 @@ class AppPreferencesTest : SampleTestable<AppPreferences> {
securityStructuresOfFactorSourceIds = emptyList()
),
transaction = TransactionPreferences(defaultDepositGuarantee = 0.99.toDecimal192()),
assets = AssetPreferences().asList()
resources = ResourceAppPreferences().asList()
),
AppPreferences.default()
)
Expand Down

This file was deleted.

Loading

0 comments on commit 57cada8

Please sign in to comment.