1. JavaScript / Говнокод #27906

    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
    'use strict'
     
    const {TheCtrl} = require('the-controller-base')
    const {withAuthorized} = require('the-controller-mixins')
     
    async function tryExample () {
      class MyCtrl extends withAuthorized(TheCtrl) {
        /* ... */
      }
    }
     
    tryExample().catch((err) => console.error(err))

    Mixins for the-controller

    Installation
    $ npm install the-controller-mixins --save

    Очень полезный и нужный пакет. Пользуйтесь.
    https://www.npmjs.com/package/the-controller-mixins/v/2.1.0

    3_dar, 31 Декабря 2021

    Комментарии (25)
  2. 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)
  3. 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)
  4. 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)
  5. JavaScript / Говнокод #27897

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    for (let i = 0; i < inputs.length; i++) {
        inputs[i].addEventListener('input', function() {
            for (let i = 0; i < inputs.length; i++) {
                console.log(inputs[i].value);
            }
        });
    }

    отобразить в консоли значения инпутов (штмл)...

    lainde, 26 Декабря 2021

    Комментарии (8)
  6. 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)
  7. 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)
  8. 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)
  9. JavaScript / Говнокод #27885

    −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
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    class C
    {
    	val: number;
    
    	constructor()
    	{
    		this.val = 2;
    	}
    }
    
    function o(val? : C)
    {
    	print(val?.val);
    }
    
    function main()
    {
    	o(new C());
    	o(null);
    	o();
    }

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

    Результат работы:

    C:\temp>C:\dev\TypeScriptCompiler\__build\tsc\bin\tsc.exe --emit=jit --opt --shared-libs=C:\dev\TypeScriptCompiler\__build\tsc\bin\TypeScriptRuntime.dll C:\temp\1.ts
    2
    0
    0

    ASD_77, 20 Декабря 2021

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

    −7

    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
    // @strict: true
    interface IFace {
        cond0: boolean;
        cond1?: boolean;
    }
    
    function main() {
    
        const a : IFace = { cond0: true };
    
        print (a.cond0);
        print (a.cond1 == undefined);
        print (a.cond1);
    
    	// a.cond1?.value
    
        print("done.");
    }

    я вам принес новую фичу. называется опциональные поля в interface-ах. а твой с++ умеет так?

    ASD_77, 19 Декабря 2021

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