hash to long keys #16
4 changed files with 7 additions and 2 deletions
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "dblang",
|
||||
"version": "0.8.0",
|
||||
"version": "0.8.1",
|
||||
"description": "",
|
||||
"main": "dist/db.js",
|
||||
"types": "dist/db.d.ts",
|
||||
|
|
|
@ -13,7 +13,7 @@ Features:
|
|||
- [x] remove unused Schema
|
||||
- [x] joins
|
||||
- [x] table alias
|
||||
- [x] generell aliases
|
||||
- [x] general aliases
|
||||
- [x] unified response
|
||||
- [ ] change Schema
|
||||
- [ ] Key-Value Store Shortcut
|
||||
|
|
|
@ -3,6 +3,7 @@ import { Attribute, DB, insertResponse, readResponse, Table, writeResponse } fro
|
|||
import { Aggregation, checkConstraint, joinCross, Datatype, foreignConstraint, Modifier, joinNatural, onJoin, uniqueConstraint, usingJoin } from "./dbStructure.js"
|
||||
import { insertQuery, Query, QueryBuilder, removeQuery, selectQuery, updateQuery } from "./query.js"
|
||||
import { allModifierInput, joinType, onAction, primaryData } from "./types.js"
|
||||
import { sha256 } from "./tools.js"
|
||||
|
||||
export class Handler {
|
||||
db: DB;
|
||||
|
@ -571,6 +572,7 @@ export class Handler {
|
|||
},
|
||||
escapeID: (key: string): string => {
|
||||
if (!key || key === "" || key.includes('\u0000')) throw new Error("Can not escape empty key or with null unicode!");
|
||||
if (key.length > 64) key = sha256(key);
|
||||
if (key.match(/^`.+`$/g)) return key;
|
||||
return `\`${key.replace(/`/g, '``')}\``;
|
||||
},
|
||||
|
|
3
src/tools.ts
Normal file
3
src/tools.ts
Normal file
|
@ -0,0 +1,3 @@
|
|||
import crypto from "crypto";
|
||||
|
||||
export const sha256 = (d: any) => crypto.createHash('sha256').update(String(d)).digest('base64');
|
Loading…
Reference in a new issue