@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.
Files changed (138) hide show
  1. package/README.md +12 -2
  2. package/dist/abis.d.ts +5 -0
  3. package/dist/abis.d.ts.map +1 -1
  4. package/dist/abis.js +5 -0
  5. package/dist/abis.js.map +1 -1
  6. package/dist/constants.d.ts +5 -0
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +5 -0
  9. package/dist/constants.js.map +1 -1
  10. package/dist/contracts.d.ts +28 -6
  11. package/dist/contracts.d.ts.map +1 -1
  12. package/dist/contracts.js +28 -9
  13. package/dist/contracts.js.map +1 -1
  14. package/dist/index.d.ts +43 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +43 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/proto.d.ts +12 -0
  19. package/dist/proto.d.ts.map +1 -1
  20. package/dist/proto.js +12 -0
  21. package/dist/proto.js.map +1 -1
  22. package/dist/src/account.d.ts +6 -0
  23. package/dist/src/account.d.ts.map +1 -1
  24. package/dist/src/account.js +6 -0
  25. package/dist/src/account.js.map +1 -1
  26. package/dist/src/blocks.d.ts +18 -0
  27. package/dist/src/blocks.d.ts.map +1 -1
  28. package/dist/src/blocks.js +18 -0
  29. package/dist/src/blocks.js.map +1 -1
  30. package/dist/src/core/account.d.ts +20 -0
  31. package/dist/src/core/account.d.ts.map +1 -1
  32. package/dist/src/core/account.js +20 -0
  33. package/dist/src/core/account.js.map +1 -1
  34. package/dist/src/core/account.test.d.ts +2 -0
  35. package/dist/src/core/account.test.d.ts.map +1 -0
  36. package/dist/src/core/account.test.js +25 -0
  37. package/dist/src/core/account.test.js.map +1 -0
  38. package/dist/src/core/base58.d.ts +6 -0
  39. package/dist/src/core/base58.d.ts.map +1 -1
  40. package/dist/src/core/base58.js +6 -0
  41. package/dist/src/core/base58.js.map +1 -1
  42. package/dist/src/core/base58.test.js +3 -1
  43. package/dist/src/core/base58.test.js.map +1 -1
  44. package/dist/src/core/blocks/data.d.ts +23 -0
  45. package/dist/src/core/blocks/data.d.ts.map +1 -1
  46. package/dist/src/core/blocks/data.js +23 -0
  47. package/dist/src/core/blocks/data.js.map +1 -1
  48. package/dist/src/core/blocks/data.test.d.ts +2 -0
  49. package/dist/src/core/blocks/data.test.d.ts.map +1 -0
  50. package/dist/src/core/blocks/data.test.js +58 -0
  51. package/dist/src/core/blocks/data.test.js.map +1 -0
  52. package/dist/src/core/blocks/image.d.ts +6 -0
  53. package/dist/src/core/blocks/image.d.ts.map +1 -1
  54. package/dist/src/core/blocks/image.js +6 -0
  55. package/dist/src/core/blocks/image.js.map +1 -1
  56. package/dist/src/core/blocks/text.d.ts +22 -0
  57. package/dist/src/core/blocks/text.d.ts.map +1 -1
  58. package/dist/src/core/blocks/text.js +22 -0
  59. package/dist/src/core/blocks/text.js.map +1 -1
  60. package/dist/src/core/blocks/text.test.d.ts +2 -0
  61. package/dist/src/core/blocks/text.test.d.ts.map +1 -0
  62. package/dist/src/core/blocks/text.test.js +29 -0
  63. package/dist/src/core/blocks/text.test.js.map +1 -0
  64. package/dist/src/core/image.d.ts +15 -1
  65. package/dist/src/core/image.d.ts.map +1 -1
  66. package/dist/src/core/image.js +15 -1
  67. package/dist/src/core/image.js.map +1 -1
  68. package/dist/src/core/image.test.d.ts +2 -0
  69. package/dist/src/core/image.test.d.ts.map +1 -0
  70. package/dist/src/core/image.test.js +26 -0
  71. package/dist/src/core/image.test.js.map +1 -0
  72. package/dist/src/core/position.d.ts +5 -0
  73. package/dist/src/core/position.d.ts.map +1 -1
  74. package/dist/src/core/position.js +5 -0
  75. package/dist/src/core/position.js.map +1 -1
  76. package/dist/src/core/relation.d.ts +58 -0
  77. package/dist/src/core/relation.d.ts.map +1 -1
  78. package/dist/src/core/relation.js +49 -0
  79. package/dist/src/core/relation.js.map +1 -1
  80. package/dist/src/core/relation.test.d.ts +2 -0
  81. package/dist/src/core/relation.test.d.ts.map +1 -0
  82. package/dist/src/core/relation.test.js +45 -0
  83. package/dist/src/core/relation.test.js.map +1 -0
  84. package/dist/src/core/scheme.d.ts +70 -1
  85. package/dist/src/core/scheme.d.ts.map +1 -1
  86. package/dist/src/core/scheme.js +84 -5
  87. package/dist/src/core/scheme.js.map +1 -1
  88. package/dist/src/core/scheme.test.d.ts +2 -0
  89. package/dist/src/core/scheme.test.d.ts.map +1 -0
  90. package/dist/src/core/scheme.test.js +34 -0
  91. package/dist/src/core/scheme.test.js.map +1 -0
  92. package/dist/src/core/triple.d.ts +36 -0
  93. package/dist/src/core/triple.d.ts.map +1 -1
  94. package/dist/src/core/triple.js +36 -0
  95. package/dist/src/core/triple.js.map +1 -1
  96. package/dist/src/core/triple.test.d.ts +2 -0
  97. package/dist/src/core/triple.test.d.ts.map +1 -0
  98. package/dist/src/core/triple.test.js +37 -0
  99. package/dist/src/core/triple.test.js.map +1 -0
  100. package/dist/src/id.d.ts +6 -0
  101. package/dist/src/id.d.ts.map +1 -1
  102. package/dist/src/id.js +16 -1
  103. package/dist/src/id.js.map +1 -1
  104. package/dist/src/id.test.d.ts +2 -0
  105. package/dist/src/id.test.d.ts.map +1 -0
  106. package/dist/src/id.test.js +11 -0
  107. package/dist/src/id.test.js.map +1 -0
  108. package/dist/src/image.d.ts +6 -0
  109. package/dist/src/image.d.ts.map +1 -1
  110. package/dist/src/image.js +6 -0
  111. package/dist/src/image.js.map +1 -1
  112. package/dist/src/position.d.ts +5 -0
  113. package/dist/src/position.d.ts.map +1 -1
  114. package/dist/src/position.js +5 -0
  115. package/dist/src/position.js.map +1 -1
  116. package/dist/src/proto/gen/src/proto/ipfs_pb.d.ts +2 -2
  117. package/dist/src/proto/gen/src/proto/ipfs_pb.d.ts.map +1 -1
  118. package/dist/src/proto/gen/src/proto/ipfs_pb.js +103 -103
  119. package/dist/src/proto/gen/src/proto/ipfs_pb.js.map +1 -1
  120. package/dist/src/relation.d.ts +5 -0
  121. package/dist/src/relation.d.ts.map +1 -1
  122. package/dist/src/relation.js +5 -0
  123. package/dist/src/relation.js.map +1 -1
  124. package/dist/src/scheme.d.ts +5 -0
  125. package/dist/src/scheme.d.ts.map +1 -1
  126. package/dist/src/scheme.js +5 -0
  127. package/dist/src/scheme.js.map +1 -1
  128. package/dist/src/system-ids.d.ts +5 -0
  129. package/dist/src/system-ids.d.ts.map +1 -1
  130. package/dist/src/system-ids.js +5 -0
  131. package/dist/src/system-ids.js.map +1 -1
  132. package/dist/src/triple.d.ts +5 -0
  133. package/dist/src/triple.d.ts.map +1 -1
  134. package/dist/src/triple.js +5 -0
  135. package/dist/src/triple.js.map +1 -1
  136. package/dist/src/types.d.ts +1 -1
  137. package/dist/src/types.d.ts.map +1 -1
  138. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ import { expect, it } from 'vitest';
2
+ import { make, remove, reorder } from './relation.js';
3
+ import { Position, PositionRange } from './position.js';
4
+ import { RELATION_INDEX } from './ids/system.js';
5
+ it('should generate CreateRelationOp for CREATE_RELATION', () => {
6
+ const op = make({
7
+ relationId: 'test-relation-id',
8
+ fromId: 'test-entity-id',
9
+ relationTypeId: 'test-relation-type-id',
10
+ toId: 'test-entity-id',
11
+ position: 'test-position',
12
+ });
13
+ expect(op).toEqual({
14
+ type: 'CREATE_RELATION',
15
+ relation: {
16
+ id: 'test-relation-id',
17
+ type: 'test-relation-type-id',
18
+ fromEntity: 'test-entity-id',
19
+ toEntity: 'test-entity-id',
20
+ index: 'test-position',
21
+ },
22
+ });
23
+ });
24
+ it('should generate DeleteRelationOp for DELETE_RELATION', () => {
25
+ const op = remove('test-relation-id');
26
+ expect(op).toEqual({
27
+ type: 'DELETE_RELATION',
28
+ relation: {
29
+ id: 'test-relation-id',
30
+ },
31
+ });
32
+ });
33
+ it('should generate Op that places the fractional indexer between the two provided values', () => {
34
+ const op = reorder({
35
+ relationId: 'test-relation-id',
36
+ beforeIndex: PositionRange.FIRST,
37
+ afterIndex: PositionRange.LAST,
38
+ });
39
+ expect(op.type).toBe('SET_TRIPLE');
40
+ expect(op.triple.attribute).toBe(RELATION_INDEX);
41
+ expect(op.triple.entity).toBe('test-relation-id');
42
+ expect(op.triple.value.type).toBe('TEXT');
43
+ // @TODO how do we test that the resulting value is in-between the two indexes?
44
+ });
45
+ //# sourceMappingURL=relation.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation.test.js","sourceRoot":"","sources":["../../../src/core/relation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;IAC9D,MAAM,EAAE,GAAG,IAAI,CAAC;QACd,UAAU,EAAE,kBAAkB;QAC9B,MAAM,EAAE,gBAAgB;QACxB,cAAc,EAAE,uBAAuB;QACvC,IAAI,EAAE,gBAAgB;QACtB,QAAQ,EAAE,eAAe;KAC1B,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE;YACR,EAAE,EAAE,kBAAkB;YACtB,IAAI,EAAE,uBAAuB;YAC7B,UAAU,EAAE,gBAAgB;YAC5B,QAAQ,EAAE,gBAAgB;YAC1B,KAAK,EAAE,eAAe;SACvB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;IAC9D,MAAM,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEtC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE;YACR,EAAE,EAAE,kBAAkB;SACvB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;IAC/F,MAAM,EAAE,GAAG,OAAO,CAAC;QACjB,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE,aAAa,CAAC,KAAK;QAChC,UAAU,EAAE,aAAa,CAAC,IAAI;KAC/B,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,+EAA+E;AACjF,CAAC,CAAC,CAAC"}
@@ -1,10 +1,79 @@
1
+ /**
2
+ * This module provides utility functions for working with Graph URIs in TypeScript.
3
+ *
4
+ * @since 0.0.6
5
+ */
1
6
  type GraphUri = `graph://${string}`;
2
7
  type SchemeQueryParams = {
3
8
  spaceId?: string;
4
- versionId?: string;
5
9
  };
10
+ /**
11
+ * Encodes an entity id into a Graph URI. Optionally, you can specify a space id to be included in the URI.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const uri = GraphUrl.fromEntityId('entity-id');
16
+ * console.log(uri); // graph://entity-id
17
+ *
18
+ * const uriWithSpaceId = GraphUrl.fromEntityId('entity-id', { spaceId: 'space-id' });
19
+ * console.log(uriWithSpaceId); // graph://entity-id?s=space-id
20
+ * ```
21
+ *
22
+ * @param entityId base58 encoded v4 uuid
23
+ * @param params optional params: {@link SchemeQueryParams}
24
+ * @returns Graph URI: {@link GraphUri}
25
+ */
6
26
  export declare function fromEntityId(entityId: string, params?: SchemeQueryParams): GraphUri;
27
+ /**
28
+ * Returns true if the provided value is a valid Graph URI.
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * const shouldBeTrue = GraphUrl.isValid('graph://entity-id');
33
+ * console.log(shouldBeTrue); // true
34
+ *
35
+ * const shouldBeFalse = GraphUrl.isValid('entity-id');
36
+ * console.log(shouldBeFalse); // false
37
+ * ```
38
+ *
39
+ * @param value – Graph URI: {@link GraphUri}
40
+ * @returns – `true` if the value is a valid Graph URI, `false` otherwise
41
+ */
7
42
  export declare function isValid(value: string): value is GraphUri;
43
+ /**
44
+ * Decodes the entity id from a Graph URI. Throws an error if the URI is not valid.
45
+ *
46
+ * @example
47
+ * ```ts
48
+ * const entityId = GraphUrl.toEntityId('graph://entity-id');
49
+ * console.log(entityId); // entity-id
50
+ *
51
+ * const entityIdWithSpaceId = GraphUrl.toEntityId('graph://entity-id?s=space-id');
52
+ * console.log(entityIdWithSpaceId); // entity-id
53
+ *
54
+ * const entityId = GraphUrl.toEntityId('invalid-uri'); // throws
55
+ * ```
56
+ *
57
+ * @param uri – Graph URI: {@link GraphUri}
58
+ * @returns – base58 encoded v4 uuid representing an entity
59
+ * @throws Error if the URI is not valid
60
+ */
8
61
  export declare function toEntityId(uri: GraphUri): string;
62
+ /**
63
+ * Decodes the space id from a Graph URI. Throws an error if the URI is not valid.
64
+ *
65
+ * @example
66
+ * ```ts
67
+ * const spaceId = GraphUrl.toSpaceId('graph://entity-id?s=space-id');
68
+ * console.log(spaceId); // space-id
69
+ *
70
+ * const spaceId = GraphUrl.toSpaceId('graph://entity-id'); // throws
71
+ * ```
72
+ *
73
+ * @param uri – Graph URI: {@link GraphUri}
74
+ * @returns – base58 encoded v4 uuid representing a space
75
+ * @throws Error if the URI is not valid
76
+ */
77
+ export declare function toSpaceId(uri: GraphUri): string;
9
78
  export {};
10
79
  //# sourceMappingURL=scheme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheme.d.ts","sourceRoot":"","sources":["../../../src/core/scheme.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,WAAW,MAAM,EAAE,CAAC;AAEpC,KAAK,iBAAiB,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,iBAAsB,GAAG,QAAQ,CAYvF;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAExD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAQhD"}
1
+ {"version":3,"file":"scheme.d.ts","sourceRoot":"","sources":["../../../src/core/scheme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,KAAK,QAAQ,GAAG,WAAW,MAAM,EAAE,CAAC;AAEpC,KAAK,iBAAiB,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAKF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,iBAAsB,GAAG,QAAQ,CAYvF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,QAAQ,CAExD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAQhD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,CAS/C"}
@@ -1,21 +1,100 @@
1
+ /**
2
+ * This module provides utility functions for working with Graph URIs in TypeScript.
3
+ *
4
+ * @since 0.0.6
5
+ */
6
+ const SPACE_SEARCH_PARAM = 's';
7
+ const SCHEME_PREFIX = 'graph';
8
+ /**
9
+ * Encodes an entity id into a Graph URI. Optionally, you can specify a space id to be included in the URI.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const uri = GraphUrl.fromEntityId('entity-id');
14
+ * console.log(uri); // graph://entity-id
15
+ *
16
+ * const uriWithSpaceId = GraphUrl.fromEntityId('entity-id', { spaceId: 'space-id' });
17
+ * console.log(uriWithSpaceId); // graph://entity-id?s=space-id
18
+ * ```
19
+ *
20
+ * @param entityId base58 encoded v4 uuid
21
+ * @param params optional params: {@link SchemeQueryParams}
22
+ * @returns Graph URI: {@link GraphUri}
23
+ */
1
24
  export function fromEntityId(entityId, params = {}) {
2
25
  if (isValid(entityId)) {
3
- throw new Error('The passed in entityId should not start with graph://');
26
+ throw new Error(`The passed in entityId should not start with ${SCHEME_PREFIX}://`);
4
27
  }
5
- let uri = `graph://${entityId}`;
28
+ let uri = `${SCHEME_PREFIX}://${entityId}`;
6
29
  if (params.spaceId) {
7
- uri = `${uri}?s=${params.spaceId}`;
30
+ uri = `${uri}?${SPACE_SEARCH_PARAM}=${params.spaceId}`;
8
31
  }
9
32
  return uri;
10
33
  }
34
+ /**
35
+ * Returns true if the provided value is a valid Graph URI.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * const shouldBeTrue = GraphUrl.isValid('graph://entity-id');
40
+ * console.log(shouldBeTrue); // true
41
+ *
42
+ * const shouldBeFalse = GraphUrl.isValid('entity-id');
43
+ * console.log(shouldBeFalse); // false
44
+ * ```
45
+ *
46
+ * @param value – Graph URI: {@link GraphUri}
47
+ * @returns – `true` if the value is a valid Graph URI, `false` otherwise
48
+ */
11
49
  export function isValid(value) {
12
- return value.startsWith('graph://');
50
+ return value.startsWith(`${SCHEME_PREFIX}://`);
13
51
  }
52
+ /**
53
+ * Decodes the entity id from a Graph URI. Throws an error if the URI is not valid.
54
+ *
55
+ * @example
56
+ * ```ts
57
+ * const entityId = GraphUrl.toEntityId('graph://entity-id');
58
+ * console.log(entityId); // entity-id
59
+ *
60
+ * const entityIdWithSpaceId = GraphUrl.toEntityId('graph://entity-id?s=space-id');
61
+ * console.log(entityIdWithSpaceId); // entity-id
62
+ *
63
+ * const entityId = GraphUrl.toEntityId('invalid-uri'); // throws
64
+ * ```
65
+ *
66
+ * @param uri – Graph URI: {@link GraphUri}
67
+ * @returns – base58 encoded v4 uuid representing an entity
68
+ * @throws Error if the URI is not valid
69
+ */
14
70
  export function toEntityId(uri) {
15
- const entity = uri.split('graph://')?.[1]?.split('?')[0];
71
+ const entity = uri.split(`${SCHEME_PREFIX}://`)?.[1]?.split('?')[0];
16
72
  if (!entity) {
17
73
  throw new Error(`Could not parse entity id from provided URI: ${uri}`);
18
74
  }
19
75
  return entity;
20
76
  }
77
+ /**
78
+ * Decodes the space id from a Graph URI. Throws an error if the URI is not valid.
79
+ *
80
+ * @example
81
+ * ```ts
82
+ * const spaceId = GraphUrl.toSpaceId('graph://entity-id?s=space-id');
83
+ * console.log(spaceId); // space-id
84
+ *
85
+ * const spaceId = GraphUrl.toSpaceId('graph://entity-id'); // throws
86
+ * ```
87
+ *
88
+ * @param uri – Graph URI: {@link GraphUri}
89
+ * @returns – base58 encoded v4 uuid representing a space
90
+ * @throws Error if the URI is not valid
91
+ */
92
+ export function toSpaceId(uri) {
93
+ const url = new URL(uri);
94
+ const searchParams = url.searchParams;
95
+ if (!searchParams.has(SPACE_SEARCH_PARAM)) {
96
+ throw new Error(`Could not parse space id from provided URI: ${uri}`);
97
+ }
98
+ return searchParams.get(SPACE_SEARCH_PARAM);
99
+ }
21
100
  //# sourceMappingURL=scheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheme.js","sourceRoot":"","sources":["../../../src/core/scheme.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,SAA4B,EAAE;IAC3E,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,GAAG,GAAa,WAAW,QAAQ,EAAE,CAAC;IAE1C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,GAAG,GAAG,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAa;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"scheme.js","sourceRoot":"","sources":["../../../src/core/scheme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,aAAa,GAAG,OAAO,CAAC;AAE9B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,SAA4B,EAAE;IAC3E,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,gDAAgD,aAAa,KAAK,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,GAAG,GAAa,GAAG,aAAa,MAAM,QAAQ,EAAE,CAAC;IAErD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,GAAG,GAAG,GAAG,GAAG,IAAI,kBAAkB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;IACzD,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,aAAa,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU,CAAC,GAAa;IACtC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CAAC,GAAa;IACrC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IAEtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,+CAA+C,GAAG,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAW,CAAC;AACxD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scheme.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheme.test.d.ts","sourceRoot":"","sources":["../../../src/core/scheme.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { fromEntityId, toEntityId, toSpaceId } from './scheme.js';
3
+ describe('fromEntityId', () => {
4
+ it('should return a valid graph uri', () => {
5
+ const uri = fromEntityId('test-entity-id');
6
+ expect(uri).toBe('graph://test-entity-id');
7
+ });
8
+ it('should return a valid graph uri with space id', () => {
9
+ const uri = fromEntityId('test-entity-id', { spaceId: 'test-space-id' });
10
+ expect(uri).toBe('graph://test-entity-id?s=test-space-id');
11
+ });
12
+ it('should throw error if entity id starts with graph://', () => {
13
+ expect(() => fromEntityId('graph://test-entity-id')).toThrowError();
14
+ });
15
+ });
16
+ describe('toEntityId', () => {
17
+ it('should return the entity id', () => {
18
+ const entityId = toEntityId('graph://test-entity-id');
19
+ expect(entityId).toBe('test-entity-id');
20
+ });
21
+ it('should throw error if entity id is not valid', () => {
22
+ expect(() => toEntityId('invalid id')).toThrowError();
23
+ });
24
+ });
25
+ describe('toSpaceId', () => {
26
+ it('should return the space id', () => {
27
+ const spaceId = toSpaceId('graph://test-entity-id?s=test-space-id');
28
+ expect(spaceId).toBe('test-space-id');
29
+ });
30
+ it('should throw error if space id is not valid', () => {
31
+ expect(() => toSpaceId('graph://test-entity-id')).toThrowError();
32
+ });
33
+ });
34
+ //# sourceMappingURL=scheme.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheme.test.js","sourceRoot":"","sources":["../../../src/core/scheme.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGlE,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,GAAG,GAAG,YAAY,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,wBAAwB,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,wBAAwB,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAwB,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,OAAO,GAAG,SAAS,CAAC,wCAAwC,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,14 +1,50 @@
1
+ /**
2
+ * This module provides utility functions for working with Triples in TypeScript.
3
+ *
4
+ * @since 0.0.6
5
+ */
1
6
  import type { DeleteTripleOp, SetTripleOp, Value } from '../types.js';
2
7
  interface CreateTripleArgs {
3
8
  attributeId: string;
4
9
  entityId: string;
5
10
  value: Value;
6
11
  }
12
+ /**
13
+ * Generates op for creating a new Triple.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const op = Triple.make({
18
+ * attributeId: 'attribute-id',
19
+ * entityId: 'entity-id',
20
+ * value: {
21
+ * type: 'TEXT',
22
+ * value: 'value',
23
+ * },
24
+ * });
25
+ * ```
26
+ * @param args – {@link CreateTripleArgs}
27
+ * @returns – {@link SetTripleOp}
28
+ */
7
29
  export declare function make(args: CreateTripleArgs): SetTripleOp;
8
30
  interface DeleteTripleArgs {
9
31
  attributeId: string;
10
32
  entityId: string;
11
33
  }
34
+ /**
35
+ * Generates op for deleting a Triple.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * const op = Triple.remove({
40
+ * attributeId: 'attribute-id',
41
+ * entityId: 'entity-id',
42
+ * });
43
+ * ```
44
+ *
45
+ * @param args – {@link DeleteTripleArgs}
46
+ * @returns – {@link DeleteTripleOp}
47
+ */
12
48
  export declare function remove(args: DeleteTripleArgs): DeleteTripleOp;
13
49
  export {};
14
50
  //# sourceMappingURL=triple.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"triple.d.ts","sourceRoot":"","sources":["../../../src/core/triple.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtE,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW,CASxD;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,cAAc,CAQ7D"}
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,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,WAAW,CASxD;AAED,UAAU,gBAAgB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,gBAAgB,GAAG,cAAc,CAQ7D"}
@@ -1,3 +1,25 @@
1
+ /**
2
+ * This module provides utility functions for working with Triples in TypeScript.
3
+ *
4
+ * @since 0.0.6
5
+ */
6
+ /**
7
+ * Generates op for creating a new Triple.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * const op = Triple.make({
12
+ * attributeId: 'attribute-id',
13
+ * entityId: 'entity-id',
14
+ * value: {
15
+ * type: 'TEXT',
16
+ * value: 'value',
17
+ * },
18
+ * });
19
+ * ```
20
+ * @param args – {@link CreateTripleArgs}
21
+ * @returns – {@link SetTripleOp}
22
+ */
1
23
  export function make(args) {
2
24
  return {
3
25
  type: 'SET_TRIPLE',
@@ -8,6 +30,20 @@ export function make(args) {
8
30
  },
9
31
  };
10
32
  }
33
+ /**
34
+ * Generates op for deleting a Triple.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * const op = Triple.remove({
39
+ * attributeId: 'attribute-id',
40
+ * entityId: 'entity-id',
41
+ * });
42
+ * ```
43
+ *
44
+ * @param args – {@link DeleteTripleArgs}
45
+ * @returns – {@link DeleteTripleOp}
46
+ */
11
47
  export function remove(args) {
12
48
  return {
13
49
  type: 'DELETE_TRIPLE',
@@ -1 +1 @@
1
- {"version":3,"file":"triple.js","sourceRoot":"","sources":["../../../src/core/triple.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,IAAI,CAAC,IAAsB;IACzC,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,MAAM,UAAU,MAAM,CAAC,IAAsB;IAC3C,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
+ {"version":3,"file":"triple.js","sourceRoot":"","sources":["../../../src/core/triple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,IAAI,CAAC,IAAsB;IACzC,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,IAAsB;IAC3C,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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=triple.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triple.test.d.ts","sourceRoot":"","sources":["../../../src/core/triple.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { expect, it } from 'vitest';
2
+ import { make, remove } from './triple.js';
3
+ it('should generate SetTripleOp for SET_TRIPLE', () => {
4
+ const op = make({
5
+ attributeId: 'test-attribute-id',
6
+ entityId: 'test-entity-id',
7
+ value: {
8
+ type: 'TEXT',
9
+ value: 'test value',
10
+ },
11
+ });
12
+ expect(op).toEqual({
13
+ type: 'SET_TRIPLE',
14
+ triple: {
15
+ attribute: 'test-attribute-id',
16
+ entity: 'test-entity-id',
17
+ value: {
18
+ type: 'TEXT',
19
+ value: 'test value',
20
+ },
21
+ },
22
+ });
23
+ });
24
+ it('should generate DeleteTripleOp for DELETE_TRIPLE', () => {
25
+ const op = remove({
26
+ attributeId: 'test-attribute-id',
27
+ entityId: 'test-entity-id',
28
+ });
29
+ expect(op).toEqual({
30
+ type: 'DELETE_TRIPLE',
31
+ triple: {
32
+ attribute: 'test-attribute-id',
33
+ entity: 'test-entity-id',
34
+ },
35
+ });
36
+ });
37
+ //# sourceMappingURL=triple.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triple.test.js","sourceRoot":"","sources":["../../../src/core/triple.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE3C,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;IACpD,MAAM,EAAE,GAAG,IAAI,CAAC;QACd,WAAW,EAAE,mBAAmB;QAChC,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAE;YACL,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,YAAY;SACpB;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,SAAS,EAAE,mBAAmB;YAC9B,MAAM,EAAE,gBAAgB;YACxB,KAAK,EAAE;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,YAAY;aACpB;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAC1D,MAAM,EAAE,GAAG,MAAM,CAAC;QAChB,WAAW,EAAE,mBAAmB;QAChC,QAAQ,EAAE,gBAAgB;KAC3B,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;QACjB,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE;YACN,SAAS,EAAE,mBAAmB;YAC9B,MAAM,EAAE,gBAAgB;SACzB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/dist/src/id.d.ts CHANGED
@@ -1,3 +1,9 @@
1
+ /**
2
+ * This module provides utility functions for working knowledge graph
3
+ * identifiers in TypeScript.
4
+ *
5
+ * @since 0.0.6
6
+ */
1
7
  /**
2
8
  * Generates a globally unique knowledge graph identifier.
3
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,WAInB"}
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;;;;;;;;;GAYG;AACH,wBAAgB,IAAI,WAenB"}
package/dist/src/id.js CHANGED
@@ -1,3 +1,9 @@
1
+ /**
2
+ * This module provides utility functions for working knowledge graph
3
+ * identifiers in TypeScript.
4
+ *
5
+ * @since 0.0.6
6
+ */
1
7
  import { v4 as uuidv4 } from 'uuid';
2
8
  import { encodeBase58 } from './core/base58.js';
3
9
  /**
@@ -16,6 +22,15 @@ import { encodeBase58 } from './core/base58.js';
16
22
  export function make() {
17
23
  const uuid = uuidv4();
18
24
  const stripped = uuid.replaceAll(/-/g, '');
19
- return encodeBase58(stripped);
25
+ const id = encodeBase58(stripped);
26
+ // In extremely rare occasions the id generator may result in ids that are
27
+ // 21 characters instead of 22. Theoretically the smallest length the id can
28
+ // generate is 16 characters, but only in specifically engineered cases.
29
+ //
30
+ // If this occurs we can generate again until we get a valid id.
31
+ if (id.length === 22) {
32
+ return id;
33
+ }
34
+ return make();
20
35
  }
21
36
  //# sourceMappingURL=id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,IAAI;IAClB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/id.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,IAAI;IAClB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAElC,0EAA0E;IAC1E,4EAA4E;IAC5E,wEAAwE;IACxE,EAAE;IACF,gEAAgE;IAChE,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=id.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.test.d.ts","sourceRoot":"","sources":["../../src/id.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { expect, it } from 'vitest';
2
+ import { BASE58_ALLOWED_CHARS } from './core/base58.js';
3
+ import { make } from './id.js';
4
+ // @NOTE this would be a good candidate for DST-style tests
5
+ it('should generate valid base58 encoded id with length of 22', () => {
6
+ const id = make();
7
+ expect(id).toBeTypeOf('string');
8
+ expect(id.length).toBe(22);
9
+ expect(id.split('').every(char => BASE58_ALLOWED_CHARS.includes(char))).toBe(true);
10
+ });
11
+ //# sourceMappingURL=id.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.test.js","sourceRoot":"","sources":["../../src/id.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,2DAA2D;AAC3D,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;IACnE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC"}
@@ -1,2 +1,8 @@
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
  export * as Image from './core/image.js';
2
8
  //# sourceMappingURL=image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC"}
package/dist/src/image.js CHANGED
@@ -1,2 +1,8 @@
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
  export * as Image from './core/image.js';
2
8
  //# sourceMappingURL=image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC"}
@@ -1,2 +1,7 @@
1
+ /**
2
+ * This module provides utility functions for working with fractional indexes in TypeScript.
3
+ *
4
+ * @since 0.0.6
5
+ */
1
6
  export { PositionRange, Position } from './core/position.js';
2
7
  //# sourceMappingURL=position.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/position.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,2 +1,7 @@
1
+ /**
2
+ * This module provides utility functions for working with fractional indexes in TypeScript.
3
+ *
4
+ * @since 0.0.6
5
+ */
1
6
  export { PositionRange, Position } from './core/position.js';
2
7
  //# sourceMappingURL=position.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"position.js","sourceRoot":"","sources":["../../src/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"position.js","sourceRoot":"","sources":["../../src/position.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
2
- import { Message, proto3 } from "@bufbuild/protobuf";
1
+ import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from '@bufbuild/protobuf';
2
+ import { Message, proto3 } from '@bufbuild/protobuf';
3
3
  /**
4
4
  * @generated from enum OpType
5
5
  */