lmcs-db 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +17 -21
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -24,7 +24,7 @@ npm install lmcs-db
24
24
  yarn add lmcs-db
25
25
 
26
26
  🚀 Exemplo de uso
27
- import DatabaseFactory from 'lmcs-db';
27
+ import { DatabaseFactory, DatabaseStorageType } from 'lmcs-db';
28
28
 
29
29
  interface User {
30
30
  _id: string;
@@ -36,8 +36,9 @@ interface User {
36
36
 
37
37
  async function main() {
38
38
  const db = await DatabaseFactory.create({
39
- storageType: 'json',
39
+ storageType: DatabaseStorageType.Binary,
40
40
  databaseName: 'secure-db',
41
+ customPath: `${process.cwd()}/data`,
41
42
  encryptionKey: 'my-secret-key-123'
42
43
  });
43
44
 
@@ -62,40 +63,35 @@ main();
62
63
 
63
64
 
64
65
  ## 📘 API
65
- DatabaseFactory.create(options)
66
- Cria uma instância do banco de dados.
66
+ - DatabaseFactory.create(options): Cria uma instância do banco de dados.
67
67
 
68
68
  Parâmetros:
69
- Nome Tipo Descrição
70
- storageType "json" ou "binary" Define o formato de armazenamento
71
- databaseName string Nome do arquivo base do banco
72
- encryptionKey string (opcional) Chave usada para criptografia AES
69
+ - storageType: Memory, Json ou Binary para Define o formato de armazenamento
70
+ - databaseName: string Nome do arquivo base do banco
71
+ - encryptionKey: string (opcional) Chave usada para criptografia AES
72
+ - customPath: string (opcional) Path de onde será criado o arquivo de armazenamento
73
73
 
74
74
  db.collection<T>(name)
75
75
  Obtém uma coleção tipada com suporte a:
76
-
77
- ### insert
78
-
79
- ### find
80
-
81
- ### findAll
82
-
83
- ### update
84
-
85
- ### delete
86
-
87
- ### count
76
+ - insert
77
+ - find
78
+ - findAll
79
+ - update
80
+ - delete
81
+ - count
88
82
 
89
83
  entre outros métodos utilitários
90
84
 
91
85
  📂 Estrutura esperada
92
- Os dados são armazenados em um único arquivo .json ou .bin, conforme o tipo de armazenamento escolhido.
86
+ Os dados são armazenados em um único arquivo .db, conforme o tipo de armazenamento escolhido.
93
87
  A persistência é automática após alterações, garantindo integridade dos dados em disco.
94
88
 
95
89
  🔒 Criptografia
96
90
  O sistema utiliza o algoritmo AES-256-CBC com vetor de inicialização (IV) dinâmico.
97
91
  Se um banco for carregado com uma chave incorreta, ele será reiniciado como vazio, com um aviso exibido no console.
98
92
 
93
+ O fornato binário do arquiv é ofuscado usando xorBuffer para que mesmo que não esteja usando criptografia o arquivo não legivel a humanos e tenha um desenpenho melhor para arquivos maiores.
94
+
99
95
  ✅ Testes
100
96
  Para executar os testes de demonstração:
101
97
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lmcs-db",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "LmcsDb is a database with multiple storage engines and criptography",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",