en un clic
angular-pipe
Generates Angular pipes for data transformation
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Generates Angular pipes for data transformation
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Generates Angular animations for smooth UI transitions and interactions
Generates Angular components with best practices and patterns
Generates an Angular dialog component extending BaseDialogComponent
Generates Angular directives for DOM manipulation and behavior enhancement
Generates Angular error boundary components for graceful error handling
Generates an Angular feature component (Standalone, OnPush)
| name | angular-pipe |
| description | Generates Angular pipes for data transformation |
This skill helps you generate Angular pipes for data transformation, formatting, and filtering following Angular best practices.
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: '{{name}}',
standalone: true,
pure: true
})
export class {{Name}}Pipe implements PipeTransform {
transform(value: any, ...args: any[]): any {
if (!value) return value;
// Transform logic here
return value;
}
}
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: '{{name}}',
standalone: true,
pure: false
})
export class {{Name}}Pipe implements PipeTransform {
transform(value: any, ...args: any[]): any {
if (!value) return value;
// Transform logic here (will run on every change detection)
return value;
}
}
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'filter',
standalone: true,
pure: false,
})
export class FilterPipe implements PipeTransform {
transform(items: any[], searchTerm: string, property?: string): any[] {
if (!items || !searchTerm) return items;
return items.filter((item) => {
const value = property ? item[property] : item;
return value.toLowerCase().includes(searchTerm.toLowerCase());
});
}
}
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'dateFormat',
standalone: true,
})
export class DateFormatPipe implements PipeTransform {
transform(value: Date | string | number, format: string = 'short'): string {
if (!value) return '';
const date = new Date(value);
switch (format) {
case 'short':
return date.toLocaleDateString();
case 'long':
return date.toLocaleDateString('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
});
case 'time':
return date.toLocaleTimeString();
default:
return date.toISOString();
}
}
}
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'truncate',
standalone: true,
})
export class TruncatePipe implements PipeTransform {
transform(value: string, limit: number = 20, suffix: string = '...'): string {
if (!value) return '';
if (value.length <= limit) return value;
return value.substring(0, limit - suffix.length) + suffix;
}
}
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
@Pipe({
name: 'safeHtml',
standalone: true,
})
export class SafeHtmlPipe implements PipeTransform {
constructor(private sanitizer: DomSanitizer) {}
transform(value: string): SafeHtml {
return this.sanitizer.bypassSecurityTrustHtml(value);
}
}
<!-- Basic usage -->
<p>{{ user.name | titlecase }}</p>
<!-- Custom pipes -->
<p>{{ items | filter:searchTerm:'name' }}</p>
<p>{{ date | dateFormat:'long' }}</p>
<p>{{ longText | truncate:50 }}</p>
<div [innerHTML]="htmlContent | safeHtml"></div>
<!-- Chaining pipes -->
<p>{{ user.email | truncate:20 | uppercase }}</p>
import { {{Name}}Pipe } from './{{name}}.pipe';
describe('{{Name}}Pipe', () => {
let pipe: {{Name}}Pipe;
beforeEach(() => {
pipe = new {{Name}}Pipe();
});
it('should create an instance', () => {
expect(pipe).toBeTruthy();
});
it('should transform value correctly', () => {
const result = pipe.transform('test input');
expect(result).toBe('expected output');
});
it('should handle null/undefined values', () => {
expect(pipe.transform(null)).toBeNull();
expect(pipe.transform(undefined)).toBeUndefined();
});
});
standalone: true for modern Angular