Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
63ceded1b8 | |||
b45e7ee206 | |||
715709f3ec | |||
0b8adea736 |
@ -63,11 +63,11 @@ So to get to get access to a specific collection you document
|
|||||||
|
|
||||||
@Collection(myDb1)
|
@Collection(myDb1)
|
||||||
class myObject extends smartdata.DbDoc<myObject> { // read the next block about DbDoc
|
class myObject extends smartdata.DbDoc<myObject> { // read the next block about DbDoc
|
||||||
property1:string
|
@smartdata.saveable property1: string // @smartdata.saveable marks the property for db save
|
||||||
property2:number
|
property2: number // this one is not marked, so it won't be save upon calling this.save()
|
||||||
constructor(optionsArg:{
|
constructor(optionsArg:{
|
||||||
property1:string,
|
property1: string,
|
||||||
property2:number
|
property2: number
|
||||||
}) {
|
}) {
|
||||||
super()
|
super()
|
||||||
}
|
}
|
||||||
|
4
dist/smartdata.classes.dbdoc.d.ts
vendored
4
dist/smartdata.classes.dbdoc.d.ts
vendored
@ -1,7 +1,7 @@
|
|||||||
import { DbCollection } from './smartdata.classes.dbcollection';
|
import { DbCollection } from './smartdata.classes.dbcollection';
|
||||||
export declare type TDocCreation = 'db' | 'data' | 'mixed';
|
export declare type TDocCreation = 'db' | 'new' | 'mixed';
|
||||||
/**
|
/**
|
||||||
* sva - saveable decorator to be used on class properties
|
* saveable - saveable decorator to be used on class properties
|
||||||
*/
|
*/
|
||||||
export declare function saveable(target: DbDoc<any>, key: string): void;
|
export declare function saveable(target: DbDoc<any>, key: string): void;
|
||||||
export declare class DbDoc<T> {
|
export declare class DbDoc<T> {
|
||||||
|
11
dist/smartdata.classes.dbdoc.js
vendored
11
dist/smartdata.classes.dbdoc.js
vendored
@ -1,6 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
/**
|
/**
|
||||||
* sva - saveable decorator to be used on class properties
|
* saveable - saveable decorator to be used on class properties
|
||||||
*/
|
*/
|
||||||
function saveable(target, key) {
|
function saveable(target, key) {
|
||||||
console.log('called sva');
|
console.log('called sva');
|
||||||
@ -26,6 +26,13 @@ class DbDoc {
|
|||||||
for (let propertyNameString of this.saveableProperties) {
|
for (let propertyNameString of this.saveableProperties) {
|
||||||
saveableObject[propertyNameString] = this[propertyNameString];
|
saveableObject[propertyNameString] = this[propertyNameString];
|
||||||
}
|
}
|
||||||
|
switch (this.creationType) {
|
||||||
|
case 'db':
|
||||||
|
this.collection; // TODO implement collection.update()
|
||||||
|
break;
|
||||||
|
case 'new':
|
||||||
|
this.collection.insertOne(saveableObject);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* also store any referenced objects to DB
|
* also store any referenced objects to DB
|
||||||
@ -36,4 +43,4 @@ class DbDoc {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.DbDoc = DbDoc;
|
exports.DbDoc = DbDoc;
|
||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRkYXRhLmNsYXNzZXMuZGJkb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGRhdGEuY2xhc3Nlcy5kYmRvYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBT0E7O0dBRUc7QUFDSCxrQkFBeUIsTUFBa0IsRUFBRSxHQUFXO0lBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDekIsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQUMsTUFBTSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtJQUFDLENBQUM7SUFDbEUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBSkQsNEJBSUM7QUFFRDtJQWlCSTs7T0FFRztJQUNIO1FBQ0ksSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJO1FBQ0EsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFBO1FBQ3ZCLEdBQUcsQ0FBQyxDQUFDLElBQUksa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUNyRCxjQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNqRSxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDZixDQUFDO0NBQ0o7QUExQ0Qsc0JBMENDIn0=
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRkYXRhLmNsYXNzZXMuZGJkb2MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9zbWFydGRhdGEuY2xhc3Nlcy5kYmRvYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBT0E7O0dBRUc7QUFDSCxrQkFBeUIsTUFBa0IsRUFBRSxHQUFXO0lBQ3BELE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDekIsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQUMsTUFBTSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtJQUFDLENBQUM7SUFDbEUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBSkQsNEJBSUM7QUFFRDtJQWlCSTs7T0FFRztJQUNIO1FBQ0ksSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0lBQ3RELENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJO1FBQ0EsSUFBSSxjQUFjLEdBQUcsRUFBRSxDQUFBO1FBQ3ZCLEdBQUcsQ0FBQyxDQUFDLElBQUksa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUNyRCxjQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNqRSxDQUFDO1FBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDeEIsS0FBSyxJQUFJO2dCQUNMLElBQUksQ0FBQyxVQUFVLENBQUEsQ0FBQyxxQ0FBcUM7Z0JBQ3JELEtBQUssQ0FBQTtZQUNULEtBQUssS0FBSztnQkFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUNqRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDZixDQUFDO0NBQ0o7QUFqREQsc0JBaURDIn0=
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "smartdata",
|
"name": "smartdata",
|
||||||
"version": "1.0.19",
|
"version": "1.0.21",
|
||||||
"description": "do more with data",
|
"description": "do more with data",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"typings": "dist/index.d.ts",
|
"typings": "dist/index.d.ts",
|
||||||
|
@ -3,10 +3,10 @@ import * as plugins from './smartdata.plugins'
|
|||||||
import { Db } from './smartdata.classes.db'
|
import { Db } from './smartdata.classes.db'
|
||||||
import { DbCollection } from './smartdata.classes.dbcollection'
|
import { DbCollection } from './smartdata.classes.dbcollection'
|
||||||
|
|
||||||
export type TDocCreation = 'db' | 'data' | 'mixed'
|
export type TDocCreation = 'db' | 'new' | 'mixed'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sva - saveable decorator to be used on class properties
|
* saveable - saveable decorator to be used on class properties
|
||||||
*/
|
*/
|
||||||
export function saveable(target: DbDoc<any>, key: string) {
|
export function saveable(target: DbDoc<any>, key: string) {
|
||||||
console.log('called sva')
|
console.log('called sva')
|
||||||
@ -47,6 +47,13 @@ export class DbDoc<T> {
|
|||||||
for (let propertyNameString of this.saveableProperties) {
|
for (let propertyNameString of this.saveableProperties) {
|
||||||
saveableObject[propertyNameString] = this[propertyNameString]
|
saveableObject[propertyNameString] = this[propertyNameString]
|
||||||
}
|
}
|
||||||
|
switch (this.creationType) {
|
||||||
|
case 'db':
|
||||||
|
this.collection // TODO implement collection.update()
|
||||||
|
break
|
||||||
|
case 'new':
|
||||||
|
this.collection.insertOne(saveableObject)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user