-
Code used in the live coding demo at DotNext
- https://github.com/TessenR/NotifyPropertyChangedDemo
- A simple demo with NotifyPropertyChanged generator focused on being as simple as possible. It adds a property changed event to all types implementing INotifyPropertyChanged interface and adds properties raising this event for all fields with names ending with *BackingField suffix. It covers debugging, testing and simple generator code.
- https://github.com/TessenR/BestPracticesSourceGeneratorsDemo
- A demo focused on useful approaches to source generators' problems such as decresing their work time, producing diagnostics and configuration options.
- https://github.com/TessenR/NotifyPropertyChangedDemo
-
Source generators introduction by Microsoft
type StringBool = "true"|"false";
interface AnyNumber { prev?: any, isZero: StringBool };
interface PositiveNumber { prev: any, isZero: "false" };
type IsZero<TNumber extends AnyNumber> = TNumber["isZero"];
type Next<TNumber extends AnyNumber> = { prev: TNumber, isZero: "false" };
type Prev<TNumber extends PositiveNumber> = TNumber["prev"];