@digitaldefiance/i18n-lib 3.7.2 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +204 -34
- package/package.json +4 -1
- package/src/active-context.d.ts +2 -33
- package/src/active-context.d.ts.map +1 -1
- package/src/builders/i18n-builder.d.ts +2 -2
- package/src/builders/i18n-builder.d.ts.map +1 -1
- package/src/builders/i18n-builder.js +1 -1
- package/src/builders/i18n-builder.js.map +1 -1
- package/src/component-registration.d.ts +9 -0
- package/src/component-registration.d.ts.map +1 -1
- package/src/component-registry.d.ts.map +1 -1
- package/src/component-registry.js.map +1 -1
- package/src/core/component-store.d.ts.map +1 -1
- package/src/core/component-store.js +8 -8
- package/src/core/component-store.js.map +1 -1
- package/src/core/enum-registry.d.ts +1 -1
- package/src/core/enum-registry.d.ts.map +1 -1
- package/src/core/enum-registry.js +8 -5
- package/src/core/enum-registry.js.map +1 -1
- package/src/core/i18n-engine.d.ts.map +1 -1
- package/src/core/i18n-engine.js +31 -19
- package/src/core/i18n-engine.js.map +1 -1
- package/src/core/index.d.ts +9 -5
- package/src/core/index.d.ts.map +1 -1
- package/src/core/index.js +15 -6
- package/src/core/index.js.map +1 -1
- package/src/core/language-registry.d.ts.map +1 -1
- package/src/core/language-registry.js +11 -8
- package/src/core/language-registry.js.map +1 -1
- package/src/core-component-id.d.ts +6 -0
- package/src/core-component-id.d.ts.map +1 -0
- package/src/core-component-id.js +9 -0
- package/src/core-component-id.js.map +1 -0
- package/src/core-i18n.d.ts +4 -26
- package/src/core-i18n.d.ts.map +1 -1
- package/src/core-i18n.js +18 -83
- package/src/core-i18n.js.map +1 -1
- package/src/core-plugin-factory.d.ts +28 -0
- package/src/core-plugin-factory.d.ts.map +1 -0
- package/src/core-plugin-factory.js +80 -0
- package/src/core-plugin-factory.js.map +1 -0
- package/src/errors/base.d.ts +8 -0
- package/src/errors/base.d.ts.map +1 -0
- package/src/errors/base.js +11 -0
- package/src/errors/base.js.map +1 -0
- package/src/errors/context-error.d.ts.map +1 -1
- package/src/errors/context-error.js +24 -6
- package/src/errors/context-error.js.map +1 -1
- package/src/errors/enhanced-error-base.d.ts +5 -0
- package/src/errors/enhanced-error-base.d.ts.map +1 -1
- package/src/errors/i18n-error.d.ts.map +1 -1
- package/src/errors/i18n-error.js +97 -30
- package/src/errors/i18n-error.js.map +1 -1
- package/src/errors/index.d.ts +8 -9
- package/src/errors/index.d.ts.map +1 -1
- package/src/errors/index.js +10 -9
- package/src/errors/index.js.map +1 -1
- package/src/errors/simple-typed-error.d.ts +53 -0
- package/src/errors/simple-typed-error.d.ts.map +1 -0
- package/src/errors/simple-typed-error.js +51 -0
- package/src/errors/simple-typed-error.js.map +1 -0
- package/src/errors/translatable-exports.d.ts +12 -0
- package/src/errors/translatable-exports.d.ts.map +1 -0
- package/src/errors/translatable-exports.js +15 -0
- package/src/errors/translatable-exports.js.map +1 -0
- package/src/errors/translatable-generic.d.ts +4 -1
- package/src/errors/translatable-generic.d.ts.map +1 -1
- package/src/errors/translatable-generic.js +9 -4
- package/src/errors/translatable-generic.js.map +1 -1
- package/src/errors/translatable.d.ts +4 -0
- package/src/errors/translatable.d.ts.map +1 -1
- package/src/errors/translatable.js +9 -4
- package/src/errors/translatable.js.map +1 -1
- package/src/errors/typed-handleable.d.ts +1 -1
- package/src/errors/typed-handleable.d.ts.map +1 -1
- package/src/errors/typed-handleable.js +15 -11
- package/src/errors/typed-handleable.js.map +1 -1
- package/src/errors/typed.d.ts +7 -5
- package/src/errors/typed.d.ts.map +1 -1
- package/src/errors/typed.js +44 -31
- package/src/errors/typed.js.map +1 -1
- package/src/global-active-context.d.ts +3 -3
- package/src/global-active-context.d.ts.map +1 -1
- package/src/global-active-context.js +2 -2
- package/src/global-active-context.js.map +1 -1
- package/src/index.d.ts +11 -11
- package/src/index.d.ts.map +1 -1
- package/src/index.js +17 -17
- package/src/index.js.map +1 -1
- package/src/interfaces/active-context.interface.d.ts +36 -0
- package/src/interfaces/active-context.interface.d.ts.map +1 -0
- package/src/interfaces/active-context.interface.js +3 -0
- package/src/interfaces/active-context.interface.js.map +1 -0
- package/src/interfaces/global-active-context.d.ts +4 -4
- package/src/interfaces/global-active-context.d.ts.map +1 -1
- package/src/interfaces/index.d.ts +9 -7
- package/src/interfaces/index.d.ts.map +1 -1
- package/src/interfaces/index.js +1 -8
- package/src/interfaces/index.js.map +1 -1
- package/src/plugin-i18n-engine.d.ts +1 -1
- package/src/plugin-i18n-engine.d.ts.map +1 -1
- package/src/plugin-i18n-engine.js +10 -6
- package/src/plugin-i18n-engine.js.map +1 -1
- package/src/pluralization/language-plural-map.d.ts +2 -2
- package/src/pluralization/language-plural-map.d.ts.map +1 -1
- package/src/pluralization/language-plural-map.js +90 -71
- package/src/pluralization/language-plural-map.js.map +1 -1
- package/src/registry-error.d.ts +8 -2
- package/src/registry-error.d.ts.map +1 -1
- package/src/registry-error.js +19 -5
- package/src/registry-error.js.map +1 -1
- package/src/types/engine.d.ts +47 -0
- package/src/types/engine.d.ts.map +1 -0
- package/src/types/engine.js +8 -0
- package/src/types/engine.js.map +1 -0
- package/src/types/index.d.ts +1 -0
- package/src/types/index.d.ts.map +1 -1
- package/src/types/index.js +1 -0
- package/src/types/index.js.map +1 -1
- package/src/types.d.ts +0 -5
- package/src/types.d.ts.map +1 -1
- package/src/types.js.map +1 -1
- package/src/utils/currency.d.ts +1 -1
- package/src/utils/currency.d.ts.map +1 -1
- package/src/utils/currency.js +2 -4
- package/src/utils/currency.js.map +1 -1
- package/src/utils/safe-object.d.ts.map +1 -1
- package/src/utils/safe-object.js +1 -0
- package/src/utils/safe-object.js.map +1 -1
- package/src/utils.d.ts.map +1 -1
- package/src/utils.js.map +1 -1
package/README.md
CHANGED
|
@@ -767,6 +767,171 @@ Contributions welcome! Please:
|
|
|
767
767
|
|
|
768
768
|
## ChangeLog
|
|
769
769
|
|
|
770
|
+
### Version 3.7.5
|
|
771
|
+
|
|
772
|
+
**Type Safety Improvements Release**
|
|
773
|
+
|
|
774
|
+
This release eliminates all unsafe type casts from the production codebase, improving type safety and maintainability.
|
|
775
|
+
|
|
776
|
+
**Type Safety Enhancements:**
|
|
777
|
+
|
|
778
|
+
- **New SimpleTypedError Class**: Introduced a type-safe error class (`simple-typed-error.ts`) that properly extends Error without using type casts
|
|
779
|
+
- Supports `type`, `componentId`, `reasonMap`, `metadata` properties with full type safety
|
|
780
|
+
- Includes error cause chaining (ES2022 standard)
|
|
781
|
+
- Provides `isTypedError()` type guard and `fromError()` conversion utility
|
|
782
|
+
- Maintains proper prototype chain for instanceof checks
|
|
783
|
+
|
|
784
|
+
- **Refactored Error Helper Functions**: Updated all error creation helpers to use SimpleTypedError
|
|
785
|
+
- `createComponentTypedError()` - Now returns SimpleTypedError instead of casting properties
|
|
786
|
+
- `createCoreTypedError()` - Type-safe error creation for core system errors
|
|
787
|
+
- `createTranslatedError()` - Type-safe translated error creation
|
|
788
|
+
- All functions now have proper return types without `as any` casts
|
|
789
|
+
|
|
790
|
+
- **Fixed Empty Object Initializations**: Replaced `{} as any` with proper `Partial<T>` types
|
|
791
|
+
- `buildTypeSafeReasonMap()` in utils.ts now uses proper partial types
|
|
792
|
+
- `ensureAllLanguagesHaveAllKeys()` in component-registry.ts uses type-safe initialization
|
|
793
|
+
|
|
794
|
+
- **Improved Enum Translation Type Safety**: Enhanced type safety in enum registry and plural handling
|
|
795
|
+
- Enum registry now uses `String()` conversion instead of `as any` casts
|
|
796
|
+
- Added type guards for PluralCategory validation in `hasPluralForm()`
|
|
797
|
+
- Fixed `getPluralCategory()` return type to properly return `PluralCategory`
|
|
798
|
+
- Removed unsafe casts in plural category handling
|
|
799
|
+
|
|
800
|
+
- **Global Context Type Safety**: Leveraged ambient type declarations for global objects
|
|
801
|
+
- Removed `(globalThis as any).GlobalActiveContext` casts
|
|
802
|
+
- Uses ambient declarations from `types/global.d.ts` for type-safe global access
|
|
803
|
+
- Fixed Proxy pattern in core-i18n.ts to use proper keyof access
|
|
804
|
+
|
|
805
|
+
- **Enhanced I18n Engine Interface**: Created comprehensive engine type definitions
|
|
806
|
+
- New `src/types/engine.ts` with generic `II18nEngine<TStringKeys>` interface
|
|
807
|
+
- Proper generic constraints for type-safe string key handling
|
|
808
|
+
- Re-exports main II18nEngine interface for centralized imports
|
|
809
|
+
|
|
810
|
+
- **Renamed for Clarity**: Improved naming to avoid confusion
|
|
811
|
+
- Renamed abstract `TypedError` to `AbstractTypedError` (with deprecation notice)
|
|
812
|
+
- New `SimpleTypedError` class is the recommended type-safe implementation
|
|
813
|
+
- Maintains backward compatibility with existing code
|
|
814
|
+
|
|
815
|
+
**Code Quality:**
|
|
816
|
+
|
|
817
|
+
- **Zero Type Casts**: Eliminated approximately 20 instances of `as any` and `as unknown` casts from production code
|
|
818
|
+
- **Improved Type Inference**: Better TypeScript type inference throughout the codebase
|
|
819
|
+
- **Enhanced Maintainability**: Clearer code structure with explicit types instead of casts
|
|
820
|
+
|
|
821
|
+
**Testing:**
|
|
822
|
+
|
|
823
|
+
- Added comprehensive unit tests for SimpleTypedError class
|
|
824
|
+
- Added property-based tests using fast-check for error property preservation
|
|
825
|
+
- Created type-safety-fixes.spec.ts with tests for all improvements
|
|
826
|
+
- All existing tests continue to pass with enhanced type safety
|
|
827
|
+
|
|
828
|
+
**Documentation:**
|
|
829
|
+
|
|
830
|
+
- Updated JSDoc comments with proper type information
|
|
831
|
+
- Added deprecation notices for legacy patterns
|
|
832
|
+
- Improved code examples in documentation
|
|
833
|
+
|
|
834
|
+
**Migration Notes:**
|
|
835
|
+
|
|
836
|
+
This release is fully backward compatible. Existing code will continue to work unchanged. To use the new type-safe patterns:
|
|
837
|
+
|
|
838
|
+
```typescript
|
|
839
|
+
// New: Use SimpleTypedError directly
|
|
840
|
+
import { TypedError } from '@digitaldefiance/i18n-lib/errors/simple-typed-error';
|
|
841
|
+
|
|
842
|
+
const error = new TypedError('Error message', {
|
|
843
|
+
type: 'validation',
|
|
844
|
+
componentId: 'my-component',
|
|
845
|
+
metadata: { field: 'email' }
|
|
846
|
+
});
|
|
847
|
+
|
|
848
|
+
// Old abstract classes still work (now called AbstractTypedError)
|
|
849
|
+
// Helper functions automatically use the new SimpleTypedError internally
|
|
850
|
+
```
|
|
851
|
+
|
|
852
|
+
**Breaking Changes:**
|
|
853
|
+
|
|
854
|
+
None - This release maintains full backward compatibility while improving internal type safety.
|
|
855
|
+
|
|
856
|
+
### Version 3.8.0
|
|
857
|
+
|
|
858
|
+
**Internal Refactoring Release** - Circular Dependency Elimination
|
|
859
|
+
|
|
860
|
+
This release eliminates all circular dependencies from the codebase through internal architectural improvements. All changes are non-breaking and maintain full backward compatibility.
|
|
861
|
+
|
|
862
|
+
**Internal Improvements:**
|
|
863
|
+
|
|
864
|
+
- **Zero Circular Dependencies**: Eliminated all 15 circular dependencies that existed in the codebase
|
|
865
|
+
- Broke core/i18n-engine ↔ core-i18n cycle
|
|
866
|
+
- Broke errors/translatable → core/i18n-engine → errors/index cycle
|
|
867
|
+
- Broke core-i18n ↔ plugin-i18n-engine cycle
|
|
868
|
+
- Broke context-related cycles
|
|
869
|
+
- Broke registry-error cycles
|
|
870
|
+
- Optimized barrel exports with type-only exports
|
|
871
|
+
|
|
872
|
+
- **Lazy Initialization Pattern**: Error classes and core modules now use lazy initialization to avoid circular dependencies
|
|
873
|
+
- `TranslatableError` uses `getInstance()` at construction time instead of module load
|
|
874
|
+
- `TypedError` and related classes use lazy engine lookup
|
|
875
|
+
- Registry errors use lazy initialization for core dependencies
|
|
876
|
+
- Fallback behavior if engine not initialized
|
|
877
|
+
|
|
878
|
+
- **Factory Pattern**: Introduced `core-plugin-factory.ts` to break plugin engine cycles
|
|
879
|
+
- `createCorePluginI18nEngine()` moved to factory file
|
|
880
|
+
- Factory imports both core-i18n and plugin-i18n-engine
|
|
881
|
+
- Breaks circular dependency between these modules
|
|
882
|
+
|
|
883
|
+
- **Type-Only Exports**: Optimized barrel exports to eliminate runtime dependencies
|
|
884
|
+
- `src/interfaces/index.ts` uses `export type` for all type exports
|
|
885
|
+
- `src/errors/index.ts` split into base.ts and translatable-exports.ts
|
|
886
|
+
- `src/core/index.ts` uses type-only exports where appropriate
|
|
887
|
+
|
|
888
|
+
- **Module Organization**: Established clear dependency hierarchy
|
|
889
|
+
- Interfaces & Types (no implementation dependencies)
|
|
890
|
+
- Error Classes (lazy initialization for i18n)
|
|
891
|
+
- Core Modules (clear hierarchy, no cycles)
|
|
892
|
+
- High-Level Modules (core-i18n, plugin-i18n-engine)
|
|
893
|
+
|
|
894
|
+
**Testing & Quality:**
|
|
895
|
+
|
|
896
|
+
- **Automated Circular Dependency Detection**: Added test that fails if circular dependencies are introduced
|
|
897
|
+
- **Module Independence Tests**: Verify modules can be imported independently
|
|
898
|
+
- **All Tests Passing**: 1,779 tests passing with no regressions
|
|
899
|
+
- **Zero Breaking Changes**: Public API remains completely unchanged
|
|
900
|
+
|
|
901
|
+
**Documentation:**
|
|
902
|
+
|
|
903
|
+
- **[CIRCULAR_DEPENDENCY_FIXES.md](docs/CIRCULAR_DEPENDENCY_FIXES.md)** - Comprehensive internal documentation
|
|
904
|
+
- Detailed explanation of all patterns used
|
|
905
|
+
- Best practices for maintaining zero circular dependencies
|
|
906
|
+
- Examples of lazy initialization, factory pattern, and type-only exports
|
|
907
|
+
- Guidelines for adding new modules without creating cycles
|
|
908
|
+
|
|
909
|
+
**Files Modified:**
|
|
910
|
+
|
|
911
|
+
- `src/core-plugin-factory.ts` - New factory file for plugin engine creation
|
|
912
|
+
- `src/core-i18n.ts` - Lazy initialization with Proxy pattern
|
|
913
|
+
- `src/errors/*.ts` - Lazy initialization in error constructors
|
|
914
|
+
- `src/errors/index.ts` - Split into separate barrel files
|
|
915
|
+
- `src/interfaces/index.ts` - Type-only exports
|
|
916
|
+
- `src/core/index.ts` - Optimized barrel exports
|
|
917
|
+
- `src/registry-error.ts` - Lazy initialization for core dependencies
|
|
918
|
+
- `tests/circular-dependencies.spec.ts` - Automated detection test
|
|
919
|
+
|
|
920
|
+
**Breaking Changes:**
|
|
921
|
+
|
|
922
|
+
None - This release is fully backward compatible. All changes are internal refactoring only.
|
|
923
|
+
|
|
924
|
+
**Migration:**
|
|
925
|
+
|
|
926
|
+
No migration required! Your existing code works unchanged. The improvements are entirely internal.
|
|
927
|
+
|
|
928
|
+
**Benefits:**
|
|
929
|
+
|
|
930
|
+
- **Improved Maintainability**: Clearer module structure and dependencies
|
|
931
|
+
- **Better Tree-Shaking**: Reduced runtime dependencies improve bundle optimization
|
|
932
|
+
- **Predictable Initialization**: No more initialization order issues
|
|
933
|
+
- **Future-Proof**: Established patterns prevent circular dependencies from being reintroduced
|
|
934
|
+
|
|
770
935
|
### Version 3.7.2
|
|
771
936
|
|
|
772
937
|
- Minor version bump to fix an export
|
|
@@ -796,32 +961,34 @@ Enhanced **all** I18nError methods and core ICU infrastructure to fully leverage
|
|
|
796
961
|
**Enhanced Error Methods** (13 existing + 4 new):
|
|
797
962
|
|
|
798
963
|
*Enhanced Existing Methods:*
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
964
|
+
|
|
965
|
+
- `componentNotFound()` - ICU select for namespaced components
|
|
966
|
+
- `stringKeyNotFound()` - SelectOrdinal for nested depth levels
|
|
967
|
+
- `duplicateComponent()` - Nested select for namespace context
|
|
968
|
+
- `instanceNotFound()` - Select for default vs named instances
|
|
969
|
+
- `instanceExists()` - Nested select with detailed messages
|
|
970
|
+
- `translationMissing()` - Nested select detecting key paths
|
|
971
|
+
- `duplicateLanguage()` - Template literal with proper quoting
|
|
972
|
+
- `pluralFormNotFound()` - Nested select + plural + number formatting (form count)
|
|
973
|
+
- `invalidPluralCategory()` - Nested plural + number formatting (category count)
|
|
974
|
+
- And 4 more existing methods with ICU enhancements...
|
|
809
975
|
|
|
810
976
|
*New Advanced Methods:*
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
977
|
+
|
|
978
|
+
- `validationThresholdExceeded()` - **Number formatting**: Currency ($1,500.50), Percent (5.67%), Integer (1,500)
|
|
979
|
+
- `operationStepFailed()` - **SelectOrdinal**: 1st, 2nd, 3rd, 4th, 21st, 22nd, 23rd...
|
|
980
|
+
- `rateLimitExceeded()` - **4-level nested messages**: Plural + number + select with thousand separators
|
|
981
|
+
- `nestedValidationError()` - **Complex nesting**: Multiple select + plural for validation context
|
|
815
982
|
|
|
816
983
|
**ICU Features Fully Integrated:**
|
|
817
984
|
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
985
|
+
- ✅ **Number Formatters**: Currency ($1,500.50), percent (5.67%), integer (1,500) with thousand separators
|
|
986
|
+
- ✅ **SelectOrdinal**: Ordinal formatting (1st, 2nd, 3rd, 21st, 22nd, 23rd)
|
|
987
|
+
- ✅ **Nested Messages**: Up to 4 levels deep with combined plural, select, and number formatting
|
|
988
|
+
- ✅ **ICU Plural**: `#` placeholder now formats with thousand separators
|
|
989
|
+
- ✅ **ICU Select**: Nested within plural messages for complex conditional logic
|
|
990
|
+
- ✅ **Decimal Precision**: Percent values show up to 2 decimal places
|
|
991
|
+
- ✅ **Locale-Aware**: All formatting respects target language/locale
|
|
825
992
|
|
|
826
993
|
- **Real-World Use Cases**:
|
|
827
994
|
- Validation threshold errors with formatted currency/percentages
|
|
@@ -831,30 +998,32 @@ Enhanced **all** I18nError methods and core ICU infrastructure to fully leverage
|
|
|
831
998
|
|
|
832
999
|
**Testing & Quality:**
|
|
833
1000
|
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
1001
|
+
- **1,738 total tests passing** (93.22% coverage)
|
|
1002
|
+
- **250+ new tests** for advanced ICU features:
|
|
1003
|
+
- Currency formatting: $1,500.50, €1.500,50, ¥1,500
|
|
1004
|
+
- Percent precision: 5.67%, 0.5%, 100%
|
|
1005
|
+
- SelectOrdinal: 1st-100th with edge cases (11th, 21st, 22nd, 23rd)
|
|
1006
|
+
- Nested messages: 4 levels deep validation
|
|
1007
|
+
- Thousand separators: 1,000, 10,000, 1,000,000
|
|
1008
|
+
- Multilingual: 8+ languages tested
|
|
1009
|
+
- Real-world scenarios: API rate limits, validation thresholds, multi-step operations
|
|
843
1010
|
|
|
844
1011
|
**Documentation:**
|
|
845
1012
|
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
1013
|
+
- All error methods include comprehensive JSDoc with ICU pattern examples
|
|
1014
|
+
- EnhancedErrorHelper base class with static utility methods
|
|
1015
|
+
- Integration patterns for all error class types
|
|
1016
|
+
- Migration guide showing before/after message formats
|
|
850
1017
|
|
|
851
1018
|
**New Error Codes:**
|
|
1019
|
+
|
|
852
1020
|
- `VALIDATION_THRESHOLD_EXCEEDED` - Numeric threshold violations with formatted values
|
|
853
1021
|
- `OPERATION_STEP_FAILED` - Step-based operation failures with ordinal formatting
|
|
854
1022
|
- `RATE_LIMIT_EXCEEDED` - Rate limiting with nested plural/number formatting
|
|
855
1023
|
- `NESTED_VALIDATION_ERROR` - Complex nested validation with 4-level messages
|
|
856
1024
|
|
|
857
1025
|
**Files Modified:**
|
|
1026
|
+
|
|
858
1027
|
- `src/icu/compiler.ts` - Enhanced `#` placeholder with `Intl.NumberFormat`
|
|
859
1028
|
- `src/icu/formatters/number-formatter.ts` - Added percent decimal precision (0-2 places)
|
|
860
1029
|
- `src/errors/i18n-error.ts` - Enhanced all 17 error methods with ICU patterns
|
|
@@ -865,6 +1034,7 @@ Enhanced **all** I18nError methods and core ICU infrastructure to fully leverage
|
|
|
865
1034
|
**Breaking Changes:**
|
|
866
1035
|
|
|
867
1036
|
None - Fully backward compatible! All changes are enhancements:
|
|
1037
|
+
|
|
868
1038
|
- Enhanced error message formats (more detailed, better formatted)
|
|
869
1039
|
- Metadata structure extended (formCount, count added where useful)
|
|
870
1040
|
- New optional parameters for advanced error methods
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitaldefiance/i18n-lib",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.0",
|
|
4
4
|
"description": "i18n library with enum translation support",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"types": "src/index.d.ts",
|
|
@@ -40,5 +40,8 @@
|
|
|
40
40
|
"moment": "^2.30.1",
|
|
41
41
|
"moment-timezone": "^0.6.0"
|
|
42
42
|
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"fast-check": "^4.3.0"
|
|
45
|
+
},
|
|
43
46
|
"type": "commonjs"
|
|
44
47
|
}
|
package/src/active-context.d.ts
CHANGED
|
@@ -1,36 +1,5 @@
|
|
|
1
|
-
import { CurrencyCode } from './utils/currency';
|
|
2
|
-
import { Timezone } from './utils/timezone';
|
|
3
|
-
import { LanguageContextSpace } from './types';
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
* including language, currency, and timezone settings.
|
|
7
|
-
*
|
|
8
|
-
* @template TLanguage The type of language codes (e.g., 'en-US', 'fr').
|
|
2
|
+
* Re-export IActiveContext from interfaces directory for backwards compatibility
|
|
9
3
|
*/
|
|
10
|
-
export
|
|
11
|
-
/**
|
|
12
|
-
* The default language for the user-facing application.
|
|
13
|
-
*/
|
|
14
|
-
language: TLanguage;
|
|
15
|
-
/**
|
|
16
|
-
* The default language for the admin interface.
|
|
17
|
-
*/
|
|
18
|
-
adminLanguage: TLanguage;
|
|
19
|
-
/**
|
|
20
|
-
* The default currency code for the user-facing application.
|
|
21
|
-
*/
|
|
22
|
-
currencyCode: CurrencyCode;
|
|
23
|
-
/**
|
|
24
|
-
* The current language context space (e.g., 'user' or 'admin').
|
|
25
|
-
*/
|
|
26
|
-
currentContext: LanguageContextSpace;
|
|
27
|
-
/**
|
|
28
|
-
* The default timezone for the user-facing application.
|
|
29
|
-
*/
|
|
30
|
-
timezone: Timezone;
|
|
31
|
-
/**
|
|
32
|
-
* The default timezone for the admin interface.
|
|
33
|
-
*/
|
|
34
|
-
adminTimezone: Timezone;
|
|
35
|
-
}
|
|
4
|
+
export type { IActiveContext } from './interfaces/active-context.interface';
|
|
36
5
|
//# sourceMappingURL=active-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-context.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/active-context.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"active-context.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/active-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,YAAY,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fluent builder for I18n Engine
|
|
3
3
|
*/
|
|
4
|
-
import { EngineConfig, LanguageDefinition } from '../interfaces';
|
|
5
4
|
import { I18nEngine } from '../core/i18n-engine';
|
|
5
|
+
import { EngineConfig, LanguageDefinition } from '../interfaces';
|
|
6
6
|
export declare class I18nBuilder {
|
|
7
7
|
private languages;
|
|
8
8
|
private config;
|
|
9
|
-
private instanceKey
|
|
9
|
+
private instanceKey;
|
|
10
10
|
private registerInstance;
|
|
11
11
|
private setAsDefault;
|
|
12
12
|
private constructor();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/builders/i18n-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"i18n-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/builders/i18n-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEjE,qBAAa,WAAW;IACtB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO;IAEP,MAAM,CAAC,MAAM,IAAI,WAAW;IAI5B,aAAa,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI;IAK7D,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK7C,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK9C,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAKnD,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI;IAK5D,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKlC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAK7C,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,IAAI;IAK3C,QAAQ,IAAI,IAAI;IAKhB,SAAS,IAAI,IAAI;IAKjB,KAAK,IAAI,UAAU;CAWpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/builders/i18n-builder.ts"],"names":[],"mappings":";AAAA;;GAEG;;;
|
|
1
|
+
{"version":3,"file":"i18n-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/builders/i18n-builder.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qDAAiD;AAGjD,MAAa,WAAW;IACd,SAAS,GAAyB,EAAE,CAAC;IACrC,MAAM,GAAiB,EAAE,CAAC;IAC1B,WAAW,GAAG,SAAS,CAAC;IACxB,gBAAgB,GAAG,IAAI,CAAC;IACxB,YAAY,GAAG,IAAI,CAAC;IAE5B,gBAAuB,CAAC;IAExB,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,WAAW,EAAE,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,SAAwC;QACpD,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,UAAkB;QACpC,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,UAAkB;QACrC,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,SAA8B;QAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,UAAsC;QACnD,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,GAAW;QACzB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,QAAiB;QACpC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,UAAmB;QAClC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS;QACP,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,wBAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;YACjD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;CACF;AA1ED,kCA0EC"}
|
|
@@ -10,4 +10,13 @@ export interface ComponentRegistration<TStringKeys extends string, TLanguages ex
|
|
|
10
10
|
readonly enumObject?: Record<string, TStringKeys>;
|
|
11
11
|
readonly aliases?: readonly string[];
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Type utility to extract string keys from a component definition
|
|
15
|
+
*/
|
|
16
|
+
type ExtractStringKeys<T> = T extends ComponentDefinition<infer K> ? K : never;
|
|
17
|
+
/**
|
|
18
|
+
* Type utility to create a strongly typed component registration
|
|
19
|
+
*/
|
|
20
|
+
export type CreateComponentRegistration<TComponent extends ComponentDefinition<any>, TLanguages extends string> = ComponentRegistration<ExtractStringKeys<TComponent>, TLanguages>;
|
|
21
|
+
export {};
|
|
13
22
|
//# sourceMappingURL=component-registration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-registration.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/component-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,qBAAqB,CACpC,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM;IAEzB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC"}
|
|
1
|
+
{"version":3,"file":"component-registration.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/component-registration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,SAAS,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,qBAAqB,CACpC,WAAW,SAAS,MAAM,EAC1B,UAAU,SAAS,MAAM;IAEzB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,+BAA+B,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED;;GAEG;AACH,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,2BAA2B,CACrC,UAAU,SAAS,mBAAmB,CAAC,GAAG,CAAC,EAC3C,UAAU,SAAS,MAAM,IACvB,qBAAqB,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-registry.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/component-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EAExB,+BAA+B,EAEhC,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,qBAAa,iBAAiB,CAAC,UAAU,SAAS,MAAM;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+C;IAC1E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAG7B;IACJ,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAsB;IAEjD;;;;;OAKG;gBAED,SAAS,EAAE,SAAS,UAAU,EAAE,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAOjC;;;OAGG;IACI,yBAAyB,CAAC,SAAS,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI;IAKxE;;;;;OAKG;IACI,iBAAiB,CAAC,WAAW,SAAS,MAAM,EACjD,YAAY,EAAE,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,GAC3D,gBAAgB;IA6CnB;;;;;;OAMG;IACI,sBAAsB,CAAC,WAAW,SAAS,MAAM,EACtD,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,+BAA+B,CAAC,WAAW,EAAE,UAAU,CAAC,GAChE,gBAAgB;IAoCnB;;;;;OAKG;IACI,cAAc,CAAC,WAAW,SAAS,MAAM,EAC9C,OAAO,EAAE,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,GACnD,mBAAmB;
|
|
1
|
+
{"version":3,"file":"component-registry.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/component-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EAExB,+BAA+B,EAEhC,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,qBAAa,iBAAiB,CAAC,UAAU,SAAS,MAAM;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+C;IAC1E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAG7B;IACJ,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAsB;IAEjD;;;;;OAKG;gBAED,SAAS,EAAE,SAAS,UAAU,EAAE,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAOjC;;;OAGG;IACI,yBAAyB,CAAC,SAAS,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI;IAKxE;;;;;OAKG;IACI,iBAAiB,CAAC,WAAW,SAAS,MAAM,EACjD,YAAY,EAAE,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,GAC3D,gBAAgB;IA6CnB;;;;;;OAMG;IACI,sBAAsB,CAAC,WAAW,SAAS,MAAM,EACtD,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,+BAA+B,CAAC,WAAW,EAAE,UAAU,CAAC,GAChE,gBAAgB;IAoCnB;;;;;OAKG;IACI,cAAc,CAAC,WAAW,SAAS,MAAM,EAC9C,OAAO,EAAE,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,GACnD,mBAAmB;IA4EtB;;;OAGG;IACI,aAAa,IAAI,aAAa,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAI/D;;;;OAIG;IACI,YAAY,CAAC,WAAW,SAAS,MAAM,EAC5C,WAAW,EAAE,MAAM,GAClB,mBAAmB,CAAC,WAAW,CAAC,GAAG,SAAS;IAM/C;;;;OAIG;IACI,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIjD;;;;OAIG;IACI,mBAAmB,CAAC,WAAW,SAAS,MAAM,EACnD,WAAW,EAAE,MAAM,GAClB,wBAAwB,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,SAAS;IAMhE;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IAyDrC;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAmCpC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IA+BpB;;OAEG;IACI,kBAAkB,IAAI,IAAI;CAIlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-registry.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/component-registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"component-registry.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-i18n-lib/src/component-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-store.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/component-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKlE;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,SAAS,CAAC,CAAsB;IAExC;;;OAGG;gBACS,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI3C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB;IAkBnD;;;;;;OAMG;IACH,MAAM,
|
|
1
|
+
{"version":3,"file":"component-store.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/component-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKlE;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,SAAS,CAAC,CAAsB;IAExC;;;OAGG;gBACS,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI3C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB;IAkBnD;;;;;;OAMG;IACH,MAAM,CACJ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC9C,gBAAgB;IAenB;;;;OAIG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIjC;;;;;OAKG;IACH,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe;IASzC;;;OAGG;IACH,MAAM,IAAI,SAAS,eAAe,EAAE;IAIpC;;;;;;;;OAQG;IACH,SAAS,CACP,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM;IAoBT;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;;;;;;OAOG;IACH,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM;IAQT;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IA6BhB;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAIlD;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ComponentStore = void 0;
|
|
7
|
-
const
|
|
8
|
-
const utils_1 = require("../utils");
|
|
9
|
-
const plural_types_1 = require("../types/plural-types");
|
|
7
|
+
const i18n_error_1 = require("../errors/i18n-error");
|
|
10
8
|
const language_plural_map_1 = require("../pluralization/language-plural-map");
|
|
9
|
+
const plural_types_1 = require("../types/plural-types");
|
|
10
|
+
const utils_1 = require("../utils");
|
|
11
11
|
/**
|
|
12
12
|
* Class representing a storage for component configurations and translations.
|
|
13
13
|
*/
|
|
@@ -30,7 +30,7 @@ class ComponentStore {
|
|
|
30
30
|
*/
|
|
31
31
|
register(config) {
|
|
32
32
|
if (this.components.has(config.id)) {
|
|
33
|
-
throw
|
|
33
|
+
throw i18n_error_1.I18nError.duplicateComponent(config.id);
|
|
34
34
|
}
|
|
35
35
|
const validation = this.validate(config);
|
|
36
36
|
this.components.set(config.id, config);
|
|
@@ -52,7 +52,7 @@ class ComponentStore {
|
|
|
52
52
|
update(componentId, strings) {
|
|
53
53
|
const existing = this.components.get(componentId);
|
|
54
54
|
if (!existing) {
|
|
55
|
-
throw
|
|
55
|
+
throw i18n_error_1.I18nError.componentNotFound(componentId);
|
|
56
56
|
}
|
|
57
57
|
const updated = {
|
|
58
58
|
...existing,
|
|
@@ -79,7 +79,7 @@ class ComponentStore {
|
|
|
79
79
|
const id = this.aliasMap.get(componentId) || componentId;
|
|
80
80
|
const component = this.components.get(id);
|
|
81
81
|
if (!component) {
|
|
82
|
-
throw
|
|
82
|
+
throw i18n_error_1.I18nError.componentNotFound(componentId);
|
|
83
83
|
}
|
|
84
84
|
return component;
|
|
85
85
|
}
|
|
@@ -104,11 +104,11 @@ class ComponentStore {
|
|
|
104
104
|
const lang = language || 'en-US';
|
|
105
105
|
const langStrings = component.strings[lang];
|
|
106
106
|
if (!langStrings) {
|
|
107
|
-
throw
|
|
107
|
+
throw i18n_error_1.I18nError.languageNotFound(lang);
|
|
108
108
|
}
|
|
109
109
|
const value = langStrings[key];
|
|
110
110
|
if (!value) {
|
|
111
|
-
throw
|
|
111
|
+
throw i18n_error_1.I18nError.translationMissing(componentId, key, lang);
|
|
112
112
|
}
|
|
113
113
|
// Resolve plural form if needed
|
|
114
114
|
const translation = this.resolvePluralForm(value, variables?.count, lang);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-store.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/component-store.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"component-store.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/component-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ export declare class EnumRegistry {
|
|
|
21
21
|
* @param translations - Mapping of language codes to enum value translations
|
|
22
22
|
* @param enumName - Human-readable name for the enum (used in error messages)
|
|
23
23
|
*/
|
|
24
|
-
register<TEnum extends string | number>(enumObj: Record<string, TEnum>, translations: Record<string, Record<
|
|
24
|
+
register<TEnum extends string | number>(enumObj: Record<string, TEnum>, translations: Record<string, Record<string, string>>, enumName: string): void;
|
|
25
25
|
/**
|
|
26
26
|
* Translates an enum value to a specific language.
|
|
27
27
|
* @template TEnum - The enum value type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-registry.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/enum-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAA0D;IAC9E,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAAC,CAAsD;IAE1E;;;OAGG;
|
|
1
|
+
{"version":3,"file":"enum-registry.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/enum-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAA0D;IAC9E,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAAC,CAAsD;IAE1E;;;OAGG;gBAED,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,MAAM;IAKnE;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACpD,QAAQ,EAAE,MAAM,GACf,IAAI;IAKP;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC9B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM;IAkCT;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAI1B;;;;OAIG;IACH,OAAO,CAAC,WAAW;CAGpB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.EnumRegistry = void 0;
|
|
7
|
-
const
|
|
7
|
+
const i18n_error_1 = require("../errors/i18n-error");
|
|
8
8
|
/**
|
|
9
9
|
* Registry for managing translations of enum values across multiple languages.
|
|
10
10
|
* Provides a centralized way to register and translate enum values.
|
|
@@ -43,13 +43,16 @@ class EnumRegistry {
|
|
|
43
43
|
translate(enumObj, value, language) {
|
|
44
44
|
const translations = this.translations.get(enumObj);
|
|
45
45
|
if (!translations) {
|
|
46
|
-
throw
|
|
46
|
+
throw i18n_error_1.I18nError.invalidConfig(`No translations found for enum: ${this.getEnumName(enumObj)}`);
|
|
47
47
|
}
|
|
48
48
|
const langTranslations = translations[language];
|
|
49
49
|
if (!langTranslations) {
|
|
50
|
-
throw
|
|
50
|
+
throw i18n_error_1.I18nError.languageNotFound(language);
|
|
51
51
|
}
|
|
52
|
-
|
|
52
|
+
// Convert value to string for lookup
|
|
53
|
+
const valueKey = String(value);
|
|
54
|
+
let result = langTranslations[valueKey];
|
|
55
|
+
// For numeric enums, also try the reverse mapping (string key to value)
|
|
53
56
|
if (!result && typeof value === 'number') {
|
|
54
57
|
const stringKey = Object.keys(enumObj).find((key) => enumObj[key] === value);
|
|
55
58
|
if (stringKey) {
|
|
@@ -57,7 +60,7 @@ class EnumRegistry {
|
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
62
|
if (!result) {
|
|
60
|
-
throw
|
|
63
|
+
throw i18n_error_1.I18nError.translationMissing('enum', String(value), language);
|
|
61
64
|
}
|
|
62
65
|
return result;
|
|
63
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum-registry.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/enum-registry.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,
|
|
1
|
+
{"version":3,"file":"enum-registry.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-i18n-lib/src/core/enum-registry.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,qDAAiD;AAEjD;;;GAGG;AACH,MAAa,YAAY;IACf,YAAY,GAAG,IAAI,GAAG,EAA+C,CAAC;IACtE,SAAS,GAAG,IAAI,OAAO,EAAe,CAAC;IACvC,WAAW,CAAuD;IAE1E;;;OAGG;IACH,YACE,WAAiE;QAEjE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CACN,OAA8B,EAC9B,YAAoD,EACpD,QAAgB;QAEhB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;OAQG;IACH,SAAS,CACP,OAA8B,EAC9B,KAAY,EACZ,QAAgB;QAEhB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,sBAAS,CAAC,aAAa,CAC3B,mCAAmC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,sBAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,qCAAqC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAExC,wEAAwE;QACxE,IAAI,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CACzC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAChC,CAAC;YACF,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,sBAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;QACtE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,OAAY;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,OAAY;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC;IACtD,CAAC;CACF;AA/FD,oCA+FC"}
|