From 7703c23c3bc1191e63d4fbd1bf2d9b8de17d132f Mon Sep 17 00:00:00 2001 From: Lucas Date: Fri, 10 Jan 2020 09:34:34 +0100 Subject: [PATCH] Fix duplications in codegen (#12) --- src/actions/render.js | 6 +- .../actions/__snapshots__/render.test.js.snap | 164 ------------------ 2 files changed, 5 insertions(+), 165 deletions(-) diff --git a/src/actions/render.js b/src/actions/render.js index c4ad039..35d4e74 100644 --- a/src/actions/render.js +++ b/src/actions/render.js @@ -21,8 +21,12 @@ const render = (data, outputPath, platforms, languages) => { return [...acc, ...renderResults]; }, []); + const uniqueTranslations = Object.values( + translations.reduce((result, acc) => ({ ...result, [acc.keyPath]: acc }), {}) + ); + const codeGenerationRenders = platforms - .map(platform => [createCodeGenView(translations, platform), platform]) + .map(platform => [createCodeGenView(uniqueTranslations, platform), platform]) .map(([view, platform]) => renderCodeGenView(view, platform, outputPath)); return [...localizationRenders, ...codeGenerationRenders] diff --git a/tests/actions/__snapshots__/render.test.js.snap b/tests/actions/__snapshots__/render.test.js.snap index d9b5657..e911042 100644 --- a/tests/actions/__snapshots__/render.test.js.snap +++ b/tests/actions/__snapshots__/render.test.js.snap @@ -766,16 +766,6 @@ extension UILabel { struct L { struct Checkout { struct OrderOverview { - static func Total(args: CVarArg...) -> LocaliciousData { - return LocaliciousData( - accessibilityIdentifier: \\"Checkout.OrderOverview.Total\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Checkout.OrderOverview.Total.COPY\\", - translationArgs: args - ) - } static func Total(args: CVarArg...) -> LocaliciousData { return LocaliciousData( accessibilityIdentifier: \\"Checkout.OrderOverview.Total\\", @@ -796,16 +786,6 @@ struct L { translationArgs: args ) } - static func Subtotal(args: CVarArg...) -> LocaliciousData { - return LocaliciousData( - accessibilityIdentifier: \\"Checkout.OrderOverview.Subtotal\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Checkout.OrderOverview.Subtotal.COPY\\", - translationArgs: args - ) - } } } struct Settings { @@ -818,22 +798,6 @@ struct L { translationKey: \\"Settings.PushPermissionsRequest.Title.COPY\\", translationArgs: [] ) - static let Title = LocaliciousData( - accessibilityIdentifier: \\"Settings.PushPermissionsRequest.Title\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Settings.PushPermissionsRequest.Title.COPY\\", - translationArgs: [] - ) - static let Subtitle = LocaliciousData( - accessibilityIdentifier: \\"Settings.PushPermissionsRequest.Subtitle\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Settings.PushPermissionsRequest.Subtitle.COPY\\", - translationArgs: [] - ) static let Subtitle = LocaliciousData( accessibilityIdentifier: \\"Settings.PushPermissionsRequest.Subtitle\\", accessibilityHintKey: nil, @@ -858,14 +822,6 @@ struct L { translationKey: \\"Something.With.An.Arbitrary.Amount.Of.Nesting.COPY\\", translationArgs: [] ) - static let Nesting = LocaliciousData( - accessibilityIdentifier: \\"Something.With.An.Arbitrary.Amount.Of.Nesting\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Something.With.An.Arbitrary.Amount.Of.Nesting.COPY\\", - translationArgs: [] - ) } } } @@ -874,16 +830,6 @@ struct L { } struct Delivery { struct Widget { - static func Title(args: CVarArg...) -> LocaliciousData { - return LocaliciousData( - accessibilityIdentifier: \\"Delivery.Widget.Title\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Delivery.Widget.Title.COPY\\", - translationArgs: args - ) - } static func Title(args: CVarArg...) -> LocaliciousData { return LocaliciousData( accessibilityIdentifier: \\"Delivery.Widget.Title\\", @@ -905,25 +851,6 @@ struct L { translationArgs: args ) } - static func SubTitle(quantity: Int, args: CVarArg...) -> LocaliciousData { - let quantityType = LocaliciousQuantity(quanitity: quantity) - return LocaliciousData( - accessibilityIdentifier: \\"Delivery.Widget.SubTitle\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Delivery.Widget.SubTitle.COPY.\\\\(quantityType.rawValue)\\", - translationArgs: args - ) - } - static let SpecialCharacters = LocaliciousData( - accessibilityIdentifier: \\"Delivery.Widget.SpecialCharacters\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Delivery.Widget.SpecialCharacters.COPY\\", - translationArgs: [] - ) static let SpecialCharacters = LocaliciousData( accessibilityIdentifier: \\"Delivery.Widget.SpecialCharacters\\", accessibilityHintKey: nil, @@ -940,25 +867,9 @@ struct L { translationKey: \\"Delivery.Widget.MultilineStrings.COPY\\", translationArgs: [] ) - static let MultilineStrings = LocaliciousData( - accessibilityIdentifier: \\"Delivery.Widget.MultilineStrings\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Delivery.Widget.MultilineStrings.COPY\\", - translationArgs: [] - ) } } struct Accessible { - static let RegularComponent = LocaliciousData( - accessibilityIdentifier: \\"Accessible.RegularComponent\\", - accessibilityHintKey: \\"Accessible.RegularComponent.ACCESSIBILITY.HINT\\", - accessibilityLabelKey: \\"Accessible.RegularComponent.ACCESSIBILITY.LABEL\\", - accessibilityValueKey: nil, - translationKey: \\"Accessible.RegularComponent.COPY\\", - translationArgs: [] - ) static let RegularComponent = LocaliciousData( accessibilityIdentifier: \\"Accessible.RegularComponent\\", accessibilityHintKey: \\"Accessible.RegularComponent.ACCESSIBILITY.HINT\\", @@ -978,17 +889,6 @@ struct L { translationArgs: [] ) } - static func PluralComponent(quantity: Int) -> LocaliciousData { - let quantityType = LocaliciousQuantity(quanitity: quantity) - return LocaliciousData( - accessibilityIdentifier: \\"Accessible.PluralComponent\\", - accessibilityHintKey: \\"Accessible.PluralComponent.ACCESSIBILITY.HINT.\\\\(quantityType.rawValue)\\", - accessibilityLabelKey: \\"Accessible.PluralComponent.ACCESSIBILITY.LABEL.\\\\(quantityType.rawValue)\\", - accessibilityValueKey: \\"Accessible.PluralComponent.ACCESSIBILITY.VALUE.\\\\(quantityType.rawValue)\\", - translationKey: \\"Accessible.PluralComponent.COPY.\\\\(quantityType.rawValue)\\", - translationArgs: [] - ) - } } }", "path": ".//ios/Localizable.swift", @@ -1218,14 +1118,6 @@ struct L { translationKey: \\"Something.With.An.Arbitrary.Amount.Of.Nesting.COPY\\", translationArgs: [] ) - static let Nesting = LocaliciousData( - accessibilityIdentifier: \\"Something.With.An.Arbitrary.Amount.Of.Nesting\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Something.With.An.Arbitrary.Amount.Of.Nesting.COPY\\", - translationArgs: [] - ) } } } @@ -1244,27 +1136,6 @@ struct L { translationArgs: args ) } - static func Title(args: CVarArg...) -> LocaliciousData { - return LocaliciousData( - accessibilityIdentifier: \\"Delivery.Widget.Title\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Delivery.Widget.Title.COPY\\", - translationArgs: args - ) - } - static func SubTitle(quantity: Int, args: CVarArg...) -> LocaliciousData { - let quantityType = LocaliciousQuantity(quanitity: quantity) - return LocaliciousData( - accessibilityIdentifier: \\"Delivery.Widget.SubTitle\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Delivery.Widget.SubTitle.COPY.\\\\(quantityType.rawValue)\\", - translationArgs: args - ) - } static func SubTitle(quantity: Int, args: CVarArg...) -> LocaliciousData { let quantityType = LocaliciousQuantity(quanitity: quantity) return LocaliciousData( @@ -1284,22 +1155,6 @@ struct L { translationKey: \\"Delivery.Widget.SpecialCharacters.COPY\\", translationArgs: [] ) - static let SpecialCharacters = LocaliciousData( - accessibilityIdentifier: \\"Delivery.Widget.SpecialCharacters\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Delivery.Widget.SpecialCharacters.COPY\\", - translationArgs: [] - ) - static let MultilineStrings = LocaliciousData( - accessibilityIdentifier: \\"Delivery.Widget.MultilineStrings\\", - accessibilityHintKey: nil, - accessibilityLabelKey: nil, - accessibilityValueKey: nil, - translationKey: \\"Delivery.Widget.MultilineStrings.COPY\\", - translationArgs: [] - ) static let MultilineStrings = LocaliciousData( accessibilityIdentifier: \\"Delivery.Widget.MultilineStrings\\", accessibilityHintKey: nil, @@ -1319,25 +1174,6 @@ struct L { translationKey: \\"Accessible.RegularComponent.COPY\\", translationArgs: [] ) - static let RegularComponent = LocaliciousData( - accessibilityIdentifier: \\"Accessible.RegularComponent\\", - accessibilityHintKey: \\"Accessible.RegularComponent.ACCESSIBILITY.HINT\\", - accessibilityLabelKey: \\"Accessible.RegularComponent.ACCESSIBILITY.LABEL\\", - accessibilityValueKey: nil, - translationKey: \\"Accessible.RegularComponent.COPY\\", - translationArgs: [] - ) - static func PluralComponent(quantity: Int) -> LocaliciousData { - let quantityType = LocaliciousQuantity(quanitity: quantity) - return LocaliciousData( - accessibilityIdentifier: \\"Accessible.PluralComponent\\", - accessibilityHintKey: \\"Accessible.PluralComponent.ACCESSIBILITY.HINT.\\\\(quantityType.rawValue)\\", - accessibilityLabelKey: \\"Accessible.PluralComponent.ACCESSIBILITY.LABEL.\\\\(quantityType.rawValue)\\", - accessibilityValueKey: \\"Accessible.PluralComponent.ACCESSIBILITY.VALUE.\\\\(quantityType.rawValue)\\", - translationKey: \\"Accessible.PluralComponent.COPY.\\\\(quantityType.rawValue)\\", - translationArgs: [] - ) - } static func PluralComponent(quantity: Int) -> LocaliciousData { let quantityType = LocaliciousQuantity(quanitity: quantity) return LocaliciousData(