@graphprotocol/grc-20 0.0.7 → 0.1.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.
Files changed (138) hide show
  1. package/README.md +20 -7
  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
@@ -6,7 +6,9 @@ describe('base58', () => {
6
6
  const expected = v4();
7
7
  const given = expected.replaceAll(/-/g, '');
8
8
  const encoded = encodeBase58(given);
9
- expect(encoded).toHaveLength(22);
9
+ // We check the length should be 22 in the ID.make() function and
10
+ // re-run encodeBase58 if not.
11
+ expect(encoded.length === 22 || encoded.length === 21).toBe(true);
10
12
  const decoded = decodeBase58ToUUID(encoded);
11
13
  expect(decoded).toHaveLength(expected.length);
12
14
  expect(decoded).toEqual(expected);
@@ -1 +1 @@
1
- {"version":3,"file":"base58.test.js","sourceRoot":"","sources":["../../../src/core/base58.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/D,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QACjG,MAAM,QAAQ,GAAG,EAAE,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAEjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"base58.test.js","sourceRoot":"","sources":["../../../src/core/base58.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/D,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QACjG,MAAM,QAAQ,GAAG,EAAE,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpC,iEAAiE;QACjE,8BAA8B;QAC9B,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,EAAE,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -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":"AAGA,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,wBAAgB,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,aAAa,GAAG,CAAC,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAuC9G"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data.test.d.ts.map
@@ -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":"AAGA,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,wBAAgB,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,aAAa,GAAG,EAAE,EAAE,CA6BpE"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=text.test.d.ts.map
@@ -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"}
@@ -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
- * @returns ops: The SET_TRIPLE ops for an Image entity
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":"AAGA,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;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAwBrD"}
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"}
@@ -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
- * @returns ops: The SET_TRIPLE ops for an Image entity
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;;;;GAIG;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"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=image.test.d.ts.map
@@ -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,3 +1,8 @@
1
+ /**
2
+ * This module provides utility functions for working with fractional indexes in TypeScript.
3
+ *
4
+ * @since 0.0.6
5
+ */
1
6
  import { PositionSource } from 'position-strings';
2
7
  export declare const Position: PositionSource;
3
8
  export declare const PositionRange: {
@@ -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,3 +1,8 @@
1
+ /**
2
+ * This module provides utility functions for working with fractional indexes in TypeScript.
3
+ *
4
+ * @since 0.0.6
5
+ */
1
6
  import { PositionSource } from 'position-strings';
2
7
  export const Position = new PositionSource();
3
8
  export const PositionRange = {
@@ -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":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGtE,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,wBAAgB,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,gBAAgB,CAa/D;AAED,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,wBAAgB,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,iBAAiB,CAcpE"}
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;AAUzC,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,MAAM,UAAU,MAAM,CAAC,UAAkB;IACvC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE;YACR,EAAE,EAAE,UAAU;SACf;KACF,CAAC;AACJ,CAAC;AAoBD,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"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=relation.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation.test.d.ts","sourceRoot":"","sources":["../../../src/core/relation.test.ts"],"names":[],"mappings":""}