@graphprotocol/grc-20 0.0.7 → 0.0.8
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 +12 -2
- package/dist/abis.d.ts +5 -0
- package/dist/abis.d.ts.map +1 -1
- package/dist/abis.js +5 -0
- package/dist/abis.js.map +1 -1
- package/dist/constants.d.ts +5 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +5 -0
- package/dist/constants.js.map +1 -1
- package/dist/contracts.d.ts +28 -6
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +28 -9
- package/dist/contracts.js.map +1 -1
- package/dist/index.d.ts +43 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -1
- package/dist/index.js.map +1 -1
- package/dist/proto.d.ts +12 -0
- package/dist/proto.d.ts.map +1 -1
- package/dist/proto.js +12 -0
- package/dist/proto.js.map +1 -1
- package/dist/src/account.d.ts +6 -0
- package/dist/src/account.d.ts.map +1 -1
- package/dist/src/account.js +6 -0
- package/dist/src/account.js.map +1 -1
- package/dist/src/blocks.d.ts +18 -0
- package/dist/src/blocks.d.ts.map +1 -1
- package/dist/src/blocks.js +18 -0
- package/dist/src/blocks.js.map +1 -1
- package/dist/src/core/account.d.ts +20 -0
- package/dist/src/core/account.d.ts.map +1 -1
- package/dist/src/core/account.js +20 -0
- package/dist/src/core/account.js.map +1 -1
- package/dist/src/core/account.test.d.ts +2 -0
- package/dist/src/core/account.test.d.ts.map +1 -0
- package/dist/src/core/account.test.js +25 -0
- package/dist/src/core/account.test.js.map +1 -0
- package/dist/src/core/base58.d.ts +6 -0
- package/dist/src/core/base58.d.ts.map +1 -1
- package/dist/src/core/base58.js +6 -0
- package/dist/src/core/base58.js.map +1 -1
- package/dist/src/core/base58.test.js +3 -1
- package/dist/src/core/base58.test.js.map +1 -1
- package/dist/src/core/blocks/data.d.ts +23 -0
- package/dist/src/core/blocks/data.d.ts.map +1 -1
- package/dist/src/core/blocks/data.js +23 -0
- package/dist/src/core/blocks/data.js.map +1 -1
- package/dist/src/core/blocks/data.test.d.ts +2 -0
- package/dist/src/core/blocks/data.test.d.ts.map +1 -0
- package/dist/src/core/blocks/data.test.js +58 -0
- package/dist/src/core/blocks/data.test.js.map +1 -0
- package/dist/src/core/blocks/image.d.ts +6 -0
- package/dist/src/core/blocks/image.d.ts.map +1 -1
- package/dist/src/core/blocks/image.js +6 -0
- package/dist/src/core/blocks/image.js.map +1 -1
- package/dist/src/core/blocks/text.d.ts +22 -0
- package/dist/src/core/blocks/text.d.ts.map +1 -1
- package/dist/src/core/blocks/text.js +22 -0
- package/dist/src/core/blocks/text.js.map +1 -1
- package/dist/src/core/blocks/text.test.d.ts +2 -0
- package/dist/src/core/blocks/text.test.d.ts.map +1 -0
- package/dist/src/core/blocks/text.test.js +29 -0
- package/dist/src/core/blocks/text.test.js.map +1 -0
- package/dist/src/core/image.d.ts +15 -1
- package/dist/src/core/image.d.ts.map +1 -1
- package/dist/src/core/image.js +15 -1
- package/dist/src/core/image.js.map +1 -1
- package/dist/src/core/image.test.d.ts +2 -0
- package/dist/src/core/image.test.d.ts.map +1 -0
- package/dist/src/core/image.test.js +26 -0
- package/dist/src/core/image.test.js.map +1 -0
- package/dist/src/core/position.d.ts +5 -0
- package/dist/src/core/position.d.ts.map +1 -1
- package/dist/src/core/position.js +5 -0
- package/dist/src/core/position.js.map +1 -1
- package/dist/src/core/relation.d.ts +58 -0
- package/dist/src/core/relation.d.ts.map +1 -1
- package/dist/src/core/relation.js +49 -0
- package/dist/src/core/relation.js.map +1 -1
- package/dist/src/core/relation.test.d.ts +2 -0
- package/dist/src/core/relation.test.d.ts.map +1 -0
- package/dist/src/core/relation.test.js +45 -0
- package/dist/src/core/relation.test.js.map +1 -0
- package/dist/src/core/scheme.d.ts +70 -1
- package/dist/src/core/scheme.d.ts.map +1 -1
- package/dist/src/core/scheme.js +84 -5
- package/dist/src/core/scheme.js.map +1 -1
- package/dist/src/core/scheme.test.d.ts +2 -0
- package/dist/src/core/scheme.test.d.ts.map +1 -0
- package/dist/src/core/scheme.test.js +34 -0
- package/dist/src/core/scheme.test.js.map +1 -0
- package/dist/src/core/triple.d.ts +36 -0
- package/dist/src/core/triple.d.ts.map +1 -1
- package/dist/src/core/triple.js +36 -0
- package/dist/src/core/triple.js.map +1 -1
- package/dist/src/core/triple.test.d.ts +2 -0
- package/dist/src/core/triple.test.d.ts.map +1 -0
- package/dist/src/core/triple.test.js +37 -0
- package/dist/src/core/triple.test.js.map +1 -0
- package/dist/src/id.d.ts +6 -0
- package/dist/src/id.d.ts.map +1 -1
- package/dist/src/id.js +16 -1
- package/dist/src/id.js.map +1 -1
- package/dist/src/id.test.d.ts +2 -0
- package/dist/src/id.test.d.ts.map +1 -0
- package/dist/src/id.test.js +11 -0
- package/dist/src/id.test.js.map +1 -0
- package/dist/src/image.d.ts +6 -0
- package/dist/src/image.d.ts.map +1 -1
- package/dist/src/image.js +6 -0
- package/dist/src/image.js.map +1 -1
- package/dist/src/position.d.ts +5 -0
- package/dist/src/position.d.ts.map +1 -1
- package/dist/src/position.js +5 -0
- package/dist/src/position.js.map +1 -1
- package/dist/src/proto/gen/src/proto/ipfs_pb.d.ts +2 -2
- package/dist/src/proto/gen/src/proto/ipfs_pb.d.ts.map +1 -1
- package/dist/src/proto/gen/src/proto/ipfs_pb.js +103 -103
- package/dist/src/proto/gen/src/proto/ipfs_pb.js.map +1 -1
- package/dist/src/relation.d.ts +5 -0
- package/dist/src/relation.d.ts.map +1 -1
- package/dist/src/relation.js +5 -0
- package/dist/src/relation.js.map +1 -1
- package/dist/src/scheme.d.ts +5 -0
- package/dist/src/scheme.d.ts.map +1 -1
- package/dist/src/scheme.js +5 -0
- package/dist/src/scheme.js.map +1 -1
- package/dist/src/system-ids.d.ts +5 -0
- package/dist/src/system-ids.d.ts.map +1 -1
- package/dist/src/system-ids.js +5 -0
- package/dist/src/system-ids.js.map +1 -1
- package/dist/src/triple.d.ts +5 -0
- package/dist/src/triple.d.ts.map +1 -1
- package/dist/src/triple.js +5 -0
- package/dist/src/triple.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with data blocks
|
|
3
|
+
* in TypeScript.
|
|
4
|
+
*
|
|
5
|
+
* @since 0.0.6
|
|
6
|
+
*/
|
|
1
7
|
import type { CreateRelationOp, SetTripleOp } from '../../types.js';
|
|
2
8
|
type DataBlockSourceType = 'QUERY' | 'COLLECTION' | 'GEO';
|
|
3
9
|
type DataBlockArgs = {
|
|
@@ -6,6 +12,23 @@ type DataBlockArgs = {
|
|
|
6
12
|
position?: string;
|
|
7
13
|
name?: string;
|
|
8
14
|
};
|
|
15
|
+
/**
|
|
16
|
+
* Returns the ops to create an entity representing a Data Block.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const ops = DataBlock.make({
|
|
21
|
+
* fromId: 'from-id',
|
|
22
|
+
* sourceType: 'COLLECTION',
|
|
23
|
+
* // optional
|
|
24
|
+
* position: 'position-string',
|
|
25
|
+
* name: 'name',
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @param param args {@link TextBlockArgs}
|
|
30
|
+
* @returns ops – The ops for the Data Block entity: {@link Op}[]
|
|
31
|
+
*/
|
|
9
32
|
export declare function make({ fromId, sourceType, position, name }: DataBlockArgs): (SetTripleOp | CreateRelationOp)[];
|
|
10
33
|
export {};
|
|
11
34
|
//# sourceMappingURL=data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../src/core/blocks/data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../../src/core/blocks/data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEpE,KAAK,mBAAmB,GAAG,OAAO,GAAG,YAAY,GAAG,KAAK,CAAC;AAa1D,KAAK,aAAa,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,mBAAmB,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3G;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,aAAa,GAAG,CAAC,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAuC9G"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with data blocks
|
|
3
|
+
* in TypeScript.
|
|
4
|
+
*
|
|
5
|
+
* @since 0.0.6
|
|
6
|
+
*/
|
|
1
7
|
import { make as makeId } from '../../id.js';
|
|
2
8
|
import { Relation } from '../../relation.js';
|
|
3
9
|
import { SYSTEM_IDS } from '../../system-ids.js';
|
|
@@ -11,6 +17,23 @@ function getSourceTypeId(sourceType) {
|
|
|
11
17
|
return SYSTEM_IDS.QUERY_DATA_SOURCE;
|
|
12
18
|
}
|
|
13
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns the ops to create an entity representing a Data Block.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* const ops = DataBlock.make({
|
|
26
|
+
* fromId: 'from-id',
|
|
27
|
+
* sourceType: 'COLLECTION',
|
|
28
|
+
* // optional
|
|
29
|
+
* position: 'position-string',
|
|
30
|
+
* name: 'name',
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @param param args {@link TextBlockArgs}
|
|
35
|
+
* @returns ops – The ops for the Data Block entity: {@link Op}[]
|
|
36
|
+
*/
|
|
14
37
|
export function make({ fromId, sourceType, position, name }) {
|
|
15
38
|
const newBlockId = makeId();
|
|
16
39
|
const dataBlockType = Relation.make({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/core/blocks/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD,SAAS,eAAe,CAAC,UAA+B;IACtD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,sBAAsB,CAAC;QAC3C,KAAK,KAAK;YACR,OAAO,UAAU,CAAC,sBAAsB,CAAC;QAC3C,KAAK,OAAO;YACV,OAAO,UAAU,CAAC,iBAAiB,CAAC;IACxC,CAAC;AACH,CAAC;AAID,MAAM,UAAU,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAiB;IACxE,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;IAE5B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,UAAU,CAAC,eAAe;QAC1C,IAAI,EAAE,UAAU,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC;QACxC,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,UAAU,CAAC,8BAA8B;QACzD,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC;KAClC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC;QACtC,MAAM;QACN,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,GAAG,GAAuC,CAAC,aAAa,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAExG,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,SAAS,EAAE,UAAU,CAAC,cAAc;gBACpC,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE;oBACL,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,IAAI;iBACZ;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../../src/core/blocks/data.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD,SAAS,eAAe,CAAC,UAA+B;IACtD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,UAAU,CAAC,sBAAsB,CAAC;QAC3C,KAAK,KAAK;YACR,OAAO,UAAU,CAAC,sBAAsB,CAAC;QAC3C,KAAK,OAAO;YACV,OAAO,UAAU,CAAC,iBAAiB,CAAC;IACxC,CAAC;AACH,CAAC;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAiB;IACxE,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;IAE5B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,UAAU,CAAC,eAAe;QAC1C,IAAI,EAAE,UAAU,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC;QACxC,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,UAAU,CAAC,8BAA8B;QACzD,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC;KAClC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC;QACtC,MAAM;QACN,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,GAAG,GAAuC,CAAC,aAAa,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAExG,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,SAAS,EAAE,UAAU,CAAC,cAAc;gBACpC,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE;oBACL,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,IAAI;iBACZ;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.test.d.ts","sourceRoot":"","sources":["../../../../src/core/blocks/data.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { expect, it } from 'vitest';
|
|
2
|
+
import { make } from './data.js';
|
|
3
|
+
import { SYSTEM_IDS } from '~/src/system-ids.js';
|
|
4
|
+
it('should generate ops for a data block entity', () => {
|
|
5
|
+
const ops = make({
|
|
6
|
+
fromId: 'test-entity-id',
|
|
7
|
+
sourceType: 'QUERY',
|
|
8
|
+
position: 'test-position',
|
|
9
|
+
});
|
|
10
|
+
const [blockTypeOp, blockSourceTypeOp, blockRelationOp] = ops;
|
|
11
|
+
expect(blockTypeOp?.type).toBe('CREATE_RELATION');
|
|
12
|
+
if (blockTypeOp?.type === 'CREATE_RELATION') {
|
|
13
|
+
expect(blockTypeOp?.relation.type).toBe(SYSTEM_IDS.TYPES_ATTRIBUTE);
|
|
14
|
+
expect(blockTypeOp?.relation.toEntity).toBe(SYSTEM_IDS.DATA_BLOCK);
|
|
15
|
+
}
|
|
16
|
+
expect(blockSourceTypeOp?.type).toBe('CREATE_RELATION');
|
|
17
|
+
if (blockSourceTypeOp?.type === 'CREATE_RELATION') {
|
|
18
|
+
expect(blockSourceTypeOp?.relation.type).toBe(SYSTEM_IDS.DATA_SOURCE_TYPE_RELATION_TYPE);
|
|
19
|
+
expect(blockSourceTypeOp?.relation.toEntity).toBe(SYSTEM_IDS.QUERY_DATA_SOURCE);
|
|
20
|
+
}
|
|
21
|
+
expect(blockRelationOp?.type).toBe('CREATE_RELATION');
|
|
22
|
+
if (blockRelationOp?.type === 'CREATE_RELATION') {
|
|
23
|
+
expect(blockRelationOp?.relation.type).toBe(SYSTEM_IDS.BLOCKS);
|
|
24
|
+
expect(blockRelationOp?.relation.fromEntity).toBe('test-entity-id');
|
|
25
|
+
}
|
|
26
|
+
expect(ops.length).toBe(3);
|
|
27
|
+
});
|
|
28
|
+
it('should generate ops for a data block entity with a name', () => {
|
|
29
|
+
const ops = make({
|
|
30
|
+
fromId: 'test-entity-id',
|
|
31
|
+
sourceType: 'QUERY',
|
|
32
|
+
position: 'test-position',
|
|
33
|
+
name: 'test-name',
|
|
34
|
+
});
|
|
35
|
+
const [blockTypeOp, blockSourceTypeOp, blockRelationOp, blockNameOp] = ops;
|
|
36
|
+
expect(blockTypeOp?.type).toBe('CREATE_RELATION');
|
|
37
|
+
if (blockTypeOp?.type === 'CREATE_RELATION') {
|
|
38
|
+
expect(blockTypeOp?.relation.type).toBe(SYSTEM_IDS.TYPES_ATTRIBUTE);
|
|
39
|
+
expect(blockTypeOp?.relation.toEntity).toBe(SYSTEM_IDS.DATA_BLOCK);
|
|
40
|
+
}
|
|
41
|
+
expect(blockSourceTypeOp?.type).toBe('CREATE_RELATION');
|
|
42
|
+
if (blockSourceTypeOp?.type === 'CREATE_RELATION') {
|
|
43
|
+
expect(blockSourceTypeOp?.relation.type).toBe(SYSTEM_IDS.DATA_SOURCE_TYPE_RELATION_TYPE);
|
|
44
|
+
expect(blockSourceTypeOp?.relation.toEntity).toBe(SYSTEM_IDS.QUERY_DATA_SOURCE);
|
|
45
|
+
}
|
|
46
|
+
expect(blockRelationOp?.type).toBe('CREATE_RELATION');
|
|
47
|
+
if (blockRelationOp?.type === 'CREATE_RELATION') {
|
|
48
|
+
expect(blockRelationOp?.relation.type).toBe(SYSTEM_IDS.BLOCKS);
|
|
49
|
+
expect(blockRelationOp?.relation.fromEntity).toBe('test-entity-id');
|
|
50
|
+
}
|
|
51
|
+
expect(blockNameOp?.type).toBe('SET_TRIPLE');
|
|
52
|
+
if (blockNameOp?.type === 'SET_TRIPLE') {
|
|
53
|
+
expect(blockNameOp?.triple.attribute).toBe(SYSTEM_IDS.NAME_ATTRIBUTE);
|
|
54
|
+
expect(blockNameOp?.triple.value.type).toBe('TEXT');
|
|
55
|
+
expect(blockNameOp?.triple.value.value).toBe('test-name');
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=data.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.test.js","sourceRoot":"","sources":["../../../../src/core/blocks/data.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with image blocks
|
|
3
|
+
* in TypeScript.
|
|
4
|
+
*
|
|
5
|
+
* @since 0.0.6
|
|
6
|
+
*/
|
|
1
7
|
/**
|
|
2
8
|
* Image entities and Image Blocks are functionally the same thing. The
|
|
3
9
|
* relation consuming the entity is what gives it contextual meaning. e.g.,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/core/blocks/image.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../../src/core/blocks/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with image blocks
|
|
3
|
+
* in TypeScript.
|
|
4
|
+
*
|
|
5
|
+
* @since 0.0.6
|
|
6
|
+
*/
|
|
1
7
|
/**
|
|
2
8
|
* Image entities and Image Blocks are functionally the same thing. The
|
|
3
9
|
* relation consuming the entity is what gives it contextual meaning. e.g.,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../src/core/blocks/image.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../src/core/blocks/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;GAMG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,9 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with text blocks
|
|
3
|
+
* in TypeScript.
|
|
4
|
+
*
|
|
5
|
+
* @since 0.0.6
|
|
6
|
+
*/
|
|
1
7
|
import type { Op } from '../../types.js';
|
|
2
8
|
type TextBlockArgs = {
|
|
3
9
|
fromId: string;
|
|
4
10
|
text: string;
|
|
5
11
|
position?: string;
|
|
6
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Returns the ops to create an entity representing a Text Block.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const ops = TextBlock.make({
|
|
19
|
+
* fromId: 'from-id',
|
|
20
|
+
* text: 'text',
|
|
21
|
+
* // optional
|
|
22
|
+
* position: 'position-string',
|
|
23
|
+
* });
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @param param args {@link TextBlockArgs}
|
|
27
|
+
* @returns ops – The ops for the Text Block entity: {@link Op}[]
|
|
28
|
+
*/
|
|
7
29
|
export declare function make({ fromId, text, position }: TextBlockArgs): Op[];
|
|
8
30
|
export {};
|
|
9
31
|
//# sourceMappingURL=text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/core/blocks/text.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/core/blocks/text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEzC,KAAK,aAAa,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,CA6BpE"}
|
|
@@ -1,6 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with text blocks
|
|
3
|
+
* in TypeScript.
|
|
4
|
+
*
|
|
5
|
+
* @since 0.0.6
|
|
6
|
+
*/
|
|
1
7
|
import { make as makeId } from '../../id.js';
|
|
2
8
|
import { Relation } from '../../relation.js';
|
|
3
9
|
import { SYSTEM_IDS } from '../../system-ids.js';
|
|
10
|
+
/**
|
|
11
|
+
* Returns the ops to create an entity representing a Text Block.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const ops = TextBlock.make({
|
|
16
|
+
* fromId: 'from-id',
|
|
17
|
+
* text: 'text',
|
|
18
|
+
* // optional
|
|
19
|
+
* position: 'position-string',
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @param param args {@link TextBlockArgs}
|
|
24
|
+
* @returns ops – The ops for the Text Block entity: {@link Op}[]
|
|
25
|
+
*/
|
|
4
26
|
export function make({ fromId, text, position }) {
|
|
5
27
|
const newBlockId = makeId();
|
|
6
28
|
const textBlockType = Relation.make({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../../src/core/blocks/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD,MAAM,UAAU,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAiB;IAC5D,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;IAE5B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,UAAU,CAAC,eAAe;QAC1C,IAAI,EAAE,UAAU,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG;QAC5B,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,SAAS,EAAE,UAAU,CAAC,gBAAgB;YACtC,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI;aACZ;SACF;KACO,CAAC;IAEX,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC;QACtC,MAAM;QACN,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CAAC,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;AACnE,CAAC"}
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../../src/core/blocks/text.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAKjD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAiB;IAC5D,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;IAE5B,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,MAAM,EAAE,UAAU;QAClB,cAAc,EAAE,UAAU,CAAC,eAAe;QAC1C,IAAI,EAAE,UAAU,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG;QAC5B,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,SAAS,EAAE,UAAU,CAAC,gBAAgB;YACtC,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI;aACZ;SACF;KACO,CAAC;IAEX,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC;QACtC,MAAM;QACN,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CAAC,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.test.d.ts","sourceRoot":"","sources":["../../../../src/core/blocks/text.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { expect, it } from 'vitest';
|
|
2
|
+
import { make } from './text.js';
|
|
3
|
+
import { SYSTEM_IDS } from '~/src/system-ids.js';
|
|
4
|
+
it('should generate ops for a text block entity', () => {
|
|
5
|
+
const ops = make({
|
|
6
|
+
fromId: 'test-entity-id',
|
|
7
|
+
text: 'test-text',
|
|
8
|
+
position: 'test-position',
|
|
9
|
+
});
|
|
10
|
+
const [blockTypeOp, blockMarkdownTextOp, blockRelationOp] = ops;
|
|
11
|
+
expect(blockTypeOp?.type).toBe('CREATE_RELATION');
|
|
12
|
+
if (blockTypeOp?.type === 'CREATE_RELATION') {
|
|
13
|
+
expect(blockTypeOp?.relation.type).toBe(SYSTEM_IDS.TYPES_ATTRIBUTE);
|
|
14
|
+
expect(blockTypeOp?.relation.toEntity).toBe(SYSTEM_IDS.TEXT_BLOCK);
|
|
15
|
+
}
|
|
16
|
+
expect(blockMarkdownTextOp?.type).toBe('SET_TRIPLE');
|
|
17
|
+
if (blockMarkdownTextOp?.type === 'SET_TRIPLE') {
|
|
18
|
+
expect(blockMarkdownTextOp?.triple.attribute).toBe(SYSTEM_IDS.MARKDOWN_CONTENT);
|
|
19
|
+
expect(blockMarkdownTextOp?.triple.value.type).toBe('TEXT');
|
|
20
|
+
expect(blockMarkdownTextOp?.triple.value.value).toBe('test-text');
|
|
21
|
+
}
|
|
22
|
+
expect(blockRelationOp?.type).toBe('CREATE_RELATION');
|
|
23
|
+
if (blockRelationOp?.type === 'CREATE_RELATION') {
|
|
24
|
+
expect(blockRelationOp?.relation.type).toBe(SYSTEM_IDS.BLOCKS);
|
|
25
|
+
expect(blockRelationOp?.relation.fromEntity).toBe('test-entity-id');
|
|
26
|
+
}
|
|
27
|
+
expect(ops.length).toBe(3);
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=text.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.test.js","sourceRoot":"","sources":["../../../../src/core/blocks/text.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC;QACf,MAAM,EAAE,gBAAgB;QACxB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IAEH,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,eAAe,CAAC,GAAG,GAAG,CAAC;IAEhE,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAI,WAAW,EAAE,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC5C,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QACpE,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,mBAAmB,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;QAC/C,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAChF,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACtD,IAAI,eAAe,EAAE,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAChD,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC"}
|
package/dist/src/core/image.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with knowledge graph
|
|
3
|
+
* images in TypeScript.
|
|
4
|
+
*
|
|
5
|
+
* @since 0.0.6
|
|
6
|
+
*/
|
|
1
7
|
import type { CreateRelationOp, SetTripleOp } from '../types.js';
|
|
2
8
|
type MakeImageReturnType = {
|
|
3
9
|
imageId: string;
|
|
@@ -6,7 +12,15 @@ type MakeImageReturnType = {
|
|
|
6
12
|
/**
|
|
7
13
|
* Creates an entity representing an Image.
|
|
8
14
|
*
|
|
9
|
-
* @
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* const { imageId, ops } = Image.make('https://example.com/image.png');
|
|
18
|
+
* console.log(imageId); // 'gw9uTVTnJdhtczyuzBkL3X'
|
|
19
|
+
* console.log(ops); // [...]
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @returns imageId – base58 encoded v4 uuid representing the image entity: {@link MakeImageReturnType}
|
|
23
|
+
* @returns ops – The ops for the Image entity: {@link MakeImageReturnType}
|
|
10
24
|
*/
|
|
11
25
|
export declare function make(src: string): MakeImageReturnType;
|
|
12
26
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/core/image.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/core/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAM,WAAW,EAAE,MAAM,aAAa,CAAC;AAErE,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;CACtC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAwBrD"}
|
package/dist/src/core/image.js
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with knowledge graph
|
|
3
|
+
* images in TypeScript.
|
|
4
|
+
*
|
|
5
|
+
* @since 0.0.6
|
|
6
|
+
*/
|
|
1
7
|
import { make as makeId } from '../id.js';
|
|
2
8
|
import { Relation } from '../relation.js';
|
|
3
9
|
import { SYSTEM_IDS } from '../system-ids.js';
|
|
4
10
|
/**
|
|
5
11
|
* Creates an entity representing an Image.
|
|
6
12
|
*
|
|
7
|
-
* @
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const { imageId, ops } = Image.make('https://example.com/image.png');
|
|
16
|
+
* console.log(imageId); // 'gw9uTVTnJdhtczyuzBkL3X'
|
|
17
|
+
* console.log(ops); // [...]
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @returns imageId – base58 encoded v4 uuid representing the image entity: {@link MakeImageReturnType}
|
|
21
|
+
* @returns ops – The ops for the Image entity: {@link MakeImageReturnType}
|
|
8
22
|
*/
|
|
9
23
|
export function make(src) {
|
|
10
24
|
const entityId = makeId();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/core/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/core/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,IAAI,CAAC,GAAW;IAC9B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;IAE1B,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE;YACH,QAAQ,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,UAAU,CAAC,UAAU;gBAC3B,cAAc,EAAE,UAAU,CAAC,eAAe;aAC3C,CAAC;YACF;gBACE,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE;oBACN,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,UAAU,CAAC,mBAAmB;oBACzC,KAAK,EAAE;wBACL,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,GAAG;qBACX;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.test.d.ts","sourceRoot":"","sources":["../../../src/core/image.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { expect, it } from 'vitest';
|
|
2
|
+
import { make } from './image.js';
|
|
3
|
+
import { SYSTEM_IDS } from '../system-ids.js';
|
|
4
|
+
import { INITIAL_RELATION_INDEX_VALUE } from '~/constants.js';
|
|
5
|
+
it('should generate ops for an image entity', () => {
|
|
6
|
+
const { imageId, ops } = make('https://example.com/image.png');
|
|
7
|
+
const [createRelationOp, setTripleOp] = ops;
|
|
8
|
+
// We check each field individually since we don't know the id of the relation
|
|
9
|
+
expect(createRelationOp.type).toEqual('CREATE_RELATION');
|
|
10
|
+
expect(createRelationOp.relation.type).toBe(SYSTEM_IDS.TYPES_ATTRIBUTE);
|
|
11
|
+
expect(createRelationOp.relation.fromEntity).toBe(imageId);
|
|
12
|
+
expect(createRelationOp.relation.toEntity).toBe(SYSTEM_IDS.IMAGE_TYPE);
|
|
13
|
+
expect(createRelationOp.relation.index).toBe(INITIAL_RELATION_INDEX_VALUE);
|
|
14
|
+
expect(setTripleOp).toEqual({
|
|
15
|
+
type: 'SET_TRIPLE',
|
|
16
|
+
triple: {
|
|
17
|
+
attribute: SYSTEM_IDS.IMAGE_URL_ATTRIBUTE,
|
|
18
|
+
entity: imageId,
|
|
19
|
+
value: {
|
|
20
|
+
type: 'URL',
|
|
21
|
+
value: 'https://example.com/image.png',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=image.test.js.map
|
|
@@ -0,0 +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,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE9D,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACjD,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/D,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG,GAAG,CAAC;IAE5C,8EAA8E;IAC9E,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACxE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACvE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAE3E,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;QAC1B,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,SAAS,EAAE,UAAU,CAAC,mBAAmB;YACzC,MAAM,EAAE,OAAO;YACf,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,+BAA+B;aACvC;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../src/core/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,QAAQ,gBAAuB,CAAC;AAE7C,eAAO,MAAM,aAAa;;;CAGzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../src/core/position.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,eAAO,MAAM,QAAQ,gBAAuB,CAAC;AAE7C,eAAO,MAAM,aAAa;;;CAGzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/core/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,cAAc,CAAC,KAAK;IAC3B,IAAI,EAAE,cAAc,CAAC,IAAI;CAC1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/core/position.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,cAAc,CAAC,KAAK;IAC3B,IAAI,EAAE,cAAc,CAAC,IAAI;CAC1B,CAAC"}
|
|
@@ -1,5 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with Relations in TypeScript.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.0.6
|
|
5
|
+
*/
|
|
1
6
|
import { SYSTEM_IDS } from '../system-ids.js';
|
|
2
7
|
import type { CreateRelationOp, DeleteRelationOp } from '../types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Arguments for creating a new Relation.
|
|
10
|
+
*
|
|
11
|
+
* @param relationId - optional base58 encoded v4 uuid
|
|
12
|
+
* @param fromId - base58 encoded v4 uuid
|
|
13
|
+
* @param toId - base58 encoded v4 uuid
|
|
14
|
+
* @param relationTypeId - base58 encoded v4 uuid
|
|
15
|
+
* @param position - optional fractional index using position-strings
|
|
16
|
+
*/
|
|
3
17
|
interface CreateRelationArgs {
|
|
4
18
|
relationId?: string;
|
|
5
19
|
fromId: string;
|
|
@@ -7,7 +21,36 @@ interface CreateRelationArgs {
|
|
|
7
21
|
relationTypeId: string;
|
|
8
22
|
position?: string;
|
|
9
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Generates ops for a new Relation.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* const ops = Relation.make({
|
|
30
|
+
* fromId: 'from-id',
|
|
31
|
+
* toId: 'to-id',
|
|
32
|
+
* relationTypeId: 'relation-type-id',
|
|
33
|
+
* // optional
|
|
34
|
+
* relationId: 'relation-id',
|
|
35
|
+
* position: 'position-string',
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @param args {@link CreateRelationArgs}
|
|
40
|
+
* @returns – {@link CreateRelationOp}
|
|
41
|
+
*/
|
|
10
42
|
export declare function make(args: CreateRelationArgs): CreateRelationOp;
|
|
43
|
+
/**
|
|
44
|
+
* Generates ops for deleting a Relation.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* const op = Relation.remove('relation-id');
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @param relationId – base58 encoded v4 uuid representing the relation's entity id
|
|
52
|
+
* @returns – {@link DeleteRelationOp}
|
|
53
|
+
*/
|
|
11
54
|
export declare function remove(relationId: string): DeleteRelationOp;
|
|
12
55
|
interface ReorderRelationArgs {
|
|
13
56
|
relationId: string;
|
|
@@ -25,6 +68,21 @@ type ReorderRelationOp = {
|
|
|
25
68
|
};
|
|
26
69
|
};
|
|
27
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Generates op for reordering a Relation using position-strings
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* const op = Relation.reorder({
|
|
77
|
+
* relationId: 'relation-id',
|
|
78
|
+
* beforeIndex: 'before-position',
|
|
79
|
+
* afterIndex: 'after-position',
|
|
80
|
+
* });
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* @param args {@link ReorderRelationArgs}
|
|
84
|
+
* @returns – {@link ReorderRelationOp}
|
|
85
|
+
*/
|
|
28
86
|
export declare function reorder(args: ReorderRelationArgs): ReorderRelationOp;
|
|
29
87
|
export {};
|
|
30
88
|
//# sourceMappingURL=relation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../src/core/relation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../src/core/relation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGtE;;;;;;;;GAQG;AACH,UAAU,kBAAkB;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;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,gBAAgB,CAa/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAO3D;AAED,UAAU,mBAAmB;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,UAAU,CAAC,cAAc,CAAC;QAC5C,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,mBAAmB,GAAG,iBAAiB,CAcpE"}
|
|
@@ -1,7 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This module provides utility functions for working with Relations in TypeScript.
|
|
3
|
+
*
|
|
4
|
+
* @since 0.0.6
|
|
5
|
+
*/
|
|
1
6
|
import { INITIAL_RELATION_INDEX_VALUE } from '../../constants.js';
|
|
2
7
|
import { make as makeId } from '../id.js';
|
|
3
8
|
import { SYSTEM_IDS } from '../system-ids.js';
|
|
4
9
|
import { Position } from './position.js';
|
|
10
|
+
/**
|
|
11
|
+
* Generates ops for a new Relation.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* const ops = Relation.make({
|
|
16
|
+
* fromId: 'from-id',
|
|
17
|
+
* toId: 'to-id',
|
|
18
|
+
* relationTypeId: 'relation-type-id',
|
|
19
|
+
* // optional
|
|
20
|
+
* relationId: 'relation-id',
|
|
21
|
+
* position: 'position-string',
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @param args {@link CreateRelationArgs}
|
|
26
|
+
* @returns – {@link CreateRelationOp}
|
|
27
|
+
*/
|
|
5
28
|
export function make(args) {
|
|
6
29
|
const newEntityId = args.relationId ?? makeId();
|
|
7
30
|
return {
|
|
@@ -15,6 +38,17 @@ export function make(args) {
|
|
|
15
38
|
},
|
|
16
39
|
};
|
|
17
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Generates ops for deleting a Relation.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* const op = Relation.remove('relation-id');
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @param relationId – base58 encoded v4 uuid representing the relation's entity id
|
|
50
|
+
* @returns – {@link DeleteRelationOp}
|
|
51
|
+
*/
|
|
18
52
|
export function remove(relationId) {
|
|
19
53
|
return {
|
|
20
54
|
type: 'DELETE_RELATION',
|
|
@@ -23,6 +57,21 @@ export function remove(relationId) {
|
|
|
23
57
|
},
|
|
24
58
|
};
|
|
25
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Generates op for reordering a Relation using position-strings
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```ts
|
|
65
|
+
* const op = Relation.reorder({
|
|
66
|
+
* relationId: 'relation-id',
|
|
67
|
+
* beforeIndex: 'before-position',
|
|
68
|
+
* afterIndex: 'after-position',
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*
|
|
72
|
+
* @param args {@link ReorderRelationArgs}
|
|
73
|
+
* @returns – {@link ReorderRelationOp}
|
|
74
|
+
*/
|
|
26
75
|
export function reorder(args) {
|
|
27
76
|
const newIndex = Position.createBetween(args.beforeIndex, args.afterIndex);
|
|
28
77
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../../src/core/relation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,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,IAAI,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAmBzC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,IAAI,CAAC,IAAwB;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,EAAE,CAAC;IAEhD,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,IAAyB;IAC/C,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,UAAU,CAAC,cAAc;YACpC,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,QAAQ;aAChB;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation.test.d.ts","sourceRoot":"","sources":["../../../src/core/relation.test.ts"],"names":[],"mappings":""}
|