@graphprotocol/grc-20 0.6.4 → 0.8.0
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.
- package/README.md +38 -6
- package/dist/src/core/blocks/data.d.ts +3 -3
- package/dist/src/core/blocks/data.d.ts.map +1 -1
- package/dist/src/core/blocks/data.js +1 -1
- package/dist/src/core/blocks/data.js.map +1 -1
- package/dist/src/core/blocks/text.d.ts +3 -3
- package/dist/src/core/blocks/text.d.ts.map +1 -1
- package/dist/src/core/blocks/text.js +1 -1
- package/dist/src/core/blocks/text.js.map +1 -1
- package/dist/src/core/ids/content.d.ts +91 -90
- package/dist/src/core/ids/content.d.ts.map +1 -1
- package/dist/src/core/ids/content.js +91 -90
- package/dist/src/core/ids/content.js.map +1 -1
- package/dist/src/core/ids/network.d.ts +4 -3
- package/dist/src/core/ids/network.d.ts.map +1 -1
- package/dist/src/core/ids/network.js +4 -3
- package/dist/src/core/ids/network.js.map +1 -1
- package/dist/src/core/ids/system.d.ts +176 -175
- package/dist/src/core/ids/system.d.ts.map +1 -1
- package/dist/src/core/ids/system.js +176 -175
- package/dist/src/core/ids/system.js.map +1 -1
- package/dist/src/core/image.d.ts +15 -7
- package/dist/src/core/image.d.ts.map +1 -1
- package/dist/src/core/image.js +47 -22
- package/dist/src/core/image.js.map +1 -1
- package/dist/src/core/image.test.js +44 -18
- package/dist/src/core/image.test.js.map +1 -1
- package/dist/src/core/relation.d.ts +6 -6
- package/dist/src/core/relation.d.ts.map +1 -1
- package/dist/src/core/relation.js +2 -2
- package/dist/src/core/relation.js.map +1 -1
- package/dist/src/core/triple.d.ts +6 -6
- package/dist/src/core/triple.d.ts.map +1 -1
- package/dist/src/core/triple.js +2 -2
- package/dist/src/core/triple.js.map +1 -1
- package/dist/src/encodings/get-calldata-for-space-governance-type.d.ts +2 -2
- package/dist/src/encodings/get-calldata-for-space-governance-type.d.ts.map +1 -1
- package/dist/src/encodings/get-calldata-for-space-governance-type.js.map +1 -1
- package/dist/src/graph/create-entity.d.ts +40 -6
- package/dist/src/graph/create-entity.d.ts.map +1 -1
- package/dist/src/graph/create-entity.js +39 -1
- package/dist/src/graph/create-entity.js.map +1 -1
- package/dist/src/graph/create-entity.test.js +23 -19
- package/dist/src/graph/create-entity.test.js.map +1 -1
- package/dist/src/graph/create-image.d.ts +36 -0
- package/dist/src/graph/create-image.d.ts.map +1 -0
- package/dist/src/graph/create-image.js +38 -0
- package/dist/src/graph/create-image.js.map +1 -0
- package/dist/src/graph/create-image.test.d.ts +2 -0
- package/dist/src/graph/create-image.test.d.ts.map +1 -0
- package/dist/src/graph/create-image.test.js +138 -0
- package/dist/src/graph/create-image.test.js.map +1 -0
- package/dist/src/graph/create-property.d.ts +18 -6
- package/dist/src/graph/create-property.d.ts.map +1 -1
- package/dist/src/graph/create-property.js +18 -1
- package/dist/src/graph/create-property.js.map +1 -1
- package/dist/src/graph/create-space.d.ts +1 -0
- package/dist/src/graph/create-space.d.ts.map +1 -1
- package/dist/src/graph/create-space.js +1 -0
- package/dist/src/graph/create-space.js.map +1 -1
- package/dist/src/graph/create-type.d.ts +20 -7
- package/dist/src/graph/create-type.d.ts.map +1 -1
- package/dist/src/graph/create-type.js +18 -1
- package/dist/src/graph/create-type.js.map +1 -1
- package/dist/src/graph/helpers/create-default-properties.d.ts.map +1 -1
- package/dist/src/graph/helpers/create-default-properties.js +2 -0
- package/dist/src/graph/helpers/create-default-properties.js.map +1 -1
- package/dist/src/graph/helpers/create-properties.d.ts +1 -2
- package/dist/src/graph/helpers/create-properties.d.ts.map +1 -1
- package/dist/src/graph/helpers/create-properties.js +6 -1
- package/dist/src/graph/helpers/create-properties.js.map +1 -1
- package/dist/src/graph/index.d.ts +1 -0
- package/dist/src/graph/index.d.ts.map +1 -1
- package/dist/src/graph/index.js +1 -0
- package/dist/src/graph/index.js.map +1 -1
- package/dist/src/id.d.ts +6 -7
- package/dist/src/id.d.ts.map +1 -1
- package/dist/src/id.js +24 -5
- package/dist/src/id.js.map +1 -1
- package/dist/src/id.test.js +13 -1
- package/dist/src/id.test.js.map +1 -1
- package/dist/src/ipfs.d.ts +18 -3
- package/dist/src/ipfs.d.ts.map +1 -1
- package/dist/src/ipfs.js +50 -1
- package/dist/src/ipfs.js.map +1 -1
- package/dist/src/proto/edit.d.ts +2 -2
- package/dist/src/proto/edit.d.ts.map +1 -1
- package/dist/src/proto/edit.js.map +1 -1
- package/dist/src/types.d.ts +8 -3
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/core/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/core/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAY,MAAM,UAAU,CAAC;AAG7C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEtC,KAAK,mBAAmB,GAAG;IACzB,EAAE,EAAE,EAAE,CAAC;IACP,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;CAChB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,eAAe,GAAG,mBAAmB,CAkD9E"}
|
package/dist/src/core/image.js
CHANGED
|
@@ -12,36 +12,61 @@ import { SystemIds } from '../system-ids.js';
|
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* ```ts
|
|
15
|
-
* const {
|
|
16
|
-
* console.log(
|
|
15
|
+
* const { id, ops } = Image.make({ cid: 'https://example.com/image.png', dimensions: { width: 100, height: 100 } });
|
|
16
|
+
* console.log(id); // 'gw9uTVTnJdhtczyuzBkL3X'
|
|
17
17
|
* console.log(ops); // [...]
|
|
18
18
|
* ```
|
|
19
19
|
*
|
|
20
|
-
* @returns
|
|
20
|
+
* @returns id – base58 encoded v4 uuid representing the image entity: {@link MakeImageReturnType}
|
|
21
21
|
* @returns ops – The ops for the Image entity: {@link MakeImageReturnType}
|
|
22
22
|
*/
|
|
23
|
-
export function make(
|
|
23
|
+
export function make({ cid, dimensions }) {
|
|
24
24
|
const entityId = generate();
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
{
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
value:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
25
|
+
const ops = [
|
|
26
|
+
Relation.make({
|
|
27
|
+
fromId: entityId,
|
|
28
|
+
toId: SystemIds.IMAGE_TYPE,
|
|
29
|
+
relationTypeId: SystemIds.TYPES_PROPERTY,
|
|
30
|
+
}),
|
|
31
|
+
{
|
|
32
|
+
type: 'SET_TRIPLE',
|
|
33
|
+
triple: {
|
|
34
|
+
entity: entityId,
|
|
35
|
+
attribute: SystemIds.IMAGE_URL_PROPERTY,
|
|
36
|
+
value: {
|
|
37
|
+
type: 'URL',
|
|
38
|
+
value: cid,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
];
|
|
43
|
+
if (dimensions) {
|
|
44
|
+
ops.push({
|
|
45
|
+
type: 'SET_TRIPLE',
|
|
46
|
+
triple: {
|
|
47
|
+
entity: entityId,
|
|
48
|
+
attribute: SystemIds.IMAGE_HEIGHT_PROPERTY,
|
|
49
|
+
value: {
|
|
50
|
+
type: 'NUMBER',
|
|
51
|
+
value: dimensions.height.toString(),
|
|
42
52
|
},
|
|
43
53
|
},
|
|
44
|
-
|
|
54
|
+
});
|
|
55
|
+
ops.push({
|
|
56
|
+
type: 'SET_TRIPLE',
|
|
57
|
+
triple: {
|
|
58
|
+
entity: entityId,
|
|
59
|
+
attribute: SystemIds.IMAGE_WIDTH_PROPERTY,
|
|
60
|
+
value: {
|
|
61
|
+
type: 'NUMBER',
|
|
62
|
+
value: dimensions.width.toString(),
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
id: entityId,
|
|
69
|
+
ops,
|
|
45
70
|
};
|
|
46
71
|
}
|
|
47
72
|
//# sourceMappingURL=image.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/core/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/core/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAW,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAgB7C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAmB;IACvD,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAc;QACrB,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,cAAc,EAAE,SAAS,CAAC,cAAc;SACzC,CAAC;QACF;YACE,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,SAAS,CAAC,kBAAkB;gBACvC,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,GAAG;iBACX;aACF;SACF;KACF,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,SAAS,CAAC,qBAAqB;gBAC1C,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE;iBACpC;aACF;SACF,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,SAAS,CAAC,oBAAoB;gBACzC,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE;iBACnC;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,GAAG;KACJ,CAAC;AACJ,CAAC"}
|
|
@@ -3,24 +3,50 @@ import { INITIAL_RELATION_INDEX_VALUE } from '~/constants.js';
|
|
|
3
3
|
import { SystemIds } from '../system-ids.js';
|
|
4
4
|
import { make } from './image.js';
|
|
5
5
|
it('should generate ops for an image entity', () => {
|
|
6
|
-
const {
|
|
7
|
-
const [createRelationOp, setTripleOp] = ops;
|
|
6
|
+
const { id, ops } = make({ cid: 'https://example.com/image.png' });
|
|
8
7
|
// We check each field individually since we don't know the id of the relation
|
|
9
|
-
expect(
|
|
10
|
-
expect(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
8
|
+
expect(typeof id).toBe('string');
|
|
9
|
+
expect(ops.length).toBe(2);
|
|
10
|
+
if (ops[0]?.type === 'CREATE_RELATION') {
|
|
11
|
+
expect(ops[0].relation.type).toBe(SystemIds.TYPES_PROPERTY);
|
|
12
|
+
expect(ops[0].relation.fromEntity).toBe(id);
|
|
13
|
+
expect(ops[0].relation.toEntity).toBe(SystemIds.IMAGE_TYPE);
|
|
14
|
+
expect(ops[0].relation.index).toBe(INITIAL_RELATION_INDEX_VALUE);
|
|
15
|
+
}
|
|
16
|
+
if (ops[1]?.type === 'SET_TRIPLE') {
|
|
17
|
+
expect(ops[1].triple.attribute).toBe(SystemIds.IMAGE_URL_PROPERTY);
|
|
18
|
+
expect(ops[1].triple.entity).toBe(id);
|
|
19
|
+
expect(ops[1].triple.value.type).toBe('URL');
|
|
20
|
+
expect(ops[1].triple.value.value).toBe('https://example.com/image.png');
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
it('should generate ops for an image entity with dimensions', () => {
|
|
24
|
+
const { id, ops } = make({ cid: 'https://example.com/image.png', dimensions: { width: 200, height: 100 } });
|
|
25
|
+
expect(typeof id).toBe('string');
|
|
26
|
+
expect(ops.length).toBe(4);
|
|
27
|
+
if (ops[0]?.type === 'CREATE_RELATION') {
|
|
28
|
+
expect(ops[0].relation.type).toBe(SystemIds.TYPES_PROPERTY);
|
|
29
|
+
expect(ops[0].relation.fromEntity).toBe(id);
|
|
30
|
+
expect(ops[0].relation.toEntity).toBe(SystemIds.IMAGE_TYPE);
|
|
31
|
+
expect(ops[0].relation.index).toBe(INITIAL_RELATION_INDEX_VALUE);
|
|
32
|
+
}
|
|
33
|
+
if (ops[1]?.type === 'SET_TRIPLE') {
|
|
34
|
+
expect(ops[1].triple.attribute).toBe(SystemIds.IMAGE_URL_PROPERTY);
|
|
35
|
+
expect(ops[1].triple.entity).toBe(id);
|
|
36
|
+
expect(ops[1].triple.value.type).toBe('URL');
|
|
37
|
+
expect(ops[1].triple.value.value).toBe('https://example.com/image.png');
|
|
38
|
+
}
|
|
39
|
+
if (ops[2]?.type === 'SET_TRIPLE') {
|
|
40
|
+
expect(ops[2].triple.attribute).toBe(SystemIds.IMAGE_HEIGHT_PROPERTY);
|
|
41
|
+
expect(ops[2].triple.entity).toBe(id);
|
|
42
|
+
expect(ops[2].triple.value.type).toBe('NUMBER');
|
|
43
|
+
expect(ops[2].triple.value.value).toBe('100');
|
|
44
|
+
}
|
|
45
|
+
if (ops[3]?.type === 'SET_TRIPLE') {
|
|
46
|
+
expect(ops[3].triple.attribute).toBe(SystemIds.IMAGE_WIDTH_PROPERTY);
|
|
47
|
+
expect(ops[3].triple.entity).toBe(id);
|
|
48
|
+
expect(ops[3].triple.value.type).toBe('NUMBER');
|
|
49
|
+
expect(ops[3].triple.value.value).toBe('200');
|
|
50
|
+
}
|
|
25
51
|
});
|
|
26
52
|
//# sourceMappingURL=image.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.test.js","sourceRoot":"","sources":["../../../src/core/image.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACjD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"image.test.js","sourceRoot":"","sources":["../../../src/core/image.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import type { CreateRelationOp, DeleteRelationOp } from '../types.js';
|
|
|
14
14
|
* @param relationTypeId - base58 encoded v4 uuid
|
|
15
15
|
* @param position - optional fractional index using position-strings
|
|
16
16
|
*/
|
|
17
|
-
type
|
|
17
|
+
type CreateRelationParams = {
|
|
18
18
|
relationId?: string;
|
|
19
19
|
fromId: string;
|
|
20
20
|
toId: string;
|
|
@@ -36,10 +36,10 @@ type CreateRelationArgs = {
|
|
|
36
36
|
* });
|
|
37
37
|
* ```
|
|
38
38
|
*
|
|
39
|
-
* @param args {@link
|
|
39
|
+
* @param args {@link CreateRelationParams}
|
|
40
40
|
* @returns – {@link CreateRelationOp}
|
|
41
41
|
*/
|
|
42
|
-
export declare function make(args:
|
|
42
|
+
export declare function make(args: CreateRelationParams): CreateRelationOp;
|
|
43
43
|
/**
|
|
44
44
|
* Generates ops for deleting a Relation.
|
|
45
45
|
*
|
|
@@ -52,7 +52,7 @@ export declare function make(args: CreateRelationArgs): CreateRelationOp;
|
|
|
52
52
|
* @returns – {@link DeleteRelationOp}
|
|
53
53
|
*/
|
|
54
54
|
export declare function remove(relationId: string): DeleteRelationOp;
|
|
55
|
-
type
|
|
55
|
+
type ReorderRelationParams = {
|
|
56
56
|
relationId: string;
|
|
57
57
|
beforeIndex?: string;
|
|
58
58
|
afterIndex?: string;
|
|
@@ -80,9 +80,9 @@ type ReorderRelationOp = {
|
|
|
80
80
|
* });
|
|
81
81
|
* ```
|
|
82
82
|
*
|
|
83
|
-
* @param args {@link
|
|
83
|
+
* @param args {@link ReorderRelationParams}
|
|
84
84
|
* @returns – {@link ReorderRelationOp}
|
|
85
85
|
*/
|
|
86
|
-
export declare function reorder(args:
|
|
86
|
+
export declare function reorder(args: ReorderRelationParams): ReorderRelationOp;
|
|
87
87
|
export {};
|
|
88
88
|
//# sourceMappingURL=relation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../src/core/relation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGtE;;;;;;;;GAQG;AACH,KAAK,
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../src/core/relation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGtE;;;;;;;;GAQG;AACH,KAAK,oBAAoB,GAAG;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,oBAAoB,GAAG,gBAAgB,CAajE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAO3D;AAED,KAAK,qBAAqB,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,SAAS,CAAC,cAAc,CAAC;QAC3C,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,CActE"}
|
|
@@ -22,7 +22,7 @@ import { Position } from './position.js';
|
|
|
22
22
|
* });
|
|
23
23
|
* ```
|
|
24
24
|
*
|
|
25
|
-
* @param args {@link
|
|
25
|
+
* @param args {@link CreateRelationParams}
|
|
26
26
|
* @returns – {@link CreateRelationOp}
|
|
27
27
|
*/
|
|
28
28
|
export function make(args) {
|
|
@@ -69,7 +69,7 @@ export function remove(relationId) {
|
|
|
69
69
|
* });
|
|
70
70
|
* ```
|
|
71
71
|
*
|
|
72
|
-
* @param args {@link
|
|
72
|
+
* @param args {@link ReorderRelationParams}
|
|
73
73
|
* @returns – {@link ReorderRelationOp}
|
|
74
74
|
*/
|
|
75
75
|
export function reorder(args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../../src/core/relation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAmBzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../../src/core/relation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAmBzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,IAAI,CAAC,IAA0B;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC;IAElD,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE;YACR,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,IAAI,CAAC,cAAc;YACzB,UAAU,EAAE,IAAI,CAAC,MAAM;YACvB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,KAAK,EAAE,IAAI,CAAC,QAAQ,IAAI,4BAA4B;SACrD;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,MAAM,CAAC,UAAkB;IACvC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE;YACR,EAAE,EAAE,UAAU;SACf;KACF,CAAC;AACJ,CAAC;AAoBD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,OAAO,CAAC,IAA2B;IACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAE3E,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,QAAQ;aAChB;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @since 0.0.6
|
|
5
5
|
*/
|
|
6
6
|
import type { DeleteTripleOp, SetTripleOp, Value } from '../types.js';
|
|
7
|
-
type
|
|
7
|
+
type CreateTripleParams = {
|
|
8
8
|
attributeId: string;
|
|
9
9
|
entityId: string;
|
|
10
10
|
value: Value;
|
|
@@ -23,11 +23,11 @@ type CreateTripleArgs = {
|
|
|
23
23
|
* },
|
|
24
24
|
* });
|
|
25
25
|
* ```
|
|
26
|
-
* @param args – {@link
|
|
26
|
+
* @param args – {@link CreateTripleParams}
|
|
27
27
|
* @returns – {@link SetTripleOp}
|
|
28
28
|
*/
|
|
29
|
-
export declare function make(args:
|
|
30
|
-
type
|
|
29
|
+
export declare function make(args: CreateTripleParams): SetTripleOp;
|
|
30
|
+
type DeleteTripleParams = {
|
|
31
31
|
attributeId: string;
|
|
32
32
|
entityId: string;
|
|
33
33
|
};
|
|
@@ -42,9 +42,9 @@ type DeleteTripleArgs = {
|
|
|
42
42
|
* });
|
|
43
43
|
* ```
|
|
44
44
|
*
|
|
45
|
-
* @param args – {@link
|
|
45
|
+
* @param args – {@link DeleteTripleParams}
|
|
46
46
|
* @returns – {@link DeleteTripleOp}
|
|
47
47
|
*/
|
|
48
|
-
export declare function remove(args:
|
|
48
|
+
export declare function remove(args: DeleteTripleParams): DeleteTripleOp;
|
|
49
49
|
export {};
|
|
50
50
|
//# sourceMappingURL=triple.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triple.d.ts","sourceRoot":"","sources":["../../../src/core/triple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtE,KAAK,
|
|
1
|
+
{"version":3,"file":"triple.d.ts","sourceRoot":"","sources":["../../../src/core/triple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtE,KAAK,kBAAkB,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,WAAW,CAS1D;AAED,KAAK,kBAAkB,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAQ/D"}
|
package/dist/src/core/triple.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* },
|
|
18
18
|
* });
|
|
19
19
|
* ```
|
|
20
|
-
* @param args – {@link
|
|
20
|
+
* @param args – {@link CreateTripleParams}
|
|
21
21
|
* @returns – {@link SetTripleOp}
|
|
22
22
|
*/
|
|
23
23
|
export function make(args) {
|
|
@@ -41,7 +41,7 @@ export function make(args) {
|
|
|
41
41
|
* });
|
|
42
42
|
* ```
|
|
43
43
|
*
|
|
44
|
-
* @param args – {@link
|
|
44
|
+
* @param args – {@link DeleteTripleParams}
|
|
45
45
|
* @returns – {@link DeleteTripleOp}
|
|
46
46
|
*/
|
|
47
47
|
export function remove(args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"triple.js","sourceRoot":"","sources":["../../../src/core/triple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"triple.js","sourceRoot":"","sources":["../../../src/core/triple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,IAAI,CAAC,IAAwB;IAC3C,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB;KACF,CAAC;AACJ,CAAC;AAOD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,MAAM,CAAC,IAAwB;IAC7C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE;YACN,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,MAAM,EAAE,IAAI,CAAC,QAAQ;SACtB;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
type
|
|
1
|
+
type GovernanceTypeCalldataParams = {
|
|
2
2
|
type: 'PUBLIC' | 'PERSONAL';
|
|
3
3
|
cid: string;
|
|
4
4
|
spacePluginAddress: string;
|
|
5
5
|
};
|
|
6
|
-
export declare function getCalldataForSpaceGovernanceType(args:
|
|
6
|
+
export declare function getCalldataForSpaceGovernanceType(args: GovernanceTypeCalldataParams): `0x${string}`;
|
|
7
7
|
export {};
|
|
8
8
|
//# sourceMappingURL=get-calldata-for-space-governance-type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-calldata-for-space-governance-type.d.ts","sourceRoot":"","sources":["../../../src/encodings/get-calldata-for-space-governance-type.ts"],"names":[],"mappings":"AAIA,KAAK,
|
|
1
|
+
{"version":3,"file":"get-calldata-for-space-governance-type.d.ts","sourceRoot":"","sources":["../../../src/encodings/get-calldata-for-space-governance-type.ts"],"names":[],"mappings":"AAIA,KAAK,4BAA4B,GAAG;IAClC,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,4BAA4B,iBAenF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-calldata-for-space-governance-type.js","sourceRoot":"","sources":["../../../src/encodings/get-calldata-for-space-governance-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAQxE,MAAM,UAAU,iCAAiC,CAAC,
|
|
1
|
+
{"version":3,"file":"get-calldata-for-space-governance-type.js","sourceRoot":"","sources":["../../../src/encodings/get-calldata-for-space-governance-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAQxE,MAAM,UAAU,iCAAiC,CAAC,IAAkC;IAClF,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,kBAAkB,CAAC;gBACxB,YAAY,EAAE,cAAc;gBAC5B,GAAG,EAAE,aAAa;gBAClB,IAAI,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAmC,CAAC;aAClF,CAAC,CAAC;QACL,KAAK,UAAU;YACb,OAAO,kBAAkB,CAAC;gBACxB,YAAY,EAAE,aAAa;gBAC3B,GAAG,EAAE,qBAAqB;gBAC1B,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAmC,CAAC;aAC3D,CAAC,CAAC;IACP,CAAC;AACH,CAAC"}
|
|
@@ -1,14 +1,48 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
type
|
|
1
|
+
import type { CreateResult, DefaultProperties, PropertiesParam } from '../types.js';
|
|
2
|
+
type CreateEntityParams = DefaultProperties & {
|
|
3
3
|
properties?: PropertiesParam;
|
|
4
4
|
types?: Array<string>;
|
|
5
5
|
};
|
|
6
6
|
/**
|
|
7
7
|
* Creates an entity with the given name, description, cover, properties, and types.
|
|
8
|
+
* All IDs passed to this function (cover, types, property IDs, relation IDs, etc.) are validated.
|
|
9
|
+
* If any invalid ID is provided, the function will throw an error.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const { id, ops } = createEntity({
|
|
14
|
+
* name: 'name of the entity',
|
|
15
|
+
* description: 'description of the entity',
|
|
16
|
+
* cover: imageEntityId,
|
|
17
|
+
* types: [typeEntityId1, typeEntityId2],
|
|
18
|
+
* properties: {
|
|
19
|
+
* // value property like text, number, url, time, point, checkbox
|
|
20
|
+
* [propertyId]: {
|
|
21
|
+
* type: 'TEXT', // TEXT | NUMBER | URL | TIME | POINT | CHECKBOX,
|
|
22
|
+
* value: 'value of the property',
|
|
23
|
+
* },
|
|
24
|
+
* // relation property
|
|
25
|
+
* [propertyId]: {
|
|
26
|
+
* to: 'id of the entity',
|
|
27
|
+
* relationId: 'id of the relation', // optional
|
|
28
|
+
* position: positionString, // optional
|
|
29
|
+
* properties: { // optional properties for the relation
|
|
30
|
+
* [propertyId]: {
|
|
31
|
+
* type: 'TEXT', // TEXT | NUMBER | URL | TIME | POINT | CHECKBOX,
|
|
32
|
+
* value: 'value of the property',
|
|
33
|
+
* },
|
|
34
|
+
* [propertyId]: {
|
|
35
|
+
* to: 'id of the entity',
|
|
36
|
+
* },
|
|
37
|
+
* },
|
|
38
|
+
* },
|
|
39
|
+
* },
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
* @param params – {@link CreateEntityParams}
|
|
43
|
+
* @returns – {@link CreateResult}
|
|
44
|
+
* @throws Will throw an error if any provided ID is invalid
|
|
8
45
|
*/
|
|
9
|
-
export declare const createEntity: ({ name, description, cover, properties, types }:
|
|
10
|
-
id: string;
|
|
11
|
-
ops: Op[];
|
|
12
|
-
};
|
|
46
|
+
export declare const createEntity: ({ name, description, cover, properties, types }: CreateEntityParams) => CreateResult;
|
|
13
47
|
export {};
|
|
14
48
|
//# sourceMappingURL=create-entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-entity.d.ts","sourceRoot":"","sources":["../../../src/graph/create-entity.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"create-entity.d.ts","sourceRoot":"","sources":["../../../src/graph/create-entity.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAM,eAAe,EAAE,MAAM,aAAa,CAAC;AAGxF,KAAK,kBAAkB,GAAG,iBAAiB,GAAG;IAC5C,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,YAAY,oDAAqD,kBAAkB,KAAG,YAwBlG,CAAC"}
|
|
@@ -1,10 +1,47 @@
|
|
|
1
1
|
import { TYPES_PROPERTY } from '../core/ids/system.js';
|
|
2
|
-
import { generate } from '../id.js';
|
|
2
|
+
import { assertValid, generate } from '../id.js';
|
|
3
3
|
import { Relation } from '../relation.js';
|
|
4
4
|
import { createDefaultProperties } from './helpers/create-default-properties.js';
|
|
5
5
|
import { createProperties } from './helpers/create-properties.js';
|
|
6
6
|
/**
|
|
7
7
|
* Creates an entity with the given name, description, cover, properties, and types.
|
|
8
|
+
* All IDs passed to this function (cover, types, property IDs, relation IDs, etc.) are validated.
|
|
9
|
+
* If any invalid ID is provided, the function will throw an error.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* const { id, ops } = createEntity({
|
|
14
|
+
* name: 'name of the entity',
|
|
15
|
+
* description: 'description of the entity',
|
|
16
|
+
* cover: imageEntityId,
|
|
17
|
+
* types: [typeEntityId1, typeEntityId2],
|
|
18
|
+
* properties: {
|
|
19
|
+
* // value property like text, number, url, time, point, checkbox
|
|
20
|
+
* [propertyId]: {
|
|
21
|
+
* type: 'TEXT', // TEXT | NUMBER | URL | TIME | POINT | CHECKBOX,
|
|
22
|
+
* value: 'value of the property',
|
|
23
|
+
* },
|
|
24
|
+
* // relation property
|
|
25
|
+
* [propertyId]: {
|
|
26
|
+
* to: 'id of the entity',
|
|
27
|
+
* relationId: 'id of the relation', // optional
|
|
28
|
+
* position: positionString, // optional
|
|
29
|
+
* properties: { // optional properties for the relation
|
|
30
|
+
* [propertyId]: {
|
|
31
|
+
* type: 'TEXT', // TEXT | NUMBER | URL | TIME | POINT | CHECKBOX,
|
|
32
|
+
* value: 'value of the property',
|
|
33
|
+
* },
|
|
34
|
+
* [propertyId]: {
|
|
35
|
+
* to: 'id of the entity',
|
|
36
|
+
* },
|
|
37
|
+
* },
|
|
38
|
+
* },
|
|
39
|
+
* },
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
* @param params – {@link CreateEntityParams}
|
|
43
|
+
* @returns – {@link CreateResult}
|
|
44
|
+
* @throws Will throw an error if any provided ID is invalid
|
|
8
45
|
*/
|
|
9
46
|
export const createEntity = ({ name, description, cover, properties, types }) => {
|
|
10
47
|
const id = generate();
|
|
@@ -13,6 +50,7 @@ export const createEntity = ({ name, description, cover, properties, types }) =>
|
|
|
13
50
|
// add property "Types" to the provided types
|
|
14
51
|
if (types) {
|
|
15
52
|
for (const typeId of types) {
|
|
53
|
+
assertValid(typeId);
|
|
16
54
|
const typeRelationOp = Relation.make({
|
|
17
55
|
fromId: id,
|
|
18
56
|
relationTypeId: TYPES_PROPERTY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-entity.js","sourceRoot":"","sources":["../../../src/graph/create-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"create-entity.js","sourceRoot":"","sources":["../../../src/graph/create-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAMlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAsB,EAAgB,EAAE;IAChH,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,MAAM,GAAG,GAAc,EAAE,CAAC;IAE1B,GAAG,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjF,6CAA6C;IAC7C,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,WAAW,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACnC,MAAM,EAAE,EAAE;gBACV,cAAc,EAAE,cAAc;gBAC9B,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
2
|
import { AUTHORS_PROPERTY, CLAIM_TYPE, DISCLAIMER_PROPERTY, NEWS_STORY_TYPE, ROLES_PROPERTY, WEB_URL_PROPERTY, } from '../core/ids/content.js';
|
|
3
3
|
import { NAME_PROPERTY, TYPES_PROPERTY } from '../core/ids/system.js';
|
|
4
|
-
import { generate } from '../id.js';
|
|
4
|
+
import { Id, generate } from '../id.js';
|
|
5
5
|
import { createEntity } from './create-entity.js';
|
|
6
6
|
describe('createEntity', () => {
|
|
7
|
+
const someAuthorId = Id('M5uDP7nCw3nvfQPUryn9gx');
|
|
8
|
+
const someRoleId = Id('GscJ2GELQjmLoaVrYyR3xm');
|
|
9
|
+
const someRoleId2 = Id('VdTsW1mGiy1XSooJaBBLc4');
|
|
10
|
+
const coverId = Id('6wMJ7P1AHpu8EWFX3roMye');
|
|
7
11
|
it('creates a basic entity without properties', async () => {
|
|
8
12
|
const entity = createEntity({});
|
|
9
13
|
expect(entity).toBeDefined();
|
|
@@ -93,8 +97,8 @@ describe('createEntity', () => {
|
|
|
93
97
|
it('creates an entity with relations', async () => {
|
|
94
98
|
const entity = createEntity({
|
|
95
99
|
properties: {
|
|
96
|
-
[AUTHORS_PROPERTY]: { to:
|
|
97
|
-
[ROLES_PROPERTY]: [{ to:
|
|
100
|
+
[AUTHORS_PROPERTY]: { to: someAuthorId },
|
|
101
|
+
[ROLES_PROPERTY]: [{ to: someRoleId }, { to: someRoleId2 }],
|
|
98
102
|
},
|
|
99
103
|
});
|
|
100
104
|
expect(entity).toBeDefined();
|
|
@@ -108,7 +112,7 @@ describe('createEntity', () => {
|
|
|
108
112
|
fromEntity: entity.id,
|
|
109
113
|
id: entity.ops[0]?.relation?.id,
|
|
110
114
|
index: entity.ops[0]?.relation?.index,
|
|
111
|
-
toEntity:
|
|
115
|
+
toEntity: someAuthorId,
|
|
112
116
|
type: AUTHORS_PROPERTY,
|
|
113
117
|
},
|
|
114
118
|
type: 'CREATE_RELATION',
|
|
@@ -121,7 +125,7 @@ describe('createEntity', () => {
|
|
|
121
125
|
fromEntity: entity.id,
|
|
122
126
|
id: entity.ops[1]?.relation?.id,
|
|
123
127
|
index: entity.ops[1]?.relation?.index,
|
|
124
|
-
toEntity:
|
|
128
|
+
toEntity: someRoleId,
|
|
125
129
|
type: ROLES_PROPERTY,
|
|
126
130
|
},
|
|
127
131
|
type: 'CREATE_RELATION',
|
|
@@ -134,7 +138,7 @@ describe('createEntity', () => {
|
|
|
134
138
|
fromEntity: entity.id,
|
|
135
139
|
id: entity.ops[2]?.relation?.id,
|
|
136
140
|
index: entity.ops[2]?.relation?.index,
|
|
137
|
-
toEntity:
|
|
141
|
+
toEntity: someRoleId2,
|
|
138
142
|
type: ROLES_PROPERTY,
|
|
139
143
|
},
|
|
140
144
|
type: 'CREATE_RELATION',
|
|
@@ -146,8 +150,8 @@ describe('createEntity', () => {
|
|
|
146
150
|
const firstRoleRelationId = generate();
|
|
147
151
|
const entity = createEntity({
|
|
148
152
|
properties: {
|
|
149
|
-
[AUTHORS_PROPERTY]: { to:
|
|
150
|
-
[ROLES_PROPERTY]: [{ to:
|
|
153
|
+
[AUTHORS_PROPERTY]: { to: someAuthorId, relationId: authorRelationId },
|
|
154
|
+
[ROLES_PROPERTY]: [{ to: someRoleId, relationId: firstRoleRelationId }, { to: someRoleId2 }],
|
|
151
155
|
},
|
|
152
156
|
});
|
|
153
157
|
expect(entity.ops[0]?.type).toBe('CREATE_RELATION');
|
|
@@ -157,7 +161,7 @@ describe('createEntity', () => {
|
|
|
157
161
|
fromEntity: entity.id,
|
|
158
162
|
id: authorRelationId,
|
|
159
163
|
index: entity.ops[0]?.relation?.index,
|
|
160
|
-
toEntity:
|
|
164
|
+
toEntity: someAuthorId,
|
|
161
165
|
type: AUTHORS_PROPERTY,
|
|
162
166
|
},
|
|
163
167
|
type: 'CREATE_RELATION',
|
|
@@ -170,7 +174,7 @@ describe('createEntity', () => {
|
|
|
170
174
|
fromEntity: entity.id,
|
|
171
175
|
id: firstRoleRelationId,
|
|
172
176
|
index: entity.ops[1]?.relation?.index,
|
|
173
|
-
toEntity:
|
|
177
|
+
toEntity: someRoleId,
|
|
174
178
|
type: ROLES_PROPERTY,
|
|
175
179
|
},
|
|
176
180
|
type: 'CREATE_RELATION',
|
|
@@ -184,15 +188,15 @@ describe('createEntity', () => {
|
|
|
184
188
|
const entity = createEntity({
|
|
185
189
|
properties: {
|
|
186
190
|
[AUTHORS_PROPERTY]: {
|
|
187
|
-
to:
|
|
191
|
+
to: someAuthorId,
|
|
188
192
|
relationId: authorRelationId,
|
|
189
193
|
properties: {
|
|
190
194
|
[ROLES_PROPERTY]: {
|
|
191
|
-
to:
|
|
195
|
+
to: someRoleId,
|
|
192
196
|
relationId: roleRelationId,
|
|
193
197
|
properties: {
|
|
194
198
|
[NEWS_STORY_TYPE]: {
|
|
195
|
-
to:
|
|
199
|
+
to: someRoleId2,
|
|
196
200
|
relationId: newsStoryRelationId,
|
|
197
201
|
},
|
|
198
202
|
[WEB_URL_PROPERTY]: {
|
|
@@ -212,7 +216,7 @@ describe('createEntity', () => {
|
|
|
212
216
|
fromEntity: entity.id,
|
|
213
217
|
id: authorRelationId,
|
|
214
218
|
index: entity.ops[0]?.relation?.index,
|
|
215
|
-
toEntity:
|
|
219
|
+
toEntity: someAuthorId,
|
|
216
220
|
type: AUTHORS_PROPERTY,
|
|
217
221
|
},
|
|
218
222
|
type: 'CREATE_RELATION',
|
|
@@ -225,7 +229,7 @@ describe('createEntity', () => {
|
|
|
225
229
|
fromEntity: entity.id,
|
|
226
230
|
id: roleRelationId,
|
|
227
231
|
index: entity.ops[1]?.relation?.index,
|
|
228
|
-
toEntity:
|
|
232
|
+
toEntity: someRoleId,
|
|
229
233
|
type: ROLES_PROPERTY,
|
|
230
234
|
},
|
|
231
235
|
type: 'CREATE_RELATION',
|
|
@@ -238,7 +242,7 @@ describe('createEntity', () => {
|
|
|
238
242
|
fromEntity: entity.id,
|
|
239
243
|
id: newsStoryRelationId,
|
|
240
244
|
index: entity.ops[2]?.relation?.index,
|
|
241
|
-
toEntity:
|
|
245
|
+
toEntity: someRoleId2,
|
|
242
246
|
type: NEWS_STORY_TYPE,
|
|
243
247
|
},
|
|
244
248
|
type: 'CREATE_RELATION',
|
|
@@ -260,13 +264,13 @@ describe('createEntity', () => {
|
|
|
260
264
|
const entity = createEntity({
|
|
261
265
|
name: 'Yummy Coffee',
|
|
262
266
|
description: 'A delicious coffee shop with great food and great coffee',
|
|
263
|
-
cover:
|
|
267
|
+
cover: coverId,
|
|
264
268
|
types: [CLAIM_TYPE, NEWS_STORY_TYPE],
|
|
265
269
|
properties: {
|
|
266
270
|
[DISCLAIMER_PROPERTY]: { value: 'Test Entity', type: 'TEXT' },
|
|
267
271
|
[WEB_URL_PROPERTY]: { value: 'https://example.com', type: 'URL' },
|
|
268
|
-
[AUTHORS_PROPERTY]: { to:
|
|
269
|
-
[ROLES_PROPERTY]: { to:
|
|
272
|
+
[AUTHORS_PROPERTY]: { to: someAuthorId },
|
|
273
|
+
[ROLES_PROPERTY]: { to: someRoleId },
|
|
270
274
|
},
|
|
271
275
|
});
|
|
272
276
|
expect(entity).toBeDefined();
|