@intlayer/types 9.1.1 → 9.1.2

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.
@@ -96,6 +96,37 @@ type DictionaryQualifierType = "variant" | "item";
96
96
  * values — an array registers the same content under every listed variant id.
97
97
  */
98
98
  type DictionaryVariantValue = string | Record<string, string | number>;
99
+ /**
100
+ * A variant coordinate as pinned by a **selector** (or by a provider default):
101
+ * one value, or an **ordered preference chain**.
102
+ *
103
+ * A chain is tried left to right against the entries the key declares, and the
104
+ * first declared one wins; when none is declared the implicit `default` entry
105
+ * is used, exactly as for a single value. So `['black-friday', 'promo']` reads
106
+ * as "black-friday if this key has one, else promo, else default".
107
+ *
108
+ * Note this is the mirror image of the array accepted by the `variant` field of
109
+ * a {@link Dictionary}: there an array **declares** one entry per element
110
+ * (fan-out), here it **consumes** them in priority order.
111
+ */
112
+ type DictionaryVariantChain = DictionaryVariantValue | readonly DictionaryVariantValue[];
113
+ /**
114
+ * Variant default carried by a framework provider (`<IntlayerProvider variant>`)
115
+ * and applied to every dictionary read below it, the way `locale` already is.
116
+ *
117
+ * Three forms:
118
+ * - `'school1'` — one named variant for every key
119
+ * - `['school1', 'default']` — an ordered {@link DictionaryVariantChain}
120
+ * - `{ key1: 'school1', default: 'base' }` — per dictionary key, with the
121
+ * reserved `default` entry covering every key not listed
122
+ *
123
+ * On a provider a plain object is **always** read as the per-key map, never as
124
+ * a structured variant value — the two are structurally identical. To pin a
125
+ * structured variant globally, nest it under an entry:
126
+ * `variant={{ default: { id: 'prod_abc' } }}`.
127
+ */
128
+ type ProviderVariantMap<Key extends string = DictionaryKey> = Partial<Record<Key | "default", DictionaryVariantChain>>;
129
+ type ProviderVariant<Key extends string = DictionaryKey> = string | readonly DictionaryVariantValue[] | ProviderVariantMap<Key>;
99
130
  /**
100
131
  * Output of the merge step for a key whose dictionaries declare one or more
101
132
  * qualifier dimensions (`variant`, `item`).
@@ -143,6 +174,8 @@ type QualifiedDictionaryGroup = {
143
174
  *
144
175
  * - `{ item: 2 }` selects a collection item (1-based index)
145
176
  * - `{ variant: 'black-friday' }` selects a named variant
177
+ * - `{ variant: ['black-friday', 'promo'] }` selects the first of an ordered
178
+ * preference chain that the key actually declares
146
179
  * - `{ variant: { id: 'prod_abc', userId: '123' } }` selects a structured
147
180
  * variant; the object must equal the variant declared on the dictionary
148
181
  * - `locale` composes with any of the above and overrides the context locale
@@ -154,7 +187,7 @@ type DictionarySelector = {
154
187
  */
155
188
  locale?: DeclaredLocales;
156
189
  item?: number;
157
- variant?: DictionaryVariantValue;
190
+ variant?: DictionaryVariantChain;
158
191
  };
159
192
  type QualifiedEntryContent<Entry> = Entry extends {
160
193
  content: infer Content;
@@ -198,8 +231,12 @@ type CoordinateEquals<Left, Right> = [StringifyCoordinate<Left>] extends [String
198
231
  * precisely; an object variant broadens to `string` (it matches any declared
199
232
  * variant entry, since the object identity is not reconstructable at the type
200
233
  * level). An absent selector defaults to the `'default'` variant.
234
+ *
235
+ * A {@link DictionaryVariantChain} broadens to the **union** of its entries:
236
+ * which one wins depends on what the key declares, which is a runtime fact, so
237
+ * the content type is the union of every outcome the chain can produce.
201
238
  */
202
- type SelectorVariant<Selector> = "variant" extends keyof Selector ? Selector["variant" & keyof Selector] extends (infer Variant) ? Variant extends string ? Variant : string : never : "default";
239
+ type SelectorVariant<Selector> = "variant" extends keyof Selector ? Selector["variant" & keyof Selector] extends (infer Variant) ? Variant extends readonly (infer ChainEntry)[] ? ChainEntry extends string ? ChainEntry : string : Variant extends string ? Variant : string : never : "default";
203
240
  /** The item a selector pins, or `undefined` when it leaves the axis open. */
204
241
  type SelectorItem<Selector> = "item" extends keyof Selector ? Selector["item" & keyof Selector] : undefined;
205
242
  /**
@@ -334,10 +371,15 @@ type HasDefaultVariant<T> = "default" extends VariantIdsOfGroup<T> ? true : fals
334
371
  * never accepted in their serialized string form (`'id=abc&userId=123'`) —
335
372
  * that is a storage encoding, not part of the API.
336
373
  */
374
+ type SelectableVariantsOf<T, KnownVariants> = NamedVariantIds<EntryVariant<GroupEntryUnion<T>>> | (HasDefaultVariant<T> extends true ? KnownVariants : never) | DictionaryObjectVariantsOf<T>;
337
375
  type DictionarySelectorForGroup<T, KnownVariants = DeclaredVariants> = [GroupEntryUnion<T>] extends [never] ? DictionarySelector : {
338
376
  locale?: DeclaredLocales;
339
377
  } & ([EntryVariant<GroupEntryUnion<T>>] extends [never] ? unknown : {
340
- variant?: NamedVariantIds<EntryVariant<GroupEntryUnion<T>>> | (HasDefaultVariant<T> extends true ? KnownVariants : never) | DictionaryObjectVariantsOf<T>;
378
+ /**
379
+ * One variant, or an ordered preference chain of them — every value
380
+ * accepted alone is also accepted as a chain entry.
381
+ */
382
+ variant?: SelectableVariantsOf<T, KnownVariants> | readonly SelectableVariantsOf<T, KnownVariants>[];
341
383
  }) & ([EntryItem<GroupEntryUnion<T>>] extends [never] ? unknown : {
342
384
  item?: EntryItem<GroupEntryUnion<T>> | number | (string & {});
343
385
  });
@@ -702,5 +744,5 @@ type DictionaryWithoutSchema<ContentType, FetchableNode> = {
702
744
  type Dictionary<ContentType = undefined, SchemaKey extends SchemaKeys | undefined = undefined, FetchableNode = false> = DictionaryBase & (SchemaKey extends SchemaKeys ? DictionaryWithSchema<ContentType, FetchableNode, SchemaKey> : undefined extends SchemaKey ? DictionaryWithoutSchema<ContentType, FetchableNode> | DictionaryWithSchema<ContentType, FetchableNode> : never);
703
745
  type GetSubPath<T, P> = P extends `${infer K}.${infer Rest}` ? K extends keyof T ? GetSubPath<T[K], Rest> : never : P extends keyof T ? T[P] : T;
704
746
  //#endregion
705
- export { ContentAutoTransformation, ContentNode, Dictionary, DictionaryFormat, DictionaryId, DictionaryKey, DictionaryLocation, DictionaryQualifierType, DictionarySelector, DictionarySelectorForGroup, DictionaryVariantIdsOf, DictionaryVariantValue, Fill, GetSubPath, ImportMode, LocalDictionaryId, QualifiedDictionaryGroup, ResolveQualifiedDictionaryContent, TypedNode };
747
+ export { ContentAutoTransformation, ContentNode, Dictionary, DictionaryFormat, DictionaryId, DictionaryKey, DictionaryLocation, DictionaryQualifierType, DictionarySelector, DictionarySelectorForGroup, DictionaryVariantChain, DictionaryVariantIdsOf, DictionaryVariantValue, Fill, GetSubPath, ImportMode, LocalDictionaryId, ProviderVariant, ProviderVariantMap, QualifiedDictionaryGroup, ResolveQualifiedDictionaryContent, TypedNode };
706
748
  //# sourceMappingURL=dictionary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dictionary.d.ts","names":[],"sources":["../../src/dictionary.ts"],"mappings":"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"}
1
+ {"version":3,"file":"dictionary.d.ts","names":[],"sources":["../../src/dictionary.ts"],"mappings":"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"}
@@ -3,8 +3,8 @@ import { ALL_LOCALES, Locale } from "./allLocales.js";
3
3
  import { DeclaredLocales, DeclaredVariants, DictionaryKeys, DictionaryRegistry, DictionaryRegistryContent, DictionaryRegistryElement, DictionaryRegistryResult, DictionarySelectorForKey, ExtractSelectorLocale, GetLocaleLang, LocalesValues, LocalizedUrl, PathWithoutLocale, RequiredLocales, ResolvedDefaultLocale, ResolvedEditor, ResolvedRoutingMode, Schema, SchemaKeys, StrictModeLocaleMap } from "./module_augmentation.js";
4
4
  import { FilePathPattern, FilePathPatternContext, FilePathPatternFunction } from "./filePathPattern.js";
5
5
  import { ARRAY, BOOLEAN, CONDITION, ENUMERATION, FILE, GENDER, HTML, INSERTION, MARKDOWN, NESTED, NULL, NUMBER, NodeType, OBJECT, PLUGIN_NODE_TYPES, PLURAL, PREACT_NODE, REACT_NODE, SELECT, SOLID_NODE, TEXT, TRANSLATION, TypedNodeModel, UNKNOWN, formatNodeType } from "./nodeType.js";
6
- import { ContentAutoTransformation, ContentNode, Dictionary, DictionaryFormat, DictionaryId, DictionaryKey, DictionaryLocation, DictionaryQualifierType, DictionarySelector, DictionarySelectorForGroup, DictionaryVariantIdsOf, DictionaryVariantValue, Fill, GetSubPath, ImportMode, LocalDictionaryId, QualifiedDictionaryGroup, ResolveQualifiedDictionaryContent, TypedNode } from "./dictionary.js";
6
+ import { ContentAutoTransformation, ContentNode, Dictionary, DictionaryFormat, DictionaryId, DictionaryKey, DictionaryLocation, DictionaryQualifierType, DictionarySelector, DictionarySelectorForGroup, DictionaryVariantChain, DictionaryVariantIdsOf, DictionaryVariantValue, Fill, GetSubPath, ImportMode, LocalDictionaryId, ProviderVariant, ProviderVariantMap, QualifiedDictionaryGroup, ResolveQualifiedDictionaryContent, TypedNode } from "./dictionary.js";
7
7
  import { MergedDictionaryOutput, MergedDictionaryResult, Plugin, UnmergedDictionaryOutput, UnmergedDictionaryResult } from "./plugin.js";
8
8
  import { AiConfig, AiProviderConfigMap, AiProviders, AnalyticsConfig, BuildConfig, CommonAiConfig, CompilerConfig, ConfigSchema, ContentConfig, CookiesAttributes, CustomIntlayerConfig, CustomRoutingConfig, DictionaryConfig, EditorConfig, InternationalizationConfig, IntlayerConfig, LogConfig, LogFunctions, ProcessedCookieAttributes, ProcessedStorageAttributes, RewriteObject, RewriteRule, RewriteRules, RoutingConfig, RoutingStorageInput, StorageAttributes, StrictMode, SystemConfig, URLType } from "./config.js";
9
9
  import { ArrayNode, ConditionNode, EnumerationNode, FileNode, GenderNode, HTMLNode, InsertionNode, KeyPath, MarkdownNode, NestedNode, ObjectNode, PluralNode, ReactNode, SelectNode, TranslationNode } from "./keyPath.js";
10
- export { ALL_LOCALES, ARRAY, AiConfig, AiProviderConfigMap, AiProviders, AnalyticsConfig, ArrayNode, BOOLEAN, BuildConfig, CONDITION, CommonAiConfig, CompilerConfig, ConditionNode, ConfigSchema, ContentAutoTransformation, ContentConfig, ContentNode, CookiesAttributes, CustomIntlayerConfig, CustomRoutingConfig, DeclaredLocales, DeclaredVariants, Dictionary, DictionaryConfig, DictionaryFormat, DictionaryId, DictionaryKey, DictionaryKeys, DictionaryLocation, DictionaryQualifierType, DictionaryRegistry, DictionaryRegistryContent, DictionaryRegistryElement, DictionaryRegistryResult, DictionarySelector, DictionarySelectorForGroup, DictionarySelectorForKey, DictionaryVariantIdsOf, DictionaryVariantValue, ENUMERATION, EditorConfig, EnumerationNode, ExtractSelectorLocale, FILE, FileNode, FilePathPattern, FilePathPatternContext, FilePathPatternFunction, Fill, GENDER, GenderNode, GetLocaleLang, GetSubPath, HTML, HTMLNode, INSERTION, ImportMode, InsertionNode, InternationalizationConfig, IntlayerConfig, KeyPath, LocalDictionaryId, Locale, locales_d_exports as Locales, LocalesValues, LocalizedUrl, LogConfig, LogFunctions, MARKDOWN, MarkdownNode, MergedDictionaryOutput, MergedDictionaryResult, NESTED, NULL, NUMBER, NestedNode, NodeType, OBJECT, ObjectNode, PLUGIN_NODE_TYPES, PLURAL, PREACT_NODE, PathWithoutLocale, Plugin, PluralNode, ProcessedCookieAttributes, ProcessedStorageAttributes, QualifiedDictionaryGroup, REACT_NODE, ReactNode, RequiredLocales, ResolveQualifiedDictionaryContent, ResolvedDefaultLocale, ResolvedEditor, ResolvedRoutingMode, RewriteObject, RewriteRule, RewriteRules, RoutingConfig, RoutingStorageInput, SELECT, SOLID_NODE, Schema, SchemaKeys, SelectNode, StorageAttributes, StrictMode, StrictModeLocaleMap, SystemConfig, TEXT, TRANSLATION, TranslationNode, TypedNode, TypedNodeModel, UNKNOWN, URLType, UnmergedDictionaryOutput, UnmergedDictionaryResult, formatNodeType };
10
+ export { ALL_LOCALES, ARRAY, AiConfig, AiProviderConfigMap, AiProviders, AnalyticsConfig, ArrayNode, BOOLEAN, BuildConfig, CONDITION, CommonAiConfig, CompilerConfig, ConditionNode, ConfigSchema, ContentAutoTransformation, ContentConfig, ContentNode, CookiesAttributes, CustomIntlayerConfig, CustomRoutingConfig, DeclaredLocales, DeclaredVariants, Dictionary, DictionaryConfig, DictionaryFormat, DictionaryId, DictionaryKey, DictionaryKeys, DictionaryLocation, DictionaryQualifierType, DictionaryRegistry, DictionaryRegistryContent, DictionaryRegistryElement, DictionaryRegistryResult, DictionarySelector, DictionarySelectorForGroup, DictionarySelectorForKey, DictionaryVariantChain, DictionaryVariantIdsOf, DictionaryVariantValue, ENUMERATION, EditorConfig, EnumerationNode, ExtractSelectorLocale, FILE, FileNode, FilePathPattern, FilePathPatternContext, FilePathPatternFunction, Fill, GENDER, GenderNode, GetLocaleLang, GetSubPath, HTML, HTMLNode, INSERTION, ImportMode, InsertionNode, InternationalizationConfig, IntlayerConfig, KeyPath, LocalDictionaryId, Locale, locales_d_exports as Locales, LocalesValues, LocalizedUrl, LogConfig, LogFunctions, MARKDOWN, MarkdownNode, MergedDictionaryOutput, MergedDictionaryResult, NESTED, NULL, NUMBER, NestedNode, NodeType, OBJECT, ObjectNode, PLUGIN_NODE_TYPES, PLURAL, PREACT_NODE, PathWithoutLocale, Plugin, PluralNode, ProcessedCookieAttributes, ProcessedStorageAttributes, ProviderVariantMap, QualifiedDictionaryGroup, REACT_NODE, ReactNode, RequiredLocales, ResolveQualifiedDictionaryContent, ResolvedDefaultLocale, ResolvedEditor, ResolvedRoutingMode, RewriteObject, RewriteRule, RewriteRules, RoutingConfig, RoutingStorageInput, SELECT, SOLID_NODE, Schema, SchemaKeys, SelectNode, StorageAttributes, StrictMode, StrictModeLocaleMap, SystemConfig, TEXT, TRANSLATION, TranslationNode, TypedNode, TypedNodeModel, UNKNOWN, URLType, UnmergedDictionaryOutput, UnmergedDictionaryResult, formatNodeType };
@@ -1,5 +1,5 @@
1
1
  import { Locale } from "./allLocales.js";
2
- import { Dictionary, DictionarySelector, DictionarySelectorForGroup, DictionaryVariantIdsOf, ResolveQualifiedDictionaryContent } from "./dictionary.js";
2
+ import { Dictionary, DictionarySelector, DictionarySelectorForGroup, DictionaryVariantIdsOf, ProviderVariant as ProviderVariant$1, ResolveQualifiedDictionaryContent } from "./dictionary.js";
3
3
  import { StrictMode } from "./config.js";
4
4
  import { __DeclaredLocalesRegistry, __DictionaryRegistry, __EditorRegistry, __RequiredLocalesRegistry, __RoutingRegistry, __SchemaRegistry, __StrictModeRegistry } from "intlayer";
5
5
  //#region src/module_augmentation.d.ts
@@ -51,6 +51,18 @@ type DeclaredVariants = DictionaryVariantIdsOf<__DictionaryRegistry[keyof __Dict
51
51
  * value is a compile-time error. Plain keys fall back to {@link DictionarySelector}.
52
52
  */
53
53
  type DictionarySelectorForKey<T extends PropertyKey> = [T] extends [keyof __DictionaryRegistry] ? DictionarySelectorForGroup<__DictionaryRegistry[T]> : DictionarySelector;
54
+ /**
55
+ * The `variant` prop of a framework provider (`<IntlayerProvider variant>`),
56
+ * narrowed to this project's declared dictionary keys — so the per-key map form
57
+ * rejects a key no dictionary declares.
58
+ *
59
+ * That narrowing is also what keeps the per-key map safely distinguishable from
60
+ * a structured variant value: on a provider a plain object is always read as
61
+ * the map, and `variant={{ id: 'prod_abc' }}` is a compile error unless `id`
62
+ * happens to be a dictionary key. Pin a structured variant globally by nesting
63
+ * it under an entry instead: `variant={{ default: { id: 'prod_abc' } }}`.
64
+ */
65
+ type ProviderVariant = ProviderVariant$1<DictionaryKeys & string>;
54
66
  type NarrowStringKeys<T> = string extends keyof T ? never : Extract<keyof T, string>;
55
67
  type DeclaredLocales = [NarrowStringKeys<__DeclaredLocalesRegistry>] extends [never] ? Locale : NarrowStringKeys<__DeclaredLocalesRegistry>;
56
68
  type RequiredLocales = [NarrowStringKeys<__RequiredLocalesRegistry>] extends [never] ? never : NarrowStringKeys<__RequiredLocalesRegistry>;
@@ -115,5 +127,5 @@ type GetLocaleLang<L extends string> = L extends `${infer Lang}-${string}` ? Lan
115
127
  */
116
128
  type PathWithoutLocale<Path extends string, Locales extends string> = Path extends `${infer Protocol}://${infer Domain}/${infer Seg}/${infer Rest}` ? Seg extends Locales ? `${Protocol}://${Domain}/${Rest}` : Path : Path extends `${infer Protocol}://${infer Domain}/${infer Seg}` ? Seg extends Locales ? `${Protocol}://${Domain}/` : Path : Path extends `/${infer Seg}/${infer Rest}` ? Seg extends Locales ? `/${Rest}` : Path : Path extends `/${infer Seg}` ? Seg extends Locales ? "/" : Path : Path;
117
129
  //#endregion
118
- export { DeclaredLocales, DeclaredVariants, DictionaryKeys, DictionaryRegistry, DictionaryRegistryContent, DictionaryRegistryElement, DictionaryRegistryResult, type DictionarySelector, type DictionarySelectorForGroup, DictionarySelectorForKey, ExtractSelectorLocale, GetLocaleLang, LocalesValues, LocalizedUrl, PathWithoutLocale, RequiredLocales, ResolvedDefaultLocale, ResolvedEditor, ResolvedRoutingMode, Schema, SchemaKeys, StrictModeLocaleMap };
130
+ export { DeclaredLocales, DeclaredVariants, DictionaryKeys, DictionaryRegistry, DictionaryRegistryContent, DictionaryRegistryElement, DictionaryRegistryResult, type DictionarySelector, type DictionarySelectorForGroup, DictionarySelectorForKey, ExtractSelectorLocale, GetLocaleLang, LocalesValues, LocalizedUrl, PathWithoutLocale, ProviderVariant, RequiredLocales, ResolvedDefaultLocale, ResolvedEditor, ResolvedRoutingMode, Schema, SchemaKeys, StrictModeLocaleMap };
119
131
  //# sourceMappingURL=module_augmentation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module_augmentation.d.ts","names":[],"sources":["../../src/module_augmentation.ts"],"mappings":";;;;;KAmBY,mBAAmB,gDAErB;KAEE,OAAO,UAAU,gCAAgC,WAEzD,gBAAgB,mBACd,iBAAiB;KAGX,uBAAuB,oDAEzB;KAGE,qBACV,2BAA2B,sCACvB,eAAe,cACf;KAEM,0BAA0B,UAAU,oCAErC,KACP,aACA,gBAAgB,uBACd,qBAAqB,WAAW,aAC9B,qBAAqB,KACrB,aACF;KAEM,0BAA0B,UAAU,gBAAgB,kBACxD,wBAEJ,qBAAqB;EAAa,eAAe;IAC/C,IACA,wBACF;;;;;;;;;;KAWQ,yBAAyB,UAAU,aAAa,oBAC1D,kBACe,wBACb,kCAAkC,qBAAqB,IAAI,OAC3D;;;;;KAMQ,sBAAsB,OAAO;EACvC,cAAc,UAAU;IAEtB,IACA,YAAY,gBACV,MACA;;;;;;;;;;;;;;;;;KAkBM,mBAAmB,uBAC7B,2BAA2B;;;;;;KAQjB,yBAAyB,UAAU,gBAAgB,kBACvD,wBAEJ,2BAA2B,qBAAqB,MAChD;KAMC,iBAAiB,0BAA0B,YAE5C,cAAc;KAEN,mBACV,iBAAiB,8CAEf,SACA,iBAAiB;KAET,mBACV,iBAAiB,sDAGf,iBAAiB;;KAGT,gBAAgB;KAGvB,qBAAqB;EAA+B,YAAY;IACjE;KAIQ,oBACV,mBACA,aAAa,aAAa,sBACxB,gCACA,QAAQ,OAAO,QAAQ,YACvB,wBACE,SAAS,OAAO,iBAAiB,YAC/B,QAAQ,OAAO,iBAAiB,YAClC,2BACE,SAAS,OAAO,iBAAiB,YAC/B,QAAQ,OAAO,QAAQ,YACzB,QAAQ,OAAO,QAAQ;KAGnB,eAAe,MAAM,UAAU;EACzC;IAEE,SACA;KAIC;;KAOO,sBAAsB;EAChC,YAAY,UAAU;IAEpB;;KAIQ,wBAAwB;EAClC,qBAAqB,UAAU;IAE7B,IACA;;KAKC,oBACH,kBACA,qBACA,0BACE,+BACG,OACH,mCACE,UAAU,kBAEL;;KAIN,iBACH,qBACA,yBACE,oBACA,OACA,uBAAuB,aACjB,SAAS,SACb;;;;;;;;;;;;;;;;KAiBM,aACV,qBACA,UAAU,eACV,sBAAsB,qBACtB,gBAAgB,gBAAgB,uBAChC,yBAAyB,8CACL,iBAElB,2BACE,kBAAkB,MAAM,WACxB,wCAEE,iBACE,kBAAkB,MAAM,UACxB,oBAAoB,GAAG,MAAM;;;;;;;;KAU3B,cAAc,oBACxB,mBAAmB,mBAAmB,OAAO;;;;;;;;;;;;;;KAenC,kBAAkB,qBAAqB,0BAEjD,sBAAsB,oBAAoB,gBAAgB,aAAa,SACnE,YAAY,aACP,cAAc,UAAU,SAC3B,OAEF,sBAAsB,oBAAoB,gBAAgB,QACxD,YAAY,aACP,cAAc,YACjB,OAEF,uBAAuB,aAAa,SAClC,YAAY,cACN,SACJ,OAEF,uBAAuB,QACrB,YAAY,gBAEV,OACF"}
1
+ {"version":3,"file":"module_augmentation.d.ts","names":[],"sources":["../../src/module_augmentation.ts"],"mappings":";;;;;KAoBY,mBAAmB,gDAErB;KAEE,OAAO,UAAU,gCAAgC,WAEzD,gBAAgB,mBACd,iBAAiB;KAGX,uBAAuB,oDAEzB;KAGE,qBACV,2BAA2B,sCACvB,eAAe,cACf;KAEM,0BAA0B,UAAU,oCAErC,KACP,aACA,gBAAgB,uBACd,qBAAqB,WAAW,aAC9B,qBAAqB,KACrB,aACF;KAEM,0BAA0B,UAAU,gBAAgB,kBACxD,wBAEJ,qBAAqB;EAAa,eAAe;IAC/C,IACA,wBACF;;;;;;;;;;KAWQ,yBAAyB,UAAU,aAAa,oBAC1D,kBACe,wBACb,kCAAkC,qBAAqB,IAAI,OAC3D;;;;;KAMQ,sBAAsB,OAAO;EACvC,cAAc,UAAU;IAEtB,IACA,YAAY,gBACV,MACA;;;;;;;;;;;;;;;;;KAkBM,mBAAmB,uBAC7B,2BAA2B;;;;;;KAQjB,yBAAyB,UAAU,gBAAgB,kBACvD,wBAEJ,2BAA2B,qBAAqB,MAChD;;;;;;;;;;;;KAaQ,kBAAkB,kBAAoB;KAM7C,iBAAiB,0BAA0B,YAE5C,cAAc;KAEN,mBACV,iBAAiB,8CAEf,SACA,iBAAiB;KAET,mBACV,iBAAiB,sDAGf,iBAAiB;;KAGT,gBAAgB;KAGvB,qBAAqB;EAA+B,YAAY;IACjE;KAIQ,oBACV,mBACA,aAAa,aAAa,sBACxB,gCACA,QAAQ,OAAO,QAAQ,YACvB,wBACE,SAAS,OAAO,iBAAiB,YAC/B,QAAQ,OAAO,iBAAiB,YAClC,2BACE,SAAS,OAAO,iBAAiB,YAC/B,QAAQ,OAAO,QAAQ,YACzB,QAAQ,OAAO,QAAQ;KAGnB,eAAe,MAAM,UAAU;EACzC;IAEE,SACA;KAIC;;KAOO,sBAAsB;EAChC,YAAY,UAAU;IAEpB;;KAIQ,wBAAwB;EAClC,qBAAqB,UAAU;IAE7B,IACA;;KAKC,oBACH,kBACA,qBACA,0BACE,+BACG,OACH,mCACE,UAAU,kBAEL;;KAIN,iBACH,qBACA,yBACE,oBACA,OACA,uBAAuB,aACjB,SAAS,SACb;;;;;;;;;;;;;;;;KAiBM,aACV,qBACA,UAAU,eACV,sBAAsB,qBACtB,gBAAgB,gBAAgB,uBAChC,yBAAyB,8CACL,iBAElB,2BACE,kBAAkB,MAAM,WACxB,wCAEE,iBACE,kBAAkB,MAAM,UACxB,oBAAoB,GAAG,MAAM;;;;;;;;KAU3B,cAAc,oBACxB,mBAAmB,mBAAmB,OAAO;;;;;;;;;;;;;;KAenC,kBAAkB,qBAAqB,0BAEjD,sBAAsB,oBAAoB,gBAAgB,aAAa,SACnE,YAAY,aACP,cAAc,UAAU,SAC3B,OAEF,sBAAsB,oBAAoB,gBAAgB,QACxD,YAAY,aACP,cAAc,YACjB,OAEF,uBAAuB,aAAa,SAClC,YAAY,cACN,SACJ,OAEF,uBAAuB,QACrB,YAAY,gBAEV,OACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/types",
3
- "version": "9.1.1",
3
+ "version": "9.1.2",
4
4
  "private": false,
5
5
  "description": "Retrieve Intlayer configurations and manage environment variables for both server-side and client-side environments.",
6
6
  "keywords": [