con un clic
angular-pipe
Generates Angular pipes for data transformation
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Generates Angular pipes for data transformation
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional 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