1. Список говнокодов пользователя ASD_77

    Всего: 129

  2. JavaScript / Говнокод #27918

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    interface I<T> {
        foo(x: number): T;
    }
    
    interface A extends I<number>/*, I<string>*/ { }
    
    class AI
    {
    	foo(x: number) { return x; }
    }
    
    function main()
    {
    	let x: A = new AI();
    	const r = x.foo(1); // no error
    	//const r2 = x.foo(''); // error
    
    	print("done.");
    }

    ура... первая имплементация generic интерфейса... ну с почином на генериках

    ASD_77, 04 Января 2022

    Комментарии (10)
  3. JavaScript / Говнокод #27913

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    function move1(direction: "up" | "down") {
        switch (direction) {
            case "up":
                return 1;
            case "down":
                return -1; 
        }
    
        return 0;
    }
    
    function main() {
    
        print(move1("up"));
        print(move1("down"));
    
        print("done.");
    }

    а ты умеешь так говнокодить на C/C++?

    ASD_77, 02 Января 2022

    Комментарии (19)
  4. JavaScript / Говнокод #27911

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    type CreateMutable<Type> = {
      -readonly [Property in keyof Type]: Type[Property];
    };
     
    type LockedAccount = {
      readonly id: string;
      readonly name: string;
    };
    
    type UnlockedAccount = CreateMutable<LockedAccount>;
    
    function main() {
        let a: LockedAccount;
        let b: UnlockedAccount;
    
        print("done.");
    }

    Я вам наговнокодил новую фичу.. называется "mapped type"

    ASD_77, 01 Января 2022

    Комментарии (41)
  5. JavaScript / Говнокод #27909

    0

    1. 1
    2. 2
    3. 3
    var x1: number;
    x1 = value;
    (x1) = value;

    чем одна строка отличается от другой?

    ASD_77, 01 Января 2022

    Комментарии (58)
  6. JavaScript / Говнокод #27905

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    export type Maybe<T> = null | undefined | T;
    
    export interface Path {
        readonly prev: Path | undefined;
        readonly key: string | number;
        readonly typename: string | undefined;
    }
    
    /**
     * Given a Path and a key, return a new Path containing the new key.
     */
    export function addPath(
        prev: Readonly<Path> | undefined,
        key: string | number,
        typename: string | undefined,
    ): Path {
        return { prev, key, typename };
    }
    
    /**
     * Given a Path, return an Array of the path keys.
     */
    export function pathToArray(
        path: Maybe<Readonly<Path>>,
    ): Array<string | number> {
        let curr = path;
        let flattened = [];
        while (curr) {
            flattened.push(curr.key);
            curr = curr.prev;
        }
        //flattened.reverse();
        return flattened;
    }
    
    function main() {
        let pathArray = pathToArray({
            key: "path",
            prev: undefined,
            typename: undefined,
        });
        for (let x of pathArray) {
            print(x);
        }
    }

    последний коммит позволяет скомпилить и выполнить данный код. это невиданный прогресс в компиляторе :)

    и уже традиционный вопрос ... а ты там можешь наговнокодить на С/C++?

    ASD_77, 31 Декабря 2021

    Комментарии (26)
  7. JavaScript / Говнокод #27901

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    interface Animal {
      live(): void;
    }
    interface Dog extends Animal {
      woof(): void;
    }
     
    type Example1 = Dog extends Animal ? number : string;
     
    type Example2 = RegExp extends Animal ? number : string;
    
    function main() {
    
        let a: Example1;
        a = 10.0;
    
        print(a);
      
        let b: Example2;
        b = "asd";
    
        print(b);
    
        print("done.");
    }

    "Условные типа" подвезли.... ура ... теперь можно всякую х. наговнокодить..

    ASD_77, 28 Декабря 2021

    Комментарии (22)
  8. JavaScript / Говнокод #27899

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    type Tree<T> = T;
    
    function main() {
    
        let a: Tree<TypeOf<1>>;
    
        a = 10;
    
        print(a);
    
        print("done.");
    }

    новый виток развития TypeScript компайлера.

    ASD_77, 28 Декабря 2021

    Комментарии (6)
  9. JavaScript / Говнокод #27896

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function main()
    {
        	let o = { x: 'hi', y: 17 }
    	const o2 = { ...o };
    
    	print(o2.x, o2.y);
    }

    а ты так можешь говнокодить на С/C++? дамп не дам.. (толку?)

    ASD_77, 26 Декабря 2021

    Комментарии (84)
  10. JavaScript / Говнокод #27888

    −8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    interface ReturnVal {
        something(): void;
    }
    
    function run(options: { something?(): void }, val: ReturnVal) {
    
        const something = options.something ?? val.something;
        something();
        
    }
    
    function main()
    {
    	run ( { something() { print("something"); } }, null );
    }

    новая кул-фича... аналог ?. но для двух разных данных. если первое не null тогда бери его иначе второе.

    ASD_77, 22 Декабря 2021

    Комментарии (56)
  11. JavaScript / Говнокод #27886

    −7

    1. 1
    2. 2
    3. 3
    let x = 0.1;
    let y = 0.2;
    let z = x + y

    чему равно?

    ASD_77, 21 Декабря 2021

    Комментарии (68)