169 похожих чатов

Всем привет! У меня есть файл с функциями, как все

эти функции сделать методами объекта?
function hi() {return 'hi'}
const object = {};
object.hi = hi;

21 ответов

23 просмотра

твой способ и так работает. В чем вопрос?

Vlad- Автор вопроса
Максим
твой способ и так работает. В чем вопрос?

У меня 20 таких функций и добавлять их вручную геморно + эти функции будут добавляться и мне нужно автоматизировать это всё

Vlad
У меня 20 таких функций и добавлять их вручную гем...

и как ты себе представляешь автоматизацию? Как объект должен узнать, что ты в него функцию хочешь положить?

Vlad- Автор вопроса
Максим
и как ты себе представляешь автоматизацию? Как объ...

А как в lodash такое сделано? В репозитории идут функции, а мы используем объект с методами

Vlad
У меня 20 таких функций и добавлять их вручную гем...

const sellFn = () => console.log('sell goods') const makeDiscountFn = () => console.log('discount 10%') const arrayOfFns = [sellFn, makeDiscountFn] const methodsStore = {} arrayOfFns.forEach(fn => { methodsStore[fn.name] = fn }) methodsStore.sellFn() //"sell goods" methodsStore.makeDiscountFn() //"discount 10%"

import * as fns from './functions'

🏴‍☠️
const sellFn = () => console.log('sell goods') con...

Это так же не избавит от того, что надо руками в массив заносить

🏴‍☠️
import * as fns from '../fn' const fnsArray = Obj...

Ну для этого их нужно экспортировать все. Хотя как вариант по сути, если надо будет использовать отдельно и собрать в объект...

Максим
Ну для этого их нужно экспортировать все. Хотя как...

да надо. можно еще файл прочитать, получим строку с функциями, а дальше регуляркой const fs = require('fs') const strFns = fs.readFileSync('../fns.js', 'utf-8', (err, data) => { return data })

Vlad- Автор вопроса
🏴‍☠️
const sellFn = () => console.log('sell goods') con...

Хороший способ, но тогда jsdoc не подтягивается. Просто пишу небольшую библиотеку и стараюсь писать документацию, ориентируясь на Lodash, а NodeJS я совсем не знаю

Vlad
Хороший способ, но тогда jsdoc не подтягивается. П...

тогда не надо собирать функции в объект. делаем как лодаш = 1 папка с кучей функций. и в package.json не забудь указать sideEffects: "false", чтобы работал tree-shaking https://github.com/lodash/lodash/blob/master/package.json

Vlad- Автор вопроса
🏴‍☠️
тогда не надо собирать функции в объект. делаем ка...

А как функции использовать то? У меня вот такая вот структура. В lib.js все функции, чтобы генерировать документацию

Vlad- Автор вопроса
🏴‍☠️
import { arraySum } from 'MY-LIB/arraySum'

Спасибо. Будет значит так

🏴‍☠️
да надо. можно еще файл прочитать, получим строку ...

promisify или обернуть в промис и потом юзать

Vlad
Спасибо. Будет значит так

либу залинкуй в другой проект и проверь https://docs.npmjs.com/cli/v7/commands/npm-link

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта