3.0.27 • Published 2 years ago

liburno_bklib v3.0.27

Weekly downloads
5
License
ISC
Repository
github
Last release
2 years ago

liburno_bklib

Questa libreria è stata scritta allo scopo di velocizzare l'impostazione di un nuovo progetto VueJS, con servizi Liburno (c).

È richiesto il modulo replicator per creare un nuovo front-end. Se si vuole creare solo un progetto backend o CLI è sufficente l'integrazione della libreria.

L'installazione:

npm i liburno_bklib

la libreria include l'installazione di alcuni moduli:

  • express
  • better-sqlite (con fts5)
  • express + body-parser
  • sharp
  • request
  • nodemailer

all'interno della libreria ci sono diversi moduli e funzioni.

database

const {database} = require("liburno_bklib")
var db=database.db('nome.db')
...
db.chiudi()  // chiude anche le eventuali transazioni aperte

Questo è un wrapper di della classe database di better-sqllite. Ha le seguenti funzioni:

  • db=database.db(nomefile): apre e torna un oggetto database
  • res=database.cleansql(sql): pulisce uno statement sql di spazi e commenti. sono accettati anche // come inizio di commento.
  • res=database.splitsql(sql): divide i comandi sq in un vettore 'pulito' in cui a ogni riga corrispone un solo comando

  • database.closeall(): chiude tutte le istanze aperte di database.

Sono state aggiunte diverse funzioni all'oggetto db

  • db.run(sql,pars): anzichè utilizzare db.prepare(sql).run(pars) si può utilizzare questo metodo che permette di inserire diversi comandi sql, separati con ;. Da utilizzarsi in particolare per la creazione del database.
  • db.begin(), db.commit(): inizia e termina una transazione. viene tenuto uno stack delle transazioni.

  • db.chiudi(): da utilizzare al posto di db.close: tiene traccia delle transazioni e mappa il database come chiuso.

  • db.esisteTabella(tb),db.esisteCampo(tb,campo), ispeziona la struttura per determinare se una tabella o un campo sono presenti.

  • db.schema(table,alsodelete): ritorna i comandi sql per la creazione dell'intero database (table=null), ed eventualmente i comandi per la cancellazione con alsodelete=true

  • db.tabledef (tb): comando semplificato per la creazione di una tabella. ritorna l'sql specifico, in particolare per tutti i comandi di creazione FTs5 quando previsto

  • db.export(table,mode): esporta una tabella in una struttura per JSON

  • db.import(table,data): importa e sovrascrive la tabella esportata. Inoltre controlla di inserire solo i campi che corrispondono all'esportazione lasciando invariati gli altri.

  • altri: vi sono altre funzioni interessanti per la generazione automatica di comandi SQL su una tabella: db.tabelle(),db.campi(tabella,modo),db.strinsert(table),db.strdelete(table),db.strvirtual(table,search) per la costruzione di una ricerca FTS5, db.strselect(table,orderder=false)

init

const {init}=require('liburno_bklib');
const const { Reset, Bold, Reverse, Red, Green, Yellow, Blue, Magenta, Cyan, White } = init(); // ritorna una serie di varibili per colorare la console.
console.log(Red,'rosso',Yellow,Bold,'yellow',Reset,'back');

Init ha la funzione di richiamare una serie di prototipi sulle classi String, Number e Date che ne estendono la funzionalità.

L'intellisense di code, permette di visualizzarle e usarle.

B

Contiene una serie di funzioni globali di servizio, accedibili anche direttamente.

const {B}=require('liburno_bklib');
// esempio B.creaCartella('alfa/beta/gamma/) 
// oppure
const {random,clamp,shuffle,creaCartella}=require('liburno_bklib')

funzioni di integrazione ai servizi:

Queste funzionalità si usano insieme con il server express per estenderne le funzionalità e creare servizi web in formato liburno

I servizi liburno offrono:

  • supporto post in formato JSON normalizzato (oggetto Response) con controllo di errore
  • controllo di accesso tramite db e servizio di autorizzazione.
  • servizio di upload file
  • servizio per la rappresentazione grafica di formule matematiche, utilizzato come estensione di markdown client
  • servizio birds di test dei servizi
  • servizio di server statico, con redirect automatico per Vuejs

Per utilizzare queste tecniche occorre disporre di una licenza del replicator di liburno, che costruise uno scheletro parametrico di frontend, utilizzando VUEJS, tailwindcss e markdown, integrando i servizi forniti dal server stesso.

3.0.24

2 years ago

3.0.27

2 years ago

3.0.25

2 years ago

3.0.26

2 years ago

3.0.23

2 years ago

3.0.21

2 years ago

3.0.22

2 years ago

3.0.16

3 years ago

3.0.17

3 years ago

3.0.20

3 years ago

3.0.18

3 years ago

3.0.19

3 years ago

3.0.15

3 years ago

3.0.13

3 years ago

3.0.14

3 years ago

3.0.12

3 years ago

3.0.11

3 years ago

3.0.10

3 years ago

3.0.8

3 years ago

3.0.9

3 years ago

3.0.7

3 years ago

3.0.6

3 years ago

3.0.5

3 years ago

3.0.4

4 years ago

3.0.3

4 years ago

3.0.2

4 years ago

2.0.48

4 years ago

2.0.47

4 years ago

2.0.46

4 years ago

2.0.45

4 years ago

2.0.44

4 years ago

2.0.43

4 years ago

2.0.42

4 years ago

2.0.41

4 years ago

2.0.37

4 years ago

2.0.38

4 years ago

2.0.36

4 years ago

2.0.39

4 years ago

2.0.40

4 years ago

2.0.35

4 years ago

2.0.34

4 years ago

2.0.33

4 years ago

2.0.32

4 years ago

2.0.31

4 years ago

2.0.30

4 years ago

2.0.29

4 years ago

2.0.28

4 years ago

2.0.27

4 years ago

2.0.26

4 years ago

2.0.25

4 years ago

2.0.24

4 years ago

2.0.23

4 years ago

2.0.22

4 years ago

2.0.21

4 years ago

2.0.19

4 years ago

2.0.20

4 years ago

2.0.18

4 years ago

2.0.17

4 years ago

2.0.16

4 years ago

2.0.15

4 years ago

2.0.13

4 years ago

2.0.12

4 years ago

2.0.11

4 years ago

2.0.10

4 years ago

2.0.9

4 years ago

2.0.8

4 years ago

2.0.7

4 years ago

2.0.6

4 years ago

2.0.5

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.4

4 years ago

2.0.1

4 years ago

1.1.25

4 years ago

1.1.23

4 years ago

1.1.24

4 years ago

1.1.22

4 years ago

1.1.21

4 years ago

1.1.20

4 years ago

1.1.19

4 years ago

1.1.18

4 years ago

1.1.17

4 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.12

4 years ago

1.1.11

4 years ago

1.1.9

4 years ago

1.1.10

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago