UNPKG

@typescript-package/name

Version:

A lightweight TypeScript library for the name with prefix and suffix.

61 lines (60 loc) 1.51 kB
import { CommonName } from './common-name.class'; /** * @description * @export * @class Name * @template {string} [Prefix=''] * @template {string} [Name=string] * @template {string} [Suffix=''] * @extends {CommonName} */ export declare class Name<Prefix extends string = '', Name extends string = string, Suffix extends string = ''> extends CommonName { #private; /** * @description Returns privately stored name. * @public * @readonly * @type {Name} */ get get(): Name; /** * @inheritdoc * @public * @readonly * @type {Prefix} */ get prefix(): Prefix; /** * @inheritdoc * @public * @readonly * @type {Suffix} */ get suffix(): Suffix; /** * @description Generates the name with prefix and suffix. * @public * @readonly * @type {`${Prefix}${Name}${Suffix}`} */ get generate(): `${Prefix}${Name}${Suffix}`; /** * Creates an instance of `Name`. * @constructor * @param {Name} name * @param {{ prefix?: Prefix, suffix?: Suffix }} [param0={}] * @param {Prefix} param0.prefix * @param {Suffix} param0.suffix */ constructor(name: Name, { prefix, suffix }?: { prefix?: Prefix; suffix?: Suffix; }); /** * @description Set the name. * @public * @param {string} name A `string` type value. * @returns {this} */ set<CustomName extends string = string>(name: Name | CustomName): this; }