space-slug
Version:
Generate unique slugs, usernames, numbers and more. If you need a unique string that looks like this `hyperspace-4812` or `blue-whimsical-summer` using an intuitive api with zero dependencies.
59 lines (50 loc) • 2.96 kB
text/typescript
declare const emojis: string[];
declare const nouns: string[];
declare const seasons: string[];
declare const adjectives: string[];
declare const colors: string[];
declare const animals: string[];
declare const verbs: string[];
declare const spaceSlugDefaultDictionary: SpaceSlugDictionary;
declare const spaceSlugDefaultOptions: Partial<SpaceSlugOptions>;
type SpaceSlugDictionary = Record<string, Partial<{
[key: string]: string[];
adjectives: string[];
animals: string[];
colors: string[];
cosmos: string[];
emojis: string[];
nouns: string[];
seasons: string[];
verbs: string[];
}>>;
type SpaceSlugOptions = {
cleanString?: (word: string) => string;
dictionary?: SpaceSlugDictionary;
locale?: string;
separator?: string;
transform?: (word: string) => string;
};
type SpaceSlugFn = (options: SpaceSlugOptions) => SpaceSlugFnOutput;
type SpaceSlugFnOutput = Set<string> | string | string[];
type SpaceSlugInput = SpaceSlugFn | SpaceSlugFnOutput;
type UniqueSpaceSlugOptions = {
isUnique?: (slug: string) => Promise<boolean>;
makeUnique?: (slug: string) => Promise<string>;
maxAttempts?: number;
usedSlugs?: string[];
};
declare const word: (type: string) => (count?: number, _words?: string[]) => (options: SpaceSlugOptions) => Set<string>;
declare const noun: (count?: number, _words?: string[]) => (options: SpaceSlugOptions) => Set<string>;
declare const adjective: (count?: number, _words?: string[]) => (options: SpaceSlugOptions) => Set<string>;
declare const color: (count?: number, _words?: string[]) => (options: SpaceSlugOptions) => Set<string>;
declare const season: (count?: number, _words?: string[]) => (options: SpaceSlugOptions) => Set<string>;
declare const emoji: (count?: number, _words?: string[]) => (options: SpaceSlugOptions) => Set<string>;
declare const verb: (count?: number, _words?: string[]) => (options: SpaceSlugOptions) => Set<string>;
declare const animal: (count?: number, _words?: string[]) => (options: SpaceSlugOptions) => Set<string>;
declare const cosmos: (count?: number, _words?: string[]) => (options: SpaceSlugOptions) => Set<string>;
declare const digits: (count?: number, noConsecutive?: boolean) => (options: SpaceSlugOptions) => string;
declare const cleanString: (inputString: string, separator: string) => string;
declare const uniqueSpaceSlug: (spaceSlugFn: SpaceSlugInput[], options?: SpaceSlugOptions & UniqueSpaceSlugOptions) => Promise<string>;
declare const spaceSlug: (spaceSlugInputs?: SpaceSlugInput[], options?: SpaceSlugOptions) => string;
export { type SpaceSlugDictionary, type SpaceSlugFn, type SpaceSlugFnOutput, type SpaceSlugInput, type SpaceSlugOptions, type UniqueSpaceSlugOptions, adjective, adjectives, animal, animals, cleanString, color, colors, cosmos, digits, emoji, emojis, noun, nouns, season, seasons, spaceSlug, spaceSlugDefaultDictionary, spaceSlugDefaultOptions, uniqueSpaceSlug, verb, verbs, word };