@typescript-package/name
Version:
A lightweight TypeScript library for the name with prefix and suffix.
61 lines (60 loc) • 1.51 kB
TypeScript
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;
}