@umatch/language
Advanced tools
+4
-5
@@ -1,2 +0,2 @@ | ||
| import { type DeepNode, type Dictionary, type Payload, type ValueOf } from '@umatch/utils'; | ||
| import { type DeepNode, type DeepObject, type Dictionary, type Payload, type Primitive, type ValueOf } from '@umatch/utils'; | ||
| import { type ApplyTemplateFunction, type TemplateFunctions } from './templateFunctions'; | ||
@@ -20,6 +20,5 @@ import type { Pluralizer, Trim } from '@umatch/utils/string'; | ||
| type CountsTranslationKeysPaths = typeof COUNTS_TRANSLATION_KEYS_PATHS; | ||
| type CountsTranslationKeys = CountsTranslationKeysPaths[keyof CountsTranslationKeysPaths] | 'many'; | ||
| export type CountsTranslation = { | ||
| [K in keyof CountsTranslationKeysPaths as CountsTranslationKeysPaths[K]]?: string; | ||
| } & { | ||
| many?: string; | ||
| [K in CountsTranslationKeys]?: string; | ||
| }; | ||
@@ -45,4 +44,4 @@ type IsCountsTranslation<Translation> = ValueOf<{ | ||
| */ | ||
| declare function deepReplace<const T extends DeepNode<string>, const Replacements extends Payload | undefined = undefined, const AllowedLeftovers extends 'all' | ReadonlyArray<string> = readonly [], Pluralize extends Pluralizer | undefined = undefined>(target: T, replacements?: Replacements, allowedLeftovers?: AllowedLeftovers, pluralize?: Pluralize): DeepReplace<T, Replacements, AllowedLeftovers, Pluralize>; | ||
| declare function deepReplace<const T extends string | ReadonlyArray<DeepNode<Primitive>> | DeepObject<Primitive>, const Replacements extends Payload | undefined = undefined, const AllowedLeftovers extends 'all' | ReadonlyArray<string> = readonly [], Pluralize extends Pluralizer | undefined = undefined>(target: T, replacements?: Replacements, allowedLeftovers?: AllowedLeftovers, pluralize?: Pluralize): DeepReplace<T, Replacements, AllowedLeftovers, Pluralize>; | ||
| export default deepReplace; | ||
| //# sourceMappingURL=replace.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"replace.d.ts","sourceRoot":"","sources":["../src/replace.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"replace.d.ts","sourceRoot":"","sources":["../src/replace.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "@umatch/language", | ||
| "version": "4.3.6", | ||
| "version": "4.3.7", | ||
| "main": "lib/index.js", | ||
@@ -5,0 +5,0 @@ "types": "lib/index.d.ts", |
+10
-7
@@ -84,2 +84,5 @@ import { | ||
| type CountsTranslationKeysPaths = typeof COUNTS_TRANSLATION_KEYS_PATHS; | ||
| type CountsTranslationKeys = | ||
| | CountsTranslationKeysPaths[keyof CountsTranslationKeysPaths] | ||
| | 'many'; | ||
@@ -91,5 +94,3 @@ const COUNTS_TRANSLATION_KEY_MAX = Math.max( | ||
| export type CountsTranslation = { | ||
| [K in keyof CountsTranslationKeysPaths as CountsTranslationKeysPaths[K]]?: string; | ||
| } & { | ||
| many?: string; | ||
| [K in CountsTranslationKeys]?: string; | ||
| }; | ||
@@ -138,3 +139,3 @@ type IsCountsTranslation<Translation> = ValueOf<{ | ||
| function deepReplace< | ||
| const T extends DeepNode<string>, | ||
| const T extends string | ReadonlyArray<DeepNode<Primitive>> | DeepObject<Primitive>, | ||
| const Replacements extends Payload | undefined = undefined, | ||
@@ -162,3 +163,3 @@ const AllowedLeftovers extends 'all' | ReadonlyArray<string> = readonly [], | ||
| const clone = structuredClone(target) as | ||
| | Array<DeepNode<Primitive>> | ||
| | ReadonlyArray<DeepNode<Primitive>> | ||
| | DeepObject<Primitive>; | ||
@@ -214,3 +215,3 @@ return _deepReplace(clone, reps, lefs, pluralize) as DeepReplace< | ||
| function isCountsObject( | ||
| obj: Array<DeepNode<Primitive>> | DeepObject<Primitive>, | ||
| obj: ReadonlyArray<DeepNode<Primitive>> | DeepObject<Primitive>, | ||
| ): obj is CountsTranslation { | ||
@@ -223,3 +224,5 @@ return Object.entries(obj).every( | ||
| function _deepReplace<T extends Array<DeepNode<Primitive>> | DeepObject<Primitive>>( | ||
| function _deepReplace< | ||
| T extends ReadonlyArray<DeepNode<Primitive>> | DeepObject<Primitive>, | ||
| >( | ||
| target: T, | ||
@@ -226,0 +229,0 @@ replacements: Payload, |
51757
0.6%992
0.2%