Skip to content

Commit 1f02a75

Browse files
committed
fix: fix ICU input
1 parent b09a38e commit 1f02a75

File tree

8 files changed

+485
-1271
lines changed

8 files changed

+485
-1271
lines changed

packages/cli/src/cli/cmd/i18n.ts

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ import createProcessor from "../processor";
3636
import { withExponentialBackoff } from "../utils/exp-backoff";
3737
import trackEvent from "../utils/observability";
3838
import { createDeltaProcessor } from "../utils/delta";
39-
import { isICUPluralObject } from "../loaders/xcode-xcstrings-icu";
4039

4140
export default new Command()
4241
.command("i18n")
@@ -492,18 +491,11 @@ export default new Command()
492491
.omitBy((value, key) => {
493492
const targetValue = targetData[key];
494493

495-
// For ICU plural objects, use deep equality (excluding Symbol)
496-
if (
497-
isICUPluralObject(value) &&
498-
isICUPluralObject(targetValue)
499-
) {
500-
return _.isEqual(
501-
{ icu: value.icu, _meta: value._meta },
502-
{ icu: targetValue.icu, _meta: targetValue._meta },
503-
);
494+
// For objects (like plural variations), use deep equality
495+
// For primitives (strings, numbers), use strict equality
496+
if (typeof value === "object" && value !== null) {
497+
return _.isEqual(value, targetValue);
504498
}
505-
506-
// Default strict equality for other values
507499
return value === targetValue;
508500
})
509501
.size()

packages/cli/src/cli/loaders/_types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,5 @@ export interface ILoader<I, O, C = void> extends ILoaderDefinition<I, O, C> {
2323
init(): Promise<C>;
2424
pull(locale: string, input: I): Promise<O>;
2525
push(locale: string, data: O): Promise<I>;
26-
pullHints(originalInput: I): Promise<O | undefined>;
26+
pullHints(originalInput?: I): Promise<O | undefined>;
2727
}

packages/cli/src/cli/loaders/_utils.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export function composeLoaders(
2929
}
3030
return result;
3131
},
32-
pullHints: async (originalInput) => {
32+
pullHints: async (originalInput?) => {
3333
let result: any = originalInput;
3434
for (let i = 0; i < loaders.length; i++) {
3535
const subResult = await loaders[i].pullHints?.(result);
@@ -67,8 +67,8 @@ export function createLoader<I, O, C>(
6767
state.defaultLocale = locale;
6868
return this;
6969
},
70-
async pullHints() {
71-
return lDefinition.pullHints?.(state.originalInput!);
70+
async pullHints(originalInput?: I) {
71+
return lDefinition.pullHints?.(originalInput || state.originalInput!);
7272
},
7373
async pull(locale, input) {
7474
if (!state.defaultLocale) {

packages/cli/src/cli/loaders/icu-safety.spec.ts

Lines changed: 0 additions & 227 deletions
This file was deleted.

0 commit comments

Comments
 (0)