|
1 | 1 | import { Quad } from 'n3'; |
2 | | -import * as UUID from 'instauuid'; |
| 2 | +import uniqid from 'uniqid'; |
3 | 3 | import { plainToClass } from 'class-transformer'; |
4 | 4 |
|
5 | 5 | import { IPredicate } from '..'; |
@@ -76,9 +76,9 @@ export class Transaction<T extends Object, V> implements ITransaction<T> { |
76 | 76 | return new MutationBuilder(this.diff, this.tempIDS).getSetNQuadsString(); |
77 | 77 | } |
78 | 78 |
|
79 | | - public delete(node: T): void; |
80 | | - public delete(nodes: T[]): void; |
81 | | - public delete(nodeOrNodes: T | T[]) { |
| 79 | + public delete(node: T): ITransaction<T>; |
| 80 | + public delete(nodes: T[]): ITransaction<T>; |
| 81 | + public delete(nodeOrNodes: T | T[]): ITransaction<T> { |
82 | 82 | if (!Array.isArray(nodeOrNodes)) { |
83 | 83 | nodeOrNodes = [nodeOrNodes]; |
84 | 84 | } |
@@ -109,7 +109,7 @@ export class Transaction<T extends Object, V> implements ITransaction<T> { |
109 | 109 | // new created node instance when assigning data to it. |
110 | 110 | delete data.uid; |
111 | 111 | } else { |
112 | | - id = UUID('hex').toString(); |
| 112 | + id = uniqid(); |
113 | 113 | this.tempIDS.set(nodeInstance, id); |
114 | 114 | } |
115 | 115 |
|
@@ -256,7 +256,13 @@ export class Transaction<T extends Object, V> implements ITransaction<T> { |
256 | 256 | facetDataIndices.forEach(idx => { |
257 | 257 | const plain = facets.reduce<IObjectLiteral>((acc, f) => { |
258 | 258 | const facetPropertyName = `${name}|${f.args.propertyName}`; |
259 | | - const facetValue = Private.accessUnsafe(value._owner, facetPropertyName)[idx]; |
| 259 | + const facetDataMap = Private.accessUnsafe(value._owner, facetPropertyName); |
| 260 | + |
| 261 | + if (!facetDataMap) { |
| 262 | + return acc; |
| 263 | + } |
| 264 | + |
| 265 | + const facetValue = facetDataMap[idx]; |
260 | 266 |
|
261 | 267 | if (facetValue) { |
262 | 268 | acc[f.args.propertyName] = facetValue; |
|
0 commit comments