From 1ba649479b192b933c250dcb6c77ee8167a7d966 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Lapersonne Date: Tue, 17 Dec 2024 12:04:03 +0100 Subject: [PATCH] refactor(review): rename wrapper to provider for tokens of sizes (#79) Signed-off-by: Pierre-Yves Lapersonne --- .../OUDSTheme+SizeMultipleSemanticTokens.swift | 4 ++-- .../OUDSTheme+SizeSemanticTokens.swift | 2 +- OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme.swift | 4 ++-- OUDS/Core/OUDS/Sources/_OUDS.docc/Themes.md | 4 ++-- .../MockThemes/MockTheme+AllSizeSemanticTokens.swift | 4 ++-- OUDS/Core/Themes/Orange/Sources/OrangeTheme.swift | 4 ++-- .../Sources/_OUDSThemesOrange.docc/OUDSThemesOrange.md | 4 ++-- ...Wrapper.swift => OUDSSizeSemanticTokensProvider.swift} | 8 ++++---- .../Wrappers/SemanticTokensWrappers+TypeAliases.swift | 2 +- 9 files changed, 18 insertions(+), 18 deletions(-) rename OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/{OUDSSizeSemanticTokensWrapper.swift => OUDSSizeSemanticTokensProvider.swift} (88%) diff --git a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeMultipleSemanticTokens.swift b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeMultipleSemanticTokens.swift index b89f0c41e0..484d25cf8c 100644 --- a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeMultipleSemanticTokens.swift +++ b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeMultipleSemanticTokens.swift @@ -22,8 +22,8 @@ import OUDSTokensSemantic // Create an issue for update https://github.com/Orange-OpenSource/ouds-ios/issues/new?template=token_update.yml /// Defines wrapper objects for size semantic tokens (i.e. in the end `DimensionRawTokens`). -/// These values can be overriden inside ``OUDSSizeSemanticTokensWrapper`` subclasses (in extensions or not, in the same module or not) thanks to the `@objc open` combination. -extension OUDSSizeSemanticTokensWrapper: SizeMultipleSemanticTokens { +/// These values can be overriden inside ``OUDSSizeSemanticTokensProvider`` subclasses (in extensions or not, in the same module or not) thanks to the `@objc open` combination. +extension OUDSSizeSemanticTokensProvider: SizeMultipleSemanticTokens { // MARK: - Semantic token - Sizing - Icon with typography diff --git a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeSemanticTokens.swift b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeSemanticTokens.swift index a4efc9a309..5934b8e742 100644 --- a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeSemanticTokens.swift +++ b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeSemanticTokens.swift @@ -15,7 +15,7 @@ import Foundation import OUDSTokensRaw import OUDSTokensSemantic -extension OUDSSizeSemanticTokensWrapper: SizeSemanticTokens { +extension OUDSSizeSemanticTokensProvider: SizeSemanticTokens { @objc open var sizeIconDecorative2xl: SizeSemanticToken { DimensionRawTokens.dimension900 } @objc open var sizeIconDecorative2xs: SizeSemanticToken { DimensionRawTokens.dimension200 } @objc open var sizeIconDecorativeLg: SizeSemanticToken { DimensionRawTokens.dimension600 } diff --git a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme.swift b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme.swift index 166e84ab74..4611fd2271 100644 --- a/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme.swift +++ b/OUDS/Core/OUDS/Sources/OUDSTheme/OUDSTheme.swift @@ -69,7 +69,7 @@ open class OUDSTheme: @unchecked Sendable { /// - fonts: An object providing all the font semantic tokens, by default `OUDSFontSemanticTokensProvider` /// - grids: An object providing all the grid semantic tokens, by default `OUDSGridSemanticTokensProvider` /// - opacities: An object providing all the opacity semantic tokens, by default `OUDSOpacitySemanticTokensProvider` - /// - sizes: An object providing all the size semantic tokens, by default `OUDSSizeSemanticTokensWrapper` + /// - sizes: An object providing all the size semantic tokens, by default `OUDSSizeSemanticTokensProvider` /// - spaces: An object providing all the space semantic tokens, by default `OUDSSpaceSemanticTokensWrapper` public init(colors: AllColorSemanticTokens = OUDSColorSemanticTokensProvider(), borders: AllBorderSemanticTokens = OUDSBorderSemanticTokensProvider(), @@ -77,7 +77,7 @@ open class OUDSTheme: @unchecked Sendable { fonts: AllFontSemanticTokens = OUDSFontSemanticTokensProvider(), grids: AllGridSemanticTokens = OUDSGridSemanticTokensProvider(), opacities: AllOpacitySemanticTokens = OUDSOpacitySemanticTokensProvider(), - sizes: AllSizeSemanticTokens = OUDSSizeSemanticTokensWrapper(), + sizes: AllSizeSemanticTokens = OUDSSizeSemanticTokensProvider(), spaces: AllSpaceSemanticTokens = OUDSSpaceSemanticTokensWrapper()) { self.colors = colors self.borders = borders diff --git a/OUDS/Core/OUDS/Sources/_OUDS.docc/Themes.md b/OUDS/Core/OUDS/Sources/_OUDS.docc/Themes.md index cb40682e6c..e12000c13c 100644 --- a/OUDS/Core/OUDS/Sources/_OUDS.docc/Themes.md +++ b/OUDS/Core/OUDS/Sources/_OUDS.docc/Themes.md @@ -55,7 +55,7 @@ You may want to define your own theme, thus you can override the `OrangeTheme` w You will have to override the tokens wrapper you need. To do that, make a subclass of the wrapper you target: - spaces tokens are `OUDSSpaceSemanticTokensWrapper` -- sizes tokens are in `OUDSSizeSemanticTokensWrapper` +- sizes tokens are in `OUDSSizeSemanticTokensProvider` - colors tokens are all defined in `OrangeThemeColorSemanticTokensWrapper` - borders tokens are in `OUDSBorderSemanticTokensProvider` - elevations tokens are in `OUDSElevationSemanticTokensProvider` @@ -82,7 +82,7 @@ class YourAppThemeSpaceTokensWrapper: OUDSSpaceSemanticTokensWrapper { // Token wrapper for sizes -class YourAppThemeSizeTokensWrapper: OUDSSizeSemanticTokensWrapper { +class YourAppThemeSizeTokensWrapper: OUDSSizeSemanticTokensProvider { override var sizeIconDecorative2xl: SizeSemanticToken { DimensionRawTokens.dimension300 } diff --git a/OUDS/Core/OUDS/Tests/OUDSTheme/MockThemes/MockTheme+AllSizeSemanticTokens.swift b/OUDS/Core/OUDS/Tests/OUDSTheme/MockThemes/MockTheme+AllSizeSemanticTokens.swift index 311bd540c7..5a0f7f7f8e 100644 --- a/OUDS/Core/OUDS/Tests/OUDSTheme/MockThemes/MockTheme+AllSizeSemanticTokens.swift +++ b/OUDS/Core/OUDS/Tests/OUDSTheme/MockThemes/MockTheme+AllSizeSemanticTokens.swift @@ -16,9 +16,9 @@ import OUDSTokensSemantic // swiftlint:disable required_deinit -/// Overrides **all** the size semantic tokens (from its super class, i.e. `OUDSSizeSemanticTokensWrapper` so as to test overriding of them (unit tests) +/// Overrides **all** the size semantic tokens (from its super class, i.e. `OUDSSizeSemanticTokensProvider` so as to test overriding of them (unit tests) /// and to act like smoke tests with crashing tests if some tokens disappeared. -final class MockThemeSizeSemanticTokensWrapper: OUDSSizeSemanticTokensWrapper { +final class MockThemeSizeSemanticTokensWrapper: OUDSSizeSemanticTokensProvider { static let mockThemeSizeRawToken: DimensionRawToken = 118_000 static let mockThemeSizeCompositeToken = MultipleSizeSemanticTokens(compact: 1, regular: 151) diff --git a/OUDS/Core/Themes/Orange/Sources/OrangeTheme.swift b/OUDS/Core/Themes/Orange/Sources/OrangeTheme.swift index a939c32701..f3aea98e3c 100644 --- a/OUDS/Core/Themes/Orange/Sources/OrangeTheme.swift +++ b/OUDS/Core/Themes/Orange/Sources/OrangeTheme.swift @@ -71,7 +71,7 @@ open class OrangeTheme: OUDSTheme, @unchecked Sendable { /// - fonts: An object providing all the font semantic tokens, by default `AllFontemanticTokens`, default set to `OUDSFontSemanticTokensProvider` /// - grids: An object providing all the grid semantic tokens, by default `AllGridSemanticTokens`, default set to `OUDSGridSemanticTokensProvider` /// - opacities: An object providing all the opacity semantic tokens, as `OpacitySemanticTokens` implementation, default set to `OUDSOpacitySemanticTokensProvider` - /// - sizes: An object providing all the size semantic tokens, as `AllSizeSemanticTokens` implementation, default set to `OUDSSizeSemanticTokensWrapper` + /// - sizes: An object providing all the size semantic tokens, as `AllSizeSemanticTokens` implementation, default set to `OUDSSizeSemanticTokensProvider` /// - spaces: An object providing all the space semantic tokens, as `AllSpaceSemanticTokens` implementation, default set to `OUDSSpaceSemanticTokensWrapper` override public init(colors: AllColorSemanticTokens = OrangeThemeColorSemanticTokensWrapper(), borders: AllBorderSemanticTokens = OUDSBorderSemanticTokensProvider(), @@ -79,7 +79,7 @@ open class OrangeTheme: OUDSTheme, @unchecked Sendable { fonts: AllFontSemanticTokens = OUDSFontSemanticTokensProvider(), grids: AllGridSemanticTokens = OUDSGridSemanticTokensProvider(), opacities: AllOpacitySemanticTokens = OUDSOpacitySemanticTokensProvider(), - sizes: AllSizeSemanticTokens = OUDSSizeSemanticTokensWrapper(), + sizes: AllSizeSemanticTokens = OUDSSizeSemanticTokensProvider(), spaces: AllSpaceSemanticTokens = OUDSSpaceSemanticTokensWrapper()) { OUDSLogger.debug("Init of OrangeTheme") super.init(colors: colors, diff --git a/OUDS/Core/Themes/Orange/Sources/_OUDSThemesOrange.docc/OUDSThemesOrange.md b/OUDS/Core/Themes/Orange/Sources/_OUDSThemesOrange.docc/OUDSThemesOrange.md index 51c25f061e..ad43c14567 100644 --- a/OUDS/Core/Themes/Orange/Sources/_OUDSThemesOrange.docc/OUDSThemesOrange.md +++ b/OUDS/Core/Themes/Orange/Sources/_OUDSThemesOrange.docc/OUDSThemesOrange.md @@ -66,7 +66,7 @@ You may want to define your own theme, thus you can override the ``OrangeTheme`` You will have to override the tokens wrapper you need. To do that, make a subclass of the wrapper you target: - spaces tokens are `OUDSSpaceSemanticTokensWrapper` -- sizes tokens are in `OUDSSizeSemanticTokensWrapper` +- sizes tokens are in `OUDSSizeSemanticTokensProvider` - colors tokens are all defined in `OrangeThemeColorSemanticTokensWrapper` - borders tokens are in `OUDSBorderSemanticTokensProvider` - elevations tokens are in `OUDSElevationSemanticTokensProvider` @@ -91,7 +91,7 @@ class YourAppThemeSpaceTokensWrapper: OUDSSpaceSemanticTokensWrapper { // Token wrapper for sizes -class YourAppThemeSizeTokensWrapper: OUDSSizeSemanticTokensWrapper { +class YourAppThemeSizeTokensWrapper: OUDSSizeSemanticTokensProvider { override var sizeIconDecorative2xl: SizeSemanticToken { DimensionRawTokens.dimension300 } diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/OUDSSizeSemanticTokensWrapper.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/OUDSSizeSemanticTokensProvider.swift similarity index 88% rename from OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/OUDSSizeSemanticTokensWrapper.swift rename to OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/OUDSSizeSemanticTokensProvider.swift index 3984cef2d9..fd33d53f6e 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/OUDSSizeSemanticTokensWrapper.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/OUDSSizeSemanticTokensProvider.swift @@ -19,7 +19,7 @@ import OUDSFoundations /// /// ```swift /// // Define your own wrapper for size semantic tokens -/// class CustomSizeTokensWrapper: OUDSSizeSemanticTokensWrapper { +/// class CustomSizeTokensWrapper: OUDSSizeSemanticTokensProvider { /// /// // Then override the size semantic tokens you want, using the dimension raw tokens available /// @@ -49,11 +49,11 @@ import OUDSFoundations /// ```swift /// OrangeTheme(sizes: CustomSizeTokensWrapper()) /// ``` -open class OUDSSizeSemanticTokensWrapper { +open class OUDSSizeSemanticTokensProvider { /// Intializes the wrapper public init() { - OUDSLogger.debug("Init of OUDSSizeSemanticTokensWrapper") + OUDSLogger.debug("Init of OUDSSizeSemanticTokensProvider") } deinit{ } @@ -63,5 +63,5 @@ open class OUDSSizeSemanticTokensWrapper { // the implemention of SizeSemanticTokens and SizeMultipleSemanticTokens are not here // but in OUDS/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeSemanticTokens.swift // and in OUDS/OUDSTheme/OUDSTheme+SemanticTokens/OUDSTheme+SizeMultipleSemanticTokens.swift. - // This declaration of OUDSSizeSemanticTokensWrapper is here to allow to write documentation. + // This declaration of OUDSSizeSemanticTokensProvider is here to allow to write documentation. } diff --git a/OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/SemanticTokensWrappers+TypeAliases.swift b/OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/SemanticTokensWrappers+TypeAliases.swift index 0f082fb2f3..c6ac2bc39d 100644 --- a/OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/SemanticTokensWrappers+TypeAliases.swift +++ b/OUDS/Core/Tokens/SemanticTokens/Sources/Wrappers/SemanticTokensWrappers+TypeAliases.swift @@ -43,7 +43,7 @@ public typealias AllFontSemanticTokens = FontSemanticTokens & FontCompositeSeman /// A type alias which merges ``SizeSemanticTokens`` and ``SizeMultipleSemanticTokens``. /// It helps in the end to define a wrapper for all the semantic tokens of size, multiple or not, generated or not. -/// For example ``OUDSSizeSemanticTokensWrapper`` matches this type alias. +/// For example ``OUDSSizeSemanticTokensProvider`` matches this type alias. public typealias AllSizeSemanticTokens = SizeSemanticTokens & SizeMultipleSemanticTokens /// A type alias which merges ``SpaceSemanticTokens`` and ``SpaceMultipleSemanticTokens``.