move io into bot

This commit is contained in:
Leifer Mendez
2022-11-13 14:41:25 +01:00
parent 3946c88ed7
commit 03eed5131a
19 changed files with 44 additions and 49 deletions

View File

@@ -7,7 +7,7 @@
"scripts": { "scripts": {
"cli:rollup": "rollup ./packages/cli/index.js --config ./packages/cli/rollup-cli.config.js ", "cli:rollup": "rollup ./packages/cli/index.js --config ./packages/cli/rollup-cli.config.js ",
"io:rollup": "rollup ./packages/io/index.js --config ./packages/io/rollup-cli.config.js", "io:rollup": "rollup ./packages/io/index.js --config ./packages/io/rollup-cli.config.js",
"core:rollup": "rollup ./packages/core/index.js --config ./packages/core/rollup-cli.config.js", "bot:rollup": "rollup ./packages/bot/index.js --config ./packages/bot/rollup-bot.config.js",
"provider:rollup": "rollup ./packages/provider/index.js --config ./packages/provider/rollup-cli.config.js", "provider:rollup": "rollup ./packages/provider/index.js --config ./packages/provider/rollup-cli.config.js",
"database:rollup": "rollup ./packages/database/index.js --config ./packages/database/rollup-cli.config.js", "database:rollup": "rollup ./packages/database/index.js --config ./packages/database/rollup-cli.config.js",
"format:check": "prettier --check ./packages", "format:check": "prettier --check ./packages",

View File

@@ -6,7 +6,7 @@ const { printer } = require('../utils/interactive')
* [ ] Buscar mensaje en flow * [ ] Buscar mensaje en flow
* *
*/ */
class BotClass { class CoreClass {
flowClass flowClass
databaseClass databaseClass
providerClass providerClass
@@ -75,4 +75,4 @@ class BotClass {
} }
} }
} }
module.exports = BotClass module.exports = CoreClass

View File

@@ -1,12 +1,30 @@
const BotClass = require('./classes/bot.class') const CoreClass = require('./core/core.class')
const ProviderClass = require('./classes/provider.class') const ProviderClass = require('./provider/provider.class')
const FlowClass = require('./io/flow.class')
const { addKeyword, addAnswer } = require('./io/methods')
/** /**
* Crear instancia de clase * Crear instancia de clase
* @param {*} args * @param {*} args
* @returns * @returns
*/ */
const create = async ({ flow, database, provider }) => const createBot = async ({ flow, database, provider }) =>
new BotClass(flow, database, provider) new CoreClass(flow, database, provider)
module.exports = { create, ProviderClass } /**
* Crear instancia de clase
* @param {*} args
* @returns
*/
const createFlow = (args) => {
return new FlowClass(args)
}
module.exports = {
createBot,
createFlow,
addKeyword,
addAnswer,
ProviderClass,
CoreClass,
}

View File

@@ -1,4 +1,4 @@
const { generateRef } = require('../utils') const { generateRef } = require('../../utils/hash')
const { toJson } = require('./toJson') const { toJson } = require('./toJson')
/** /**
* *

View File

@@ -1,4 +1,4 @@
const { generateRef } = require('../utils') const { generateRef } = require('../../utils/hash')
const { addAnswer } = require('./addAnswer') const { addAnswer } = require('./addAnswer')
const { toJson } = require('./toJson') const { toJson } = require('./toJson')
/** /**

View File

@@ -2,11 +2,10 @@
"name": "@bot-whatsapp/bot", "name": "@bot-whatsapp/bot",
"version": "0.0.1", "version": "0.0.1",
"description": "", "description": "",
"main": "index.js", "main": "./lib/bundle.bot.cjs",
"private": true, "private": true,
"scripts": { "scripts": {
"core:dev": "node ./index.js", "bot:rollup": "node ../../node_modules/.bin/rollup index.js --config ./rollup-cli.config.js",
"core:rollup": "node ../../node_modules/.bin/rollup index.js --config ./rollup-cli.config.js",
"format:check": "prettier --check .", "format:check": "prettier --check .",
"format:write": "prettier --write .", "format:write": "prettier --write .",
"lint:check": "eslint .", "lint:check": "eslint .",
@@ -14,6 +13,12 @@
"test.unit": "cross-env NODE_ENV=test node ../../node_modules/uvu/bin.js tests" "test.unit": "cross-env NODE_ENV=test node ../../node_modules/uvu/bin.js tests"
}, },
"keywords": [], "keywords": [],
"files": [
"./lib/bundle.bot.cjs",
"./provider/*",
"./core/*",
"./io/*"
],
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"devDependencies": { "devDependencies": {

View File

@@ -2,7 +2,7 @@ const commonjs = require('@rollup/plugin-commonjs')
const { nodeResolve } = require('@rollup/plugin-node-resolve') const { nodeResolve } = require('@rollup/plugin-node-resolve')
const { join } = require('path') const { join } = require('path')
const PATH = join(__dirname, 'lib', 'bot', 'bundle.bot.cjs') const PATH = join(__dirname, 'lib', 'bundle.bot.cjs')
module.exports = { module.exports = {
input: 'index.js', input: 'index.js',

View File

@@ -1,8 +1,7 @@
const { test } = require('uvu') const { test } = require('uvu')
const assert = require('uvu/assert') const assert = require('uvu/assert')
const MockProvider = require('../../../__mocks__/mock.provider') const MockProvider = require('../../../__mocks__/mock.provider')
const { create } = require('@bot-whatsapp/bot') const { createBot, CoreClass } = require('@bot-whatsapp/bot')
const BotClass = require('@bot-whatsapp/bot/classes/bot.class')
class MockFlow { class MockFlow {
find = () => {} find = () => {}
@@ -12,17 +11,17 @@ class MockDB {
save = () => {} save = () => {}
} }
test(`[BotClass] Probando instanciamiento de clase`, async () => { test(`[CoreClass] Probando instanciamiento de clase`, async () => {
const setting = { const setting = {
flow: new MockFlow(), flow: new MockFlow(),
database: new MockDB(), database: new MockDB(),
provider: new MockProvider(), provider: new MockProvider(),
} }
const bot = await create(setting) const bot = await createBot(setting)
assert.is(bot instanceof BotClass, true) assert.is(bot instanceof CoreClass, true)
}) })
test(`[BotClass] Eventos 'require_action,ready,auth_failure,message '`, async () => { test(`[Bot] Eventos 'require_action,ready,auth_failure,message '`, async () => {
let responseEvents = {} let responseEvents = {}
const MOCK_EVENTS = { const MOCK_EVENTS = {
@@ -47,7 +46,7 @@ test(`[BotClass] Eventos 'require_action,ready,auth_failure,message '`, async ()
database: new MockDB(), database: new MockDB(),
provider: mockProvider, provider: mockProvider,
} }
await create(setting) await createBot(setting)
/// Escuchamos eventos /// Escuchamos eventos
mockProvider.on( mockProvider.on(

View File

@@ -1,6 +1,6 @@
const { test } = require('uvu') const { test } = require('uvu')
const assert = require('uvu/assert') const assert = require('uvu/assert')
const { addKeyword, addAnswer } = require('../methods') const { addKeyword, addAnswer } = require('@bot-whatsapp/bot')
test('Debere probar las propeidades', () => { test('Debere probar las propeidades', () => {
const ARRANGE = { const ARRANGE = {

View File

@@ -1,13 +0,0 @@
const { addKeyword, addAnswer } = require('./methods')
const FlowClass = require('./classes/flow.class')
/**
* Crear instancia de clase
* @param {*} args
* @returns
*/
const create = (args) => {
return new FlowClass(args)
}
module.exports = { addKeyword, addAnswer, create }

View File

@@ -1,11 +0,0 @@
{
"name": "@bot-whatsapp/io",
"version": "0.0.1",
"description": "",
"main": "index.js",
"private": true,
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {}
}

View File

@@ -1,3 +0,0 @@
const { generateRef } = require('./hash')
module.exports = { generateRef }