diff --git a/aio/content/guide/styleguide.md b/aio/content/guide/styleguide.md index 11eec3a5ba..eabe896ff6 100644 --- a/aio/content/guide/styleguide.md +++ b/aio/content/guide/styleguide.md @@ -1080,6 +1080,10 @@ For example, the prefix `toh` represents **T**our **o**f **H**eroes and the pref **Do** use consistent names for all pipes, named after their feature. +The pipe class name should use [UpperCamelCase](guide/glossary#case-types) +(the general convention for class names), +and the corresponding `name` string should use *lowerCamelCase*. +The `name` string cannot use hyphens ("dash-case" or "kebab-case"). diff --git a/packages/core/src/metadata/directives.ts b/packages/core/src/metadata/directives.ts index 8f483a0061..e95cbbddcf 100644 --- a/packages/core/src/metadata/directives.ts +++ b/packages/core/src/metadata/directives.ts @@ -589,6 +589,8 @@ export interface PipeDecorator { * to a template. To make it a member of an NgModule, * list it in the `declarations` field of the `NgModule` metadata. * + * @see [Style Guide: Pipe Names](guide/styleguide#02-09) + * */ (obj: Pipe): TypeDecorator; @@ -606,7 +608,8 @@ export interface PipeDecorator { export interface Pipe { /** * The pipe name to use in template bindings. - * + * Typically uses [lowerCamelCase](guide/glossary#case-types) + * because the name cannot contain hyphens. */ name: string;