UNPKG

@daiso-tech/core

Version:

The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.

86 lines (85 loc) 2.06 kB
/** * @module Utilities */ import type { OneOrMore } from "../../../utilities/functions/_module.js"; /** * @internal */ type KeySettings = { prefixArr: Array<string>; key: OneOrMore<string>; identifierDelimeter: string; keyDelimeter: string; }; /** * @internal */ export declare class Key { private readonly prefixArr; private readonly key; private readonly identifierDelimeter; private readonly keyDelimeter; /** * * @internal */ constructor(settings: KeySettings); get original(): OneOrMore<string>; get resolved(): string; get namespaced(): string; } /** * * IMPORT_PATH: `"@daiso-tech/core/utilities"` * @group Namespace */ export type NamespaceSettings = { /** * @default ":" */ identifierDelimeter?: string; /** * @default "/" */ keyDelimeter?: string; /** * @default "_rt" */ rootIdentifier?: string; }; /** * @internal */ declare class InternalNamespace { private readonly _rootPrefix; private readonly identifierDelimeter; private readonly keyDelimeter; private readonly rootIdentifier; constructor(_rootPrefix: OneOrMore<string>, settings?: NamespaceSettings); get original(): OneOrMore<string>; get resolved(): string; private validate; private getKeyPrefixArray; get namespaced(): string; create(key: OneOrMore<string>): Key; } /** * The `Namespace` class adds prefixes/suffixes to keys to avoid conflicts and group related items. * * IMPORT_PATH: `"@daiso-tech/core/utilities"` * @group Namespace */ export declare class Namespace { private readonly root; private readonly settings; constructor(root: OneOrMore<string>, settings?: NamespaceSettings); setIdentifierDelimeter(delimeter: string): Namespace; setKeyDelimeter(delimeter: string): Namespace; setRootIdentifier(identifier: string): Namespace; appendRoot(str: OneOrMore<string>): Namespace; /** * @internal */ _getInternal(): InternalNamespace; } export {};