This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { execSync } from 'child_process'; | |
import { output } from '@nx/devkit'; | |
import yargs from 'yargs'; | |
import { hideBin } from 'yargs/helpers'; | |
import { | |
ensureHeadAndBaseAreSet, | |
findClosestProjectByFilePath, | |
getFilesUsingBaseAndHead, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"parser": "@typescript-eslint/parser", | |
"parserOptions": { | |
"project": ["tsconfig.*?.json"], | |
"warnOnUnsupportedTypeScriptVersion": false | |
}, | |
"plugins": ["rxjs", "rxjs-angular"], | |
"overrides": [ | |
{ | |
"files": ["*.ts", "*.tsx"], |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const control = new FormControl('Hello, world!'); | |
control.reset(); | |
console.log(control.value); // null |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { runValueAccessorTests } from 'ngx-cva-test-suite'; | |
import { CounterControlComponent } from './counter.component'; | |
runValueAccessorTests({ | |
/** Component, that is being tested */ | |
component: CounterControlComponent, | |
/** | |
* All the metadata required for this test to run. | |
* Under the hood calls TestBed.configureTestingModule with provided config. | |
*/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ... code of CounterComponent | |
writeValue(value: number) { | |
// it's convenient to reuse existing "setValue" method, right? | |
// however, this will lead to the incorrect behavior | |
this.setValue(value, false); | |
this._cdr.markForCheck(); | |
} | |
protected setValue(value: number, emitEvent: boolean) { | |
this.value = value; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
interface ControlValueAccessor { | |
writeValue(obj: any): void | |
registerOnChange(fn: any): void | |
registerOnTouched(fn: any): void | |
setDisabledState(isDisabled: boolean)?: void | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ... code of CounterComponent | |
writeValue(value: number) { | |
// it's convenient to reuse existing "setValue" method, right? | |
// however, this will lead to the incorrect behavior | |
this.setValue(value); | |
this._cdr.markForCheck(); | |
} | |
protected setValue(value: number) { | |
const parsed = parseInt(value as any); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export class AppComponent { | |
readonly animal = new FormControl(‘rabbit’); | |
constructor() { | |
ctrl.valueChanges.subscribe(console.log); | |
animal.setValue(‘hare’); | |
animal.setValue(‘cat’); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, forwardRef } from '@angular/core'; | |
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'; | |
const COUNTER_CONTROL_ACCESSOR = { | |
provide: NG_VALUE_ACCESSOR, | |
useExisting: forwardRef(() => CounterControlComponent), | |
multi: true, | |
}; | |
@Component({ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Hypertext Transfer Protocol (HTTP) response status codes. | |
* @see {@link https://en.wikipedia.org/wiki/List_of_HTTP_status_codes} | |
*/ | |
export enum HttpStatusCodesEnum { | |
/** No internet connection */ | |
NO_INTERNET_CONNECTION = 0, | |
/** | |
* The server has received the request headers and the client should proceed to send the request body |
NewerOlder