Skip to content

Instantly share code, notes, and snippets.

View Armenvardanyan95's full-sized avatar

Armen Vardanyan Armenvardanyan95

View GitHub Profile
function todoStore() {
const allTodos = signal<ToDo[]>(
JSON.parse(localStorage.getItem("todos") ?? "[]")
);
const query = signal("");
const newTodoName = signal("");
const showCompletedTodos = signal(false);
const todos = computed(() => {
return allTodos().filter((todo) => {
return (
@Component({
selector: 'my-component',
templateUrl: './my.component.html',
})
export class MyComponent implements OnInit {
ngOnInit() {
fromEvent(document.body, 'click')
.pipe(take(10))
.subscribe(console.log);
}
of(1, 2, 3, 4).pipe(take(3)).subscribe(console.log);
fromEvent(document.querySelector('input'), 'input').pipe(
debounceTime(300),
map(event => (event.target as HTMLInputElement).value),
switchMap(query => getData(query).pipe(
switchAll(),
map(({firstName, lastName}) => firstName + ' ' + lastName),
toArray(),
)),
).subscribe(console.log);
fromEvent(document.querySelector('input'), 'input').pipe(
debounceTime(300),
map(event => (event.target as HTMLInputElement).value),
switchMap(query => getData(query)),
switchAll(),
map(({firstName, lastName}) => firstName + ' ' + lastName),
toArray(),
).subscribe(console.log);
fromEvent(document.querySelector('input'), 'input').pipe(
debounceTime(300),
map(event => (event.target as HTMLInputElement).value),
switchMap(query => getData(query)),
).subscribe(console.log);
of(1, 2, 3).pipe(toArray()).subscribe(console.log);
withLatestFrom(this.control.valueChanges.pipe(startWith(null)));
@Component({
selector: 'my-component',
template: '<div><input [formControl]="control"/></div>',
})
export class MyComponent implements OnInit {
control = new FormControl('');
ngOnInit() {
fromEvent(document.body, 'click').pipe(
withLatestFrom(this.control.valueChanges),
class ActionNames {
private static names = new Set<string>();
static create(name: string): string {
if (ActionNames.names.has(name)) {
throw new Error('An Action with this type already exists!');
}
ActionNames.names.add(name);
return name;
}