From 4cd284eaa97fc4634617a4b0a8428614b2a25152 Mon Sep 17 00:00:00 2001 From: Philipp Kunz Date: Wed, 27 Mar 2024 17:30:14 +0100 Subject: [PATCH] fix(core): update --- test/test.ts | 5 +++++ ts/00_commitinfo_data.ts | 2 +- ts/smartdata.classes.collection.ts | 8 ++++++-- ts/smartdata.classes.doc.ts | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/test/test.ts b/test/test.ts index 6b2449b..78dd8a6 100644 --- a/test/test.ts +++ b/test/test.ts @@ -72,6 +72,11 @@ class Car extends smartdata.SmartDataDbDoc { } } +tap.test('should create a new id', async () => { + const newid = await Car.getNewId(); + console.log(newid); +}) + tap.test('should save the car to the db', async (toolsArg) => { const myCar = new Car('red', 'Volvo'); await myCar.save(); diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index a92eb23..25f68e7 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@push.rocks/smartdata', - version: '5.0.38', + version: '5.0.39', description: 'do more with data' } diff --git a/ts/smartdata.classes.collection.ts b/ts/smartdata.classes.collection.ts index 3a0e77c..26fa7f5 100644 --- a/ts/smartdata.classes.collection.ts +++ b/ts/smartdata.classes.collection.ts @@ -26,7 +26,8 @@ const collectionFactory = new CollectionFactory(); */ export function Collection(dbArg: SmartdataDb | TDelayed) { return function classDecorator(constructor: T) { - return class extends constructor { + const decoratedClass = class extends constructor { + public static className = constructor.name; public static get collection() { if (!(dbArg instanceof SmartdataDb)) { dbArg = dbArg(); @@ -40,6 +41,7 @@ export function Collection(dbArg: SmartdataDb | TDelayed) { return collectionFactory.getCollection(constructor.name, dbArg); } }; + return decoratedClass; }; } @@ -58,7 +60,8 @@ export const setDefaultManagerForDoc = (managerArg: IManager, dbDocArg: T): T */ export function managed(managerArg?: TManager | TDelayed) { return function classDecorator(constructor: T) { - return class extends constructor { + const decoratedClass = class extends constructor { + public static className = constructor.name; public static get collection() { let dbArg: SmartdataDb; if (!managerArg) { @@ -106,6 +109,7 @@ export function managed(managerArg?: TManager | TDela return manager; } }; + return decoratedClass; }; } diff --git a/ts/smartdata.classes.doc.ts b/ts/smartdata.classes.doc.ts index b891223..0cefde6 100644 --- a/ts/smartdata.classes.doc.ts +++ b/ts/smartdata.classes.doc.ts @@ -131,7 +131,7 @@ export class SmartDataDbDoc(this: plugins.tsclass.typeFest.Class, lengthArg: number = 20) { - return `${this.name}:${plugins.smartunique.shortId(lengthArg)}`; + return `${(this as any).className}:${plugins.smartunique.shortId(lengthArg)}`; } /**