在 Manus 中运行任何 Skill
一键导入
一键导入
一键在 Manus 中运行任何 Skill
开始使用angular-pipe
星标0
分支0
更新时间2025年12月3日 17:43
Generates Angular pipes for data transformation
安装
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
SKILL.md
readonly菜单
Generates Angular pipes for data transformation
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 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