UNPKG

intlayer

Version:

Manage internationalization i18n in a simple way, through TypeScript, declaration file, declare your multilingual content every where in your code.

1 lines 5.54 kB
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/index.ts"],"sourcesContent":["/** biome-ignore-all lint/suspicious/noEmptyInterface: Intlayer module augmentation registries */\n\nimport type {\n CustomIntlayerConfig,\n IntlayerConfig,\n} from '@intlayer/types/config';\nimport type { Dictionary as DictionaryCore } from '@intlayer/types/dictionary';\nimport type { SchemaKeys } from '@intlayer/types/module_augmentation';\n\n/**\n * The dictionary type used to define the structure of a dictionary.\n * It is used to provide type safety and autocompletion when defining a dictionary.\n *\n * @example\n * ```ts\n * import { Dictionary } from 'intlayer';\n *\n * const dictionary: Dictionary = { ... };\n * ```\n */\ntype Dictionary<\n T = undefined,\n SchemaKey extends SchemaKeys | undefined = undefined,\n> = DictionaryCore<T, SchemaKey, true>;\n\n/**\n * The content of a dictionary.\n *\n * @deprecated Use `Dictionary<T>` instead.\n */\ntype DeclarationContent<\n T = undefined,\n SchemaKey extends SchemaKeys | undefined = undefined,\n> = Dictionary<T, SchemaKey>;\n\nexport { ALL_LOCALES, type Locale } from '@intlayer/types/allLocales';\nexport type { ContentNode } from '@intlayer/types/dictionary';\nexport * as Locales from '@intlayer/types/locales';\nexport type {\n DeclaredLocales,\n LocalesValues,\n RequiredLocales,\n StrictModeLocaleMap,\n} from '@intlayer/types/module_augmentation';\n\nexport type {\n CustomIntlayerConfig as IntlayerConfig,\n DeclarationContent,\n Dictionary,\n};\n\nimport {\n content,\n /**\n * The editor configuration defined in the configuration.\n */\n editor,\n internationalization,\n log,\n routing,\n} from '@intlayer/config/built';\n\n/**\n * The locales defined in the configuration.\n */\nconst locales = internationalization.locales;\n\n/**\n * The required locales defined in the configuration.\n */\nconst requiredLocales = internationalization.requiredLocales;\n\n/**\n * The default locale defined in the configuration.\n */\nconst defaultLocale = internationalization.defaultLocale;\n\n/**\n * @deprecated Use `defaultLocale`, `locales`, `requiredLocales` or `editor` instead.\n *\n * Configuration of Intlayer.\n *\n */\nconst configuration: Pick<\n IntlayerConfig,\n 'editor' | 'internationalization' | 'log' | 'routing'\n> = {\n editor,\n internationalization,\n log,\n content,\n routing,\n};\n\n/**\n * Returns the configuration of Intlayer.\n */\nconst getConfiguration = () => configuration;\n\nexport { file } from '@intlayer/core/file'; // Include specific export for browser because of node js function that can't be used in browser\nexport {\n compact,\n currency,\n date,\n Intl,\n number,\n percentage,\n relativeTime,\n units,\n} from '@intlayer/core/formatters';\nexport {\n getDictionary,\n getEnumeration,\n /**\n * @deprecated Use `getEnumeration` instead.\n */\n getEnumeration as getEnumerationContent,\n getIntlayer,\n getNesting,\n getTranslation,\n /**\n * @deprecated Use `getTranslation` instead.\n */\n getTranslation as getTranslationContent,\n} from '@intlayer/core/interpreter';\nexport type {\n GenerateSitemapOptions,\n SitemapUrlEntry,\n} from '@intlayer/core/localization';\nexport {\n comparePaths,\n generateSitemap,\n generateSitemapUrl,\n getBrowserLocale,\n getCanonicalPath,\n getHTMLTextDir,\n getLocale,\n getLocaleFromPath,\n getLocaleLang,\n getLocaleName,\n getLocalizedPath,\n getLocalizedUrl,\n getMultilingualUrls,\n getPathWithoutLocale,\n getPrefix,\n getRewriteRules,\n localeDetector,\n localeFlatMap,\n localeMap,\n localeRecord,\n localeResolver,\n normalizePath,\n validatePrefix,\n} from '@intlayer/core/localization';\nexport { getMarkdownMetadata } from '@intlayer/core/markdown';\nexport {\n cond,\n enu,\n gender,\n html,\n insert,\n md,\n nest,\n plural,\n select,\n t,\n} from '@intlayer/core/transpiler';\nexport {\n getCookie,\n /**\n * @deprecated Use `getLocaleFromStorageClient` or `getLocaleFromStorageServer` instead.\n */\n getLocaleFromStorage,\n getLocaleFromStorageClient,\n getLocaleFromStorageServer,\n LocaleStorageClient,\n LocaleStorageServer,\n /**\n * @deprecated Use `setLocaleInStorageClient` or `setLocaleInStorageServer` instead.\n */\n setLocaleInStorage,\n setLocaleInStorageClient,\n setLocaleInStorageServer,\n} from '@intlayer/core/utils';\n\n// Reexport here for CJS compatibility\n// Fix ReferenceError: Cannot access 'xxx' before initialization\nexport {\n /**\n * @deprecated Use `defaultLocale`, `locales`, `requiredLocales` or `editor` instead.\n */\n configuration,\n defaultLocale,\n editor,\n getConfiguration,\n locales,\n requiredLocales,\n};\n\n// --- Registries to be augmented by the generator ---\nexport interface __DictionaryRegistry {} // id -> interfaceof ictionary\nexport interface __DeclaredLocalesRegistry {} // 'fr': 1, 'en': 1, ...\nexport interface __RequiredLocalesRegistry {} // 'en': 1, ...\nexport interface __SchemaRegistry {} // id -> interface of schema\nexport interface __StrictModeRegistry {} // one of: { strict: true } | { inclusive: true } | { loose: true }\nexport interface __EditorRegistry {} // one of: { enabled: true } | { enabled: false }\nexport interface __RoutingRegistry {} // { mode: 'prefix-no-default'; defaultLocale: 'en' }\n"],"mappings":";;;;;;;;;;;;;;;AAiEA,MAAM,UAAU,qBAAqB;;;;AAKrC,MAAM,kBAAkB,qBAAqB;;;;AAK7C,MAAM,gBAAgB,qBAAqB;;;;;;;AAQ3C,MAAM,gBAGF;CACF;CACA;CACA;CACA;CACA;AACF;;;;AAKA,MAAM,yBAAyB"}