ЙажаСценарий / Говнокод #26620 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
'use strict';

const isOdd = require("is-odd");

module.exports = function isIsOdd(func) {
	return func == isOdd;
}

https://www.npmjs.com/package/is-is-odd

Why

Some functions are not is-odd but they might make you think they're is-odd, this package helps you identify these functions with a simple interface.

Нить бессмысленных npm-модулей.

Запостил: 3.14159265 3.14159265, (Updated )

Комментарии (143) RSS

    • Там вырисовывается инфраструктура.

      Used By: is-ten

      https://github.com/animate-object/is-ten
      const isOdd = require('is-odd')
      const isIsOdd = require('is-is-odd')
      global.jQuery = require('jquery');
      require('jquery-basic-arithmetic-plugin')
      
      module.exports = function(val) {
        if (isIsOdd(isOdd)) {
          try {
            if (isOdd(val)) {
              return false
            }
          } catch (e) {
            return false;
          }
          return _isTen(val);
        } else {
            throw new Error("isOdd was not isOdd");
        }
      }
      
      const _isTen = (val) => {
        return jQuery.equals(val, 10);
      }
      Ответить
  • Если уж такую толстоту не прибили.

    I found myself with a number in my variable, wanting to add it to another number. Searching the web, I came across a screenshot https://www.doxdesk.com/img/updates/20091116-so-large.gif of a stackoverflow thread pointing to the obvious answer: I needed a jQuery plugin.

    Unfortunately, it seems like nobody wrote a decent plugin for such a common occurrence yet, so I decided to take the matters into my own hands: here's jQuery.basic_arithmetics.

    https://www.npmjs.com/package/jquery-basic-arithmetic-plugin
    Ответить
      • 'use strict';
        
        const isIsOdd = require("is-is-odd");
        
        module.exports = function isIsIsOdd(func) {
        	return func == isIsOdd;
        }
        Ответить
    • Я закрыл ему путь.
      'use strict';
      'use force';
      
      const isOdd = require("is-odd");
      
      const pitux = new Proxy({},
      {
        get: function(obj, prop) {
          if(prop in obj) return obj[prop];
          if(!/^is(Is)*Odd$/.test(prop)) return void 0;
          
          if (prop == 'isOdd') return obj[prop] = isOdd;
          
          var prop1 = prop.replace(/^isIs/, 'is');
          return obj[prop] = function (f) {
            return f == pitux[prop1]; // PEKYPCuBHblu_nemyx не пройдёт
          };
        },
      });
      
      module.exports = pitux;

      Благодаря отложенному [] этот код не будет рекукарекать.
      Ответить
  • Питушня по стопам госта:
    'use strict';
    'use force';
    
    const converter = require('number-to-words');
    const camelCase = require('camelcase');
    
    function toIdentifier (n) {
      return camelCase('is ' + converter.toWords.replace(/[^a-z ]+/gi, ''));
    }
    
    const pitux = {};
    
    for (var i=-100000000; i<=100000000; i++) {
      pitux[toIdentifier(i)] = function (x) {
        return x == i;
      };
    }
    
    module.exports = pitux;
    
    // pitux.isOne(1)


    Если достать парсер, можно сделать на проксях
    'use strict';
    'use force';
    
    const pitux = new Proxy({},
    {
      get: function(obj, prop) {
        if (!/^is/.test(prop)) return void 0;
        
        const val = prop.replace(/^is/, '');
        return function (x) {
          return x == val;
        };
      },
    });
    
    module.exports = pitux;
    
    // pitux.is10(10)
    // pitux.is10(10.0)
    // pitux.isTen('Ten')
    Ответить
  • 'use strict';
    'use force';
    
    module.exports = function halts(code) {
      try {
        if (typeof code === 'function') code();
        else eval(code);
      } catch (e) {}
      
      return true;
    };
    Ответить
    • Думаю нужно заливать говнецо постепенно.
      Для начала добавить пару мудулей, убедиться что о боже мой, да всем насрать.
      Первая ошибка спаммеров на ГК всегда заключалась в том, что они начинали срать очень много и с одного акка.
      Ответить
      • Думаю начать с десятка-сотни мудулей. На пару-то точно всем полностью насрать, таких говнооднострочников там тысячи валяются.
        Ответить
      • Бгг.

        https://www.linux.com/news/state-union-npm/

        The figures regarding downloads are not the only ones that have seen exponential growth. The number of packages is also growing at an accelerated rate. At the beginning of 2015, the registry contained about 12,500 packages. But at the time of Williams’ talk, the number was already up to nearly 400,000.

        Надо было года на четыре раньше начинать! Сегодня уже рискуете остаться незамеченными.
        Ответить
        • нужно собирать цепочкой их
          is-two пусть зависит от is-one
          is-three от is-two
          итд
          Ответить
        • Надо прихуярить модуль, который даёт возможность вывести символ 'a'. Потом 'b'. И т.п.

          А потом модуль, который выводит 'Great pithu' и зависит от девяти буквенных модулей.
          Ответить
    • Кстати, может сделать эту питушню рекурсивной?
      const ${prev_function_name}
      function ${function_name}(x) {
          return typeof x === 'number' && ${prev_function_name}(x - 1);
      }

      Заодно можно проверить на прочность систему зависимостей.

      Ну или можно, если эта питушня приживётся, сделать другую серию модулей с рекурсией (<x, например).

      P.S. А, восьмишок уже предложил это.
      Ответить
      • > typeof x
        Фу, какой ты старомодный.

        Тем временем, обновил шаблоны, добавил зависимостей (в папочке node_modules теперь 103 директории!):
        'use strict';
        module.exports = is2;
        
        const isNumber = require('is-number');
        const isString = require('is-string');
        const isUndefined = require('is-undefined');
        const isNull = require('is-null');
        global.jQuery = require('jquery');
        require('jquery-basic-arithmetic-plugin');
        
        function is2(x) {
            // Check if given object is undefined
            if (isUndefined(x)) {
                return false;
            }
            
            // Check if given object is null
            if (isNull(x)) {
                return false;
            }
            
            // Check if given object is string
            if (isString(x)) {
                return false;
            }
            
            // Check if given object is number
            if (!isNumber(x)) {
                return false;
            }
            
            return jQuery.equals(x, 2);
        }
        Ответить
      • >если эта питушня приживётся

        Её нужно пропихнуть в какой-то жопулярный модуль.
        Вместе с каким-то полезным патчем.
        Чтобы тянулось кросс-зависимостью. Только так это дерьмо может прижиться.

        Или даже хитрее. Написать какой-то небольшой, действительно полезный модуль.
        А в очередном «обновлении» добавить зависимость на эту срань.
        Ответить
    • Предлагаю погрепать по гитхабу проекты, которые сравнивают с двойкой. И закинуть им пулл-реквест.
      Ответить
    • 1.Сделать большую цепочку зависимостей.
      2. Написать полезный модуль зависимый от них.
      3. Наконтрибьютить его за щеку в более-менее вжопулярный мудуль.
      4. Покупаем попобольше бананов и наблюдаем.
      Ответить
      • сделать модуль foo
        положить туда файл pagefile.sys на 4гига
        задепендить на него is-eight
        Ответить
        • pagefile.sys туда надо последним шагом заливать, когда модуль станет популярным. Узнаем сколько разрабов любит острые ощущения и не лочит версии.
          Ответить
          • к сожалению, лочат теперь из коробки. но это не мешает им иногда делать update
            Ответить
          • > сколько разрабов любит острые ощущения и не лочит версии
            Ну тут шо то питушня, шо это питушня, копировал я его пакеты в репозиторий.
            На каком-то этапе проект становится хрупкой питушнёй, которая зависит от определённой старой версии, и обновиться ради багфиксов нельзя, т.к. пакет ушёл далеко вперёд.
            Ответить
            • все же нелочинье это куда большя питушная
              это же анрепродюсибл билд получается
              Ответить
            • С локом тебе просто лень обновляться на убежавшую версию, но в общем-то всё работает.
              Без лока ты с горящей жопой фиксишь баги в рандомное время, отвлекаясь от нормальных задач.
              Ответить
              • Без лока у тебя всё работает, а у тестеров, CI и в проде -- нет
                Ответить
                • Да и у тебя не всё работает если коллеги на новую либу переключились и фичи заюзали. Короче треш, угар и содомия. Нахуй так жить?
                  Ответить
                  • Интересно, что сначала локи завезли в Руби (Gemfile.lock)
                    Затем пейсбук попытался добавить их в JS (yarn), оттудава их скопипиздил npm, и теперь там тоже локи.

                    В питоне локи попытлись завезти в pipfile, но он не взлетел. В pip же локи есть только ручные, посредством pip freeze. Что там в poetry я хз.

                    Почему питухон на десять лет отстает от руби по бестпрактис?
                    Ответить
                    • Кстати, а в пёрле есть локи? Они же вроде первые пакетный менеджер завезли.
                      Ответить
                      • Если я верно помню, то в моем детстве не было там даже депенденсов. Ставить их надо было руками, когда установка падала с руганью на отсутствие.

                        Были еще бандлы которые вместе ставили много всяково говна.


                        Потом завезли вот
                        https://metacpan.org/pod/cpanfile ,причем по мативам руби

                        А теперь уже и локи
                        https://metacpan.org/pod/Carton

                        Такшта кажется, что руби был первый
                        Ответить
        • Лучше генерить такой файл криптушнёй при установке. А затем там искать питушню, у которой есть признаки. Например, 9 - это x: x>0, x^3 + 30x + 1 == 1000.
          Ответить
          • или вот мы знаем, что 29 это нное по счету простое число.
            Соответственно, мы делаем модуль, который эмитит простые числа, и вызываем его, и если вдруг его нное по счету число совпадет -- значит это оно и есть.

            Простые числа можно хардкодить, но лучше просто идти по всем целым, и для каждого искать на что оно делится
            Ответить
          • > 9 - это x: x>0, x^3 + 30x + 1 == 1000.

            обычно после 3 раз толку нет сжимать.
            блок каторый состоит из трех итд
            3x3x3=27
            4^4=256
            162 163-190 190-217 191-218...219-246 247+1 3 1.6-3times
            135 136-163 164-191 192-219 220-246 +1 247 4 3-8times
            Ответить
      • Конечно!
        "use strict";
        
        require("mocha");
        const assert = require("assert");
        const is0 = require("./");
        
        describe("is0", function() {
            it("should return true if the number is 0", function() {
                assert(is0(0));
            });
          
            it("should return false if the number is not 0", function() {
                assert(!is0(0 + 1));
            });
            
            it("should return false if the number is not a number at all", function() {
                assert(!is0(null));
                assert(!is0(undefined));
                assert(!is0("0"));
                assert(!is0({prop: "0"}));
            });
        });
        Ответить
  • Это такой обряд посвещения.

    Не опубликовал бессмылсленный мудуль — не жаваскриптер.
    Ответить
    • все хотят стать популярными, как лефтпад
      Ответить
      • В Новосибирске 3 gender neutral туалета, один - со 100% положительных отзывов
        В Москве 5 gender neutral туалетов, один - туалет "юлька" - с 0% положительных отзывов

        Новосибирск - 1.5 миллиона человек на 2012
        Москва - 11.9 миллионов человек на 2012

        В Новосибирске 2 толерантных туалета на миллион человек, в Москве - 0.42.
        Новосибирск - более толерантен.
        Ответить
        • у меня дома тоже дежндер нейчурал тойлет
          правда, он анрейтд, слава богу
          Ответить
    • Кстати, есть такая же питушня, но просто про туалеты? Если человек не инвалид-колясочник, то ему как бы пофиг, нейтральный туалет, или кого-то поддерживает, когда очень хочется. Будь я трансом, сходил бы в бесплатный туалет для бинаромразей, если бы трансовый туалет был далеко или платный.
      Ответить
    • https://github.com/RefugeRestrooms/refugerestrooms-android/blob/master/app/src/main/java/org/refugerestrooms/database/SaveBathroomPropertyHandler.java


      SaveBathroomPropertyHandler
      https://github.com/RefugeRestrooms/refugerestrooms-android/blob/master/app/src/main/java/org/refugerestrooms/database/model/BathroomEntityDao.java

      блядь, какой же противный код
      словно гомосеки писали

      String street = entity.getStreet();
              if (street != null) {
                  stmt.bindString(3, street);
              }
       
              String city = entity.getCity();
              if (city != null) {
                  stmt.bindString(4, city);
              }
       
              String state = entity.getState();
              if (state != null) {
                  stmt.bindString(5, state);
              }
       
              String country = entity.getCountry();
              if (country != null) {
                  stmt.bindString(6, country);
              }
      Ответить
    • Вообще, еврогейцы - поехавшие и озабоченные.

      Заходит гетеросексуальный мужик в белорусский мужской туалет - и ничего.
      Заходит гетеросексуальный мужик в европейский мужской туалет - и там его просят пройти в джендер ньютрал туалет.
      https://youtu.be/jTIpLBKoKZ4?t=485
      Какой багор )))

      И ведь от еврогейцев мы слышим всякую питушню про то, что сам человек решает, к какой группе людей он себя относит.

      Думаю, лет через 10-20 экс-СССР будет прибежищем для ЛГБТ-сообщества. В европах будут постоянно подниматься вопросы толерантности, которые всех задолбают. Не знаю, как там живут ЛГБТ-интроверты.
      В экс-СССР со сменой поколений меньшинства станут нормой, а в вопросах толерантности будет торжествовать атмосфера пофигизма. Живи себе спокойно, пока платишь налоги и никого не убиваешь.
      Ответить
      • Кстати у нас в мелких кафешках вообще проблемы нет. Одноместный gender-neutral туалет, к которому в очереди стоят все подряд.
        Ответить
        • Сельский сортир без надписей, как вершина гендерного равенства.
          Ответить
          • На нём даже не написано, что это туалет, чтобы не оскорблять ничьих чувств.
            Ответить
          • классовый уравнитель, о котором мечтал коммунизм
            Ответить
  • Предлагаю создать модули для определения цветов по триаде R, G, B (или по шестнадцатеричному представлению):
    https://ru.wikipedia.org/wiki/Цвета_HTML

    is-red, is-orange, is-yellow, ... is-light-coral, is-lemon-chiffon, is-dark-slate-blue, is-olive-drab, is-pale-turquoise, is-navajo-white, is-gainsboro...
    Ответить
      • Фельдграу, берлинская лазурь, персидская синь, фалунская красная, шокирующий розовый, призрачный голубой...
        Ответить
    • еще можно сделать модули проверки, можно ли этим цветом нарисовать что-то. is-nemyx-drawable
      Ответить
    • прыщетуса любит странные названия
      вспомни названия контейнеров докера, дистрибутивов линукса, и даже самих ядер
      вот у меня сейчас перед глазами ядро "People's front"
      Ответить
      • а еще у меня Blurry Fish Butt

        Жопа нечеткой рыбы
        или
        Рыбы жопа нечеткая
        Вообще хорошее название для линукс
        Ответить
    • блядь, я-то думал он все три на лету подбирает
      Ответить
    • пошлюк-ка PR

      Nu pistets mudak
      Naui poshla malafja
      Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8