export function namespaced()

in packages/@aws-play/cdk-core/src/utils/identity.ts [79:108]


export function namespaced (scope: Construct, name: string | string[], options?: NamespacedOptions): string {
	if (!Array.isArray(name)) {
		name = [name]
	}

	const stack = getRootStack(scope) as Stack
	switch (options?.scope) {
		case 'region': {
			name = name.concat([stack.region])
			break
		}
		case 'global': {
			name = name.concat([stack.account, stack.region])
			break
		}
	}

	const delimiter = options?.delimiter || '-'
	name = name.join(delimiter)

	let namespace = getNamespace(scope)

	if (options?.lowerCase === true) {
		namespace = namespace.toLowerCase()
	}

	name = `${namespace}${delimiter}${name}`

	return name
}