@graphprotocol/grc-20 0.24.0 → 0.25.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 (244) hide show
  1. package/README.md +1 -1
  2. package/dist/contracts.d.ts +3 -3
  3. package/dist/contracts.d.ts.map +1 -1
  4. package/dist/contracts.js +12 -12
  5. package/dist/contracts.js.map +1 -1
  6. package/dist/src/graph/serialize.d.ts +1 -1
  7. package/dist/src/graph/serialize.d.ts.map +1 -1
  8. package/dist/src/graph/serialize.js +1 -1
  9. package/dist/src/graph/serialize.js.map +1 -1
  10. package/dist/src/graph/serialize.test.js +4 -4
  11. package/dist/src/graph/serialize.test.js.map +1 -1
  12. package/package.json +1 -1
  13. package/dist/constants.d.ts +0 -7
  14. package/dist/constants.d.ts.map +0 -1
  15. package/dist/constants.js +0 -8
  16. package/dist/constants.js.map +0 -1
  17. package/dist/convert-ids.d.ts +0 -2
  18. package/dist/convert-ids.d.ts.map +0 -1
  19. package/dist/convert-ids.js +0 -42
  20. package/dist/convert-ids.js.map +0 -1
  21. package/dist/protov2.d.ts +0 -11
  22. package/dist/protov2.d.ts.map +0 -1
  23. package/dist/protov2.js +0 -11
  24. package/dist/protov2.js.map +0 -1
  25. package/dist/src/core/blocks/image.d.ts +0 -15
  26. package/dist/src/core/blocks/image.d.ts.map +0 -1
  27. package/dist/src/core/blocks/image.js +0 -15
  28. package/dist/src/core/blocks/image.js.map +0 -1
  29. package/dist/src/core/idsv2/content.d.ts +0 -59
  30. package/dist/src/core/idsv2/content.d.ts.map +0 -1
  31. package/dist/src/core/idsv2/content.js +0 -59
  32. package/dist/src/core/idsv2/content.js.map +0 -1
  33. package/dist/src/core/idsv2/network.d.ts +0 -5
  34. package/dist/src/core/idsv2/network.d.ts.map +0 -1
  35. package/dist/src/core/idsv2/network.js +0 -5
  36. package/dist/src/core/idsv2/network.js.map +0 -1
  37. package/dist/src/core/idsv2/system.d.ts +0 -222
  38. package/dist/src/core/idsv2/system.d.ts.map +0 -1
  39. package/dist/src/core/idsv2/system.js +0 -230
  40. package/dist/src/core/idsv2/system.js.map +0 -1
  41. package/dist/src/core/image.d.ts +0 -40
  42. package/dist/src/core/image.d.ts.map +0 -1
  43. package/dist/src/core/image.js +0 -76
  44. package/dist/src/core/image.js.map +0 -1
  45. package/dist/src/core/image.test.d.ts +0 -2
  46. package/dist/src/core/image.test.d.ts.map +0 -1
  47. package/dist/src/core/image.test.js +0 -52
  48. package/dist/src/core/image.test.js.map +0 -1
  49. package/dist/src/core/relation.d.ts +0 -88
  50. package/dist/src/core/relation.d.ts.map +0 -1
  51. package/dist/src/core/relation.js +0 -89
  52. package/dist/src/core/relation.js.map +0 -1
  53. package/dist/src/core/relation.test.d.ts +0 -2
  54. package/dist/src/core/relation.test.d.ts.map +0 -1
  55. package/dist/src/core/relation.test.js +0 -45
  56. package/dist/src/core/relation.test.js.map +0 -1
  57. package/dist/src/core/triple.d.ts +0 -50
  58. package/dist/src/core/triple.d.ts.map +0 -1
  59. package/dist/src/core/triple.js +0 -56
  60. package/dist/src/core/triple.js.map +0 -1
  61. package/dist/src/core/triple.test.d.ts +0 -2
  62. package/dist/src/core/triple.test.d.ts.map +0 -1
  63. package/dist/src/core/triple.test.js +0 -37
  64. package/dist/src/core/triple.test.js.map +0 -1
  65. package/dist/src/graph/delete-entity.d.ts +0 -14
  66. package/dist/src/graph/delete-entity.d.ts.map +0 -1
  67. package/dist/src/graph/delete-entity.js +0 -21
  68. package/dist/src/graph/delete-entity.js.map +0 -1
  69. package/dist/src/graph/delete-entity.test.d.ts +0 -2
  70. package/dist/src/graph/delete-entity.test.d.ts.map +0 -1
  71. package/dist/src/graph/delete-entity.test.js +0 -23
  72. package/dist/src/graph/delete-entity.test.js.map +0 -1
  73. package/dist/src/graph/graph.test.d.ts +0 -2
  74. package/dist/src/graph/graph.test.d.ts.map +0 -1
  75. package/dist/src/graph/graph.test.js +0 -46
  76. package/dist/src/graph/graph.test.js.map +0 -1
  77. package/dist/src/graph/helpers/create-default-properties.d.ts +0 -5
  78. package/dist/src/graph/helpers/create-default-properties.d.ts.map +0 -1
  79. package/dist/src/graph/helpers/create-default-properties.js +0 -44
  80. package/dist/src/graph/helpers/create-default-properties.js.map +0 -1
  81. package/dist/src/graph/helpers/create-properties.d.ts +0 -8
  82. package/dist/src/graph/helpers/create-properties.d.ts.map +0 -1
  83. package/dist/src/graph/helpers/create-properties.js +0 -53
  84. package/dist/src/graph/helpers/create-properties.js.map +0 -1
  85. package/dist/src/graphv2/constants.d.ts +0 -2
  86. package/dist/src/graphv2/constants.d.ts.map +0 -1
  87. package/dist/src/graphv2/constants.js +0 -2
  88. package/dist/src/graphv2/constants.js.map +0 -1
  89. package/dist/src/graphv2/create-entity.d.ts +0 -52
  90. package/dist/src/graphv2/create-entity.d.ts.map +0 -1
  91. package/dist/src/graphv2/create-entity.js +0 -140
  92. package/dist/src/graphv2/create-entity.js.map +0 -1
  93. package/dist/src/graphv2/create-entity.test.d.ts +0 -2
  94. package/dist/src/graphv2/create-entity.test.d.ts.map +0 -1
  95. package/dist/src/graphv2/create-entity.test.js +0 -158
  96. package/dist/src/graphv2/create-entity.test.js.map +0 -1
  97. package/dist/src/graphv2/create-image.d.ts +0 -28
  98. package/dist/src/graphv2/create-image.d.ts.map +0 -1
  99. package/dist/src/graphv2/create-image.js +0 -71
  100. package/dist/src/graphv2/create-image.js.map +0 -1
  101. package/dist/src/graphv2/create-image.test.d.ts +0 -2
  102. package/dist/src/graphv2/create-image.test.d.ts.map +0 -1
  103. package/dist/src/graphv2/create-image.test.js +0 -142
  104. package/dist/src/graphv2/create-image.test.js.map +0 -1
  105. package/dist/src/graphv2/create-property.d.ts +0 -22
  106. package/dist/src/graphv2/create-property.d.ts.map +0 -1
  107. package/dist/src/graphv2/create-property.js +0 -129
  108. package/dist/src/graphv2/create-property.js.map +0 -1
  109. package/dist/src/graphv2/create-property.test.d.ts +0 -2
  110. package/dist/src/graphv2/create-property.test.d.ts.map +0 -1
  111. package/dist/src/graphv2/create-property.test.js +0 -82
  112. package/dist/src/graphv2/create-property.test.js.map +0 -1
  113. package/dist/src/graphv2/create-relation.d.ts +0 -33
  114. package/dist/src/graphv2/create-relation.d.ts.map +0 -1
  115. package/dist/src/graphv2/create-relation.js +0 -66
  116. package/dist/src/graphv2/create-relation.js.map +0 -1
  117. package/dist/src/graphv2/create-relation.test.d.ts +0 -2
  118. package/dist/src/graphv2/create-relation.test.d.ts.map +0 -1
  119. package/dist/src/graphv2/create-relation.test.js +0 -208
  120. package/dist/src/graphv2/create-relation.test.js.map +0 -1
  121. package/dist/src/graphv2/create-space.d.ts +0 -13
  122. package/dist/src/graphv2/create-space.d.ts.map +0 -1
  123. package/dist/src/graphv2/create-space.js +0 -21
  124. package/dist/src/graphv2/create-space.js.map +0 -1
  125. package/dist/src/graphv2/create-type.d.ts +0 -22
  126. package/dist/src/graphv2/create-type.d.ts.map +0 -1
  127. package/dist/src/graphv2/create-type.js +0 -64
  128. package/dist/src/graphv2/create-type.js.map +0 -1
  129. package/dist/src/graphv2/create-type.test.d.ts +0 -2
  130. package/dist/src/graphv2/create-type.test.d.ts.map +0 -1
  131. package/dist/src/graphv2/create-type.test.js +0 -109
  132. package/dist/src/graphv2/create-type.test.js.map +0 -1
  133. package/dist/src/graphv2/delete-entity.d.ts +0 -14
  134. package/dist/src/graphv2/delete-entity.d.ts.map +0 -1
  135. package/dist/src/graphv2/delete-entity.js +0 -21
  136. package/dist/src/graphv2/delete-entity.js.map +0 -1
  137. package/dist/src/graphv2/delete-entity.test.d.ts +0 -2
  138. package/dist/src/graphv2/delete-entity.test.d.ts.map +0 -1
  139. package/dist/src/graphv2/delete-entity.test.js +0 -24
  140. package/dist/src/graphv2/delete-entity.test.js.map +0 -1
  141. package/dist/src/graphv2/delete-relation.d.ts +0 -14
  142. package/dist/src/graphv2/delete-relation.d.ts.map +0 -1
  143. package/dist/src/graphv2/delete-relation.js +0 -21
  144. package/dist/src/graphv2/delete-relation.js.map +0 -1
  145. package/dist/src/graphv2/delete-relation.test.d.ts +0 -2
  146. package/dist/src/graphv2/delete-relation.test.d.ts.map +0 -1
  147. package/dist/src/graphv2/delete-relation.test.js +0 -24
  148. package/dist/src/graphv2/delete-relation.test.js.map +0 -1
  149. package/dist/src/graphv2/index.d.ts +0 -12
  150. package/dist/src/graphv2/index.d.ts.map +0 -1
  151. package/dist/src/graphv2/index.js +0 -12
  152. package/dist/src/graphv2/index.js.map +0 -1
  153. package/dist/src/graphv2/remove-entity-properties.d.ts +0 -25
  154. package/dist/src/graphv2/remove-entity-properties.d.ts.map +0 -1
  155. package/dist/src/graphv2/remove-entity-properties.js +0 -24
  156. package/dist/src/graphv2/remove-entity-properties.js.map +0 -1
  157. package/dist/src/graphv2/unset-entity-values.d.ts +0 -21
  158. package/dist/src/graphv2/unset-entity-values.d.ts.map +0 -1
  159. package/dist/src/graphv2/unset-entity-values.js +0 -26
  160. package/dist/src/graphv2/unset-entity-values.js.map +0 -1
  161. package/dist/src/graphv2/unset-entity-values.test.d.ts +0 -2
  162. package/dist/src/graphv2/unset-entity-values.test.d.ts.map +0 -1
  163. package/dist/src/graphv2/unset-entity-values.test.js +0 -40
  164. package/dist/src/graphv2/unset-entity-values.test.js.map +0 -1
  165. package/dist/src/graphv2/unset-relation-fields.d.ts +0 -25
  166. package/dist/src/graphv2/unset-relation-fields.d.ts.map +0 -1
  167. package/dist/src/graphv2/unset-relation-fields.js +0 -34
  168. package/dist/src/graphv2/unset-relation-fields.js.map +0 -1
  169. package/dist/src/graphv2/unset-relation-fields.test.d.ts +0 -2
  170. package/dist/src/graphv2/unset-relation-fields.test.d.ts.map +0 -1
  171. package/dist/src/graphv2/unset-relation-fields.test.js +0 -64
  172. package/dist/src/graphv2/unset-relation-fields.test.js.map +0 -1
  173. package/dist/src/graphv2/update-entity.d.ts +0 -28
  174. package/dist/src/graphv2/update-entity.d.ts.map +0 -1
  175. package/dist/src/graphv2/update-entity.js +0 -73
  176. package/dist/src/graphv2/update-entity.js.map +0 -1
  177. package/dist/src/graphv2/update-entity.test.d.ts +0 -2
  178. package/dist/src/graphv2/update-entity.test.d.ts.map +0 -1
  179. package/dist/src/graphv2/update-entity.test.js +0 -116
  180. package/dist/src/graphv2/update-entity.test.js.map +0 -1
  181. package/dist/src/graphv2/update-relation.d.ts +0 -21
  182. package/dist/src/graphv2/update-relation.d.ts.map +0 -1
  183. package/dist/src/graphv2/update-relation.js +0 -37
  184. package/dist/src/graphv2/update-relation.js.map +0 -1
  185. package/dist/src/idv2.d.ts +0 -27
  186. package/dist/src/idv2.d.ts.map +0 -1
  187. package/dist/src/idv2.js +0 -88
  188. package/dist/src/idv2.js.map +0 -1
  189. package/dist/src/idv2.test.d.ts +0 -2
  190. package/dist/src/idv2.test.d.ts.map +0 -1
  191. package/dist/src/idv2.test.js +0 -26
  192. package/dist/src/idv2.test.js.map +0 -1
  193. package/dist/src/image.d.ts +0 -8
  194. package/dist/src/image.d.ts.map +0 -1
  195. package/dist/src/image.js +0 -8
  196. package/dist/src/image.js.map +0 -1
  197. package/dist/src/ipfsv2.d.ts +0 -96
  198. package/dist/src/ipfsv2.d.ts.map +0 -1
  199. package/dist/src/ipfsv2.js +0 -163
  200. package/dist/src/ipfsv2.js.map +0 -1
  201. package/dist/src/ipfsv2.test.d.ts +0 -2
  202. package/dist/src/ipfsv2.test.d.ts.map +0 -1
  203. package/dist/src/ipfsv2.test.js +0 -22
  204. package/dist/src/ipfsv2.test.js.map +0 -1
  205. package/dist/src/proto/editv2.d.ts +0 -11
  206. package/dist/src/proto/editv2.d.ts.map +0 -1
  207. package/dist/src/proto/editv2.js +0 -81
  208. package/dist/src/proto/editv2.js.map +0 -1
  209. package/dist/src/proto/editv2.test.d.ts +0 -2
  210. package/dist/src/proto/editv2.test.d.ts.map +0 -1
  211. package/dist/src/proto/editv2.test.js +0 -211
  212. package/dist/src/proto/editv2.test.js.map +0 -1
  213. package/dist/src/proto/gen/src/proto/ipfsv2_pb.d.ts +0 -410
  214. package/dist/src/proto/gen/src/proto/ipfsv2_pb.d.ts.map +0 -1
  215. package/dist/src/proto/gen/src/proto/ipfsv2_pb.js +0 -536
  216. package/dist/src/proto/gen/src/proto/ipfsv2_pb.js.map +0 -1
  217. package/dist/src/relation.d.ts +0 -7
  218. package/dist/src/relation.d.ts.map +0 -1
  219. package/dist/src/relation.js +0 -7
  220. package/dist/src/relation.js.map +0 -1
  221. package/dist/src/smart-wallet-2.test-invalid.d.ts +0 -2
  222. package/dist/src/smart-wallet-2.test-invalid.d.ts.map +0 -1
  223. package/dist/src/smart-wallet-2.test-invalid.js +0 -49
  224. package/dist/src/smart-wallet-2.test-invalid.js.map +0 -1
  225. package/dist/src/smart-wallet-2.test.d.ts +0 -2
  226. package/dist/src/smart-wallet-2.test.d.ts.map +0 -1
  227. package/dist/src/smart-wallet-2.test.js +0 -49
  228. package/dist/src/smart-wallet-2.test.js.map +0 -1
  229. package/dist/src/system-ids-v2.d.ts +0 -7
  230. package/dist/src/system-ids-v2.d.ts.map +0 -1
  231. package/dist/src/system-ids-v2.js +0 -7
  232. package/dist/src/system-ids-v2.js.map +0 -1
  233. package/dist/src/triple.d.ts +0 -7
  234. package/dist/src/triple.d.ts.map +0 -1
  235. package/dist/src/triple.js +0 -7
  236. package/dist/src/triple.js.map +0 -1
  237. package/dist/src/types-backup.d.ts +0 -134
  238. package/dist/src/types-backup.d.ts.map +0 -1
  239. package/dist/src/types-backup.js +0 -13
  240. package/dist/src/types-backup.js.map +0 -1
  241. package/dist/src/typesv2.d.ts +0 -173
  242. package/dist/src/typesv2.d.ts.map +0 -1
  243. package/dist/src/typesv2.js +0 -8
  244. package/dist/src/typesv2.js.map +0 -1
@@ -1,37 +0,0 @@
1
- import { assertValid, toBase64 } from '../idv2.js';
2
- /**
3
- * Updates a relation.
4
- *
5
- * @example
6
- * ```ts
7
- * const { id, ops } = updateRelation({
8
- * id: relationId,
9
- * position: 'position of the relation',
10
- * toSpace: 'id of the to space',
11
- * fromVersion: 'id of the from version',
12
- * toVersion: 'id of the to version',
13
- * verified: true,
14
- * });
15
- * ```
16
- * @param params – {@link UpdateRelationParams}
17
- * @returns – {@link CreateResult}
18
- * @throws Will throw an error if any provided ID is invalid
19
- */
20
- export const updateRelation = ({ id, position, fromSpace, toSpace, fromVersion, toVersion, verified, }) => {
21
- assertValid(id, '`id` in `updateRelation`');
22
- const ops = [];
23
- ops.push({
24
- type: 'UPDATE_RELATION',
25
- relation: {
26
- id: toBase64(id),
27
- position,
28
- fromSpace: fromSpace ? toBase64(fromSpace) : undefined,
29
- toSpace: toSpace ? toBase64(toSpace) : undefined,
30
- fromVersion: fromVersion ? toBase64(fromVersion) : undefined,
31
- toVersion: toVersion ? toBase64(toVersion) : undefined,
32
- verified,
33
- },
34
- });
35
- return { id, ops };
36
- };
37
- //# sourceMappingURL=update-relation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-relation.js","sourceRoot":"","sources":["../../../src/graphv2/update-relation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGnD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,EAAE,EACF,QAAQ,EACR,SAAS,EACT,OAAO,EACP,WAAW,EACX,SAAS,EACT,QAAQ,GACa,EAAgB,EAAE;IACvC,WAAW,CAAC,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAE5C,MAAM,GAAG,GAAc,EAAE,CAAC;IAE1B,GAAG,CAAC,IAAI,CAAC;QACP,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE;YACR,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC;YAChB,QAAQ;YACR,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACtD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;YAChD,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;YAC5D,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;YACtD,QAAQ;SACT;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;AACrB,CAAC,CAAC"}
@@ -1,27 +0,0 @@
1
- import { Brand } from 'effect';
2
- export type Id = string & Brand.Brand<'Id'>;
3
- export type IdBase64 = string & Brand.Brand<'IdBase64'>;
4
- export declare const Id: Brand.Brand.Constructor<Id>;
5
- export declare const IdBase64: Brand.Brand.Constructor<IdBase64>;
6
- /**
7
- * Generates a globally unique knowledge graph identifier.
8
- *
9
- * @example
10
- * ```
11
- * import { ID } from '@graphprotocol/grc-20'
12
- *
13
- * const id = ID.generate();
14
- * console.log(id)
15
- * ```
16
- *
17
- * @returns v4 UUID
18
- */
19
- export declare function generate(): Id;
20
- export declare function isValid(id: string): boolean;
21
- export declare function isValidBase64(id: string): boolean;
22
- export declare function assertValid(id: string, sourceHint?: string): void;
23
- export declare function toBytes(id: Id): Uint8Array;
24
- export declare function fromBytes(bytes: Uint8Array): Id;
25
- export declare function toBase64(id: Id): IdBase64;
26
- export declare function fromBase64(id: IdBase64): Id;
27
- //# sourceMappingURL=idv2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idv2.d.ts","sourceRoot":"","sources":["../../src/idv2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAS/B,MAAM,MAAM,EAAE,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAE5C,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAExD,eAAO,MAAM,EAAE,6BAGd,CAAC;AAEF,eAAO,MAAM,QAAQ,mCAGpB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,IAAI,EAAE,CAG7B;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAQjD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,QAI1D;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU,CAE1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAE/C;AAID,wBAAgB,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,QAAQ,CAoBzC;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,EAAE,CAqB3C"}
package/dist/src/idv2.js DELETED
@@ -1,88 +0,0 @@
1
- import { Brand } from 'effect';
2
- /**
3
- * This module provides utility functions for working knowledge graph
4
- * identifiers in TypeScript.
5
- */
6
- import { parse as uuidParse, stringify as uuidStringify, validate as uuidValidate, v4 as uuidv4 } from 'uuid';
7
- export const Id = Brand.refined(id => isValid(id), id => Brand.error(`Expected ${id} to be a valid Id`));
8
- export const IdBase64 = Brand.refined(id => isValidBase64(id), id => Brand.error(`Expected ${id} to be a valid IdBase64`));
9
- /**
10
- * Generates a globally unique knowledge graph identifier.
11
- *
12
- * @example
13
- * ```
14
- * import { ID } from '@graphprotocol/grc-20'
15
- *
16
- * const id = ID.generate();
17
- * console.log(id)
18
- * ```
19
- *
20
- * @returns v4 UUID
21
- */
22
- export function generate() {
23
- const uuid = uuidv4();
24
- return Id(uuid);
25
- }
26
- export function isValid(id) {
27
- return uuidValidate(id);
28
- }
29
- export function isValidBase64(id) {
30
- try {
31
- // @ts-expect-error
32
- const uuid = fromBase64(id);
33
- return isValid(uuid);
34
- }
35
- catch (error) {
36
- return false;
37
- }
38
- }
39
- export function assertValid(id, sourceHint) {
40
- if (!isValid(id)) {
41
- throw new Error(`Invalid id: "${id}"${sourceHint ? ` for ${sourceHint}` : ''}`);
42
- }
43
- }
44
- export function toBytes(id) {
45
- return uuidParse(id);
46
- }
47
- export function fromBytes(bytes) {
48
- return Id(uuidStringify(bytes));
49
- }
50
- const base64Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
51
- export function toBase64(id) {
52
- const bytes = toBytes(id);
53
- let result = '';
54
- let i;
55
- for (i = 0; i < bytes.length; i += 3) {
56
- const a = bytes[i];
57
- const b = bytes[i + 1] ?? 0;
58
- const c = bytes[i + 2] ?? 0;
59
- // @ts-expect-error
60
- const triple = (a << 16) | (b << 8) | c;
61
- result += base64Chars[(triple >> 18) & 0x3f];
62
- result += base64Chars[(triple >> 12) & 0x3f];
63
- result += i + 1 < bytes.length ? base64Chars[(triple >> 6) & 0x3f] : '=';
64
- result += i + 2 < bytes.length ? base64Chars[triple & 0x3f] : '=';
65
- }
66
- return IdBase64(result);
67
- }
68
- export function fromBase64(id) {
69
- const bytes = [];
70
- for (let i = 0; i < id.length; i += 4) {
71
- // @ts-expect-error
72
- const c1 = base64Chars.indexOf(id[i]);
73
- // @ts-expect-error
74
- const c2 = base64Chars.indexOf(id[i + 1]);
75
- // @ts-expect-error
76
- const c3 = base64Chars.indexOf(id[i + 2]);
77
- // @ts-expect-error
78
- const c4 = base64Chars.indexOf(id[i + 3]);
79
- const triple = (c1 << 18) | (c2 << 12) | ((c3 & 63) << 6) | (c4 & 63);
80
- bytes.push((triple >> 16) & 0xff);
81
- if (c3 !== -1 && c3 !== 64)
82
- bytes.push((triple >> 8) & 0xff);
83
- if (c4 !== -1 && c4 !== 64)
84
- bytes.push(triple & 0xff);
85
- }
86
- return fromBytes(new Uint8Array(bytes));
87
- }
88
- //# sourceMappingURL=idv2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idv2.js","sourceRoot":"","sources":["../../src/idv2.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=idv2.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idv2.test.d.ts","sourceRoot":"","sources":["../../src/idv2.test.ts"],"names":[],"mappings":""}
@@ -1,26 +0,0 @@
1
- import { expect, it } from 'vitest';
2
- import { Id, generate, isValid, toBase64 } from './idv2.js';
3
- it('should generate valid uuid', () => {
4
- const id = generate();
5
- expect(id).toBeTypeOf('string');
6
- expect(id.length).toBe(36);
7
- expect(id).toMatch(/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/);
8
- });
9
- it('should validate uuid', () => {
10
- expect(isValid(generate())).toBe(true);
11
- expect(isValid(generate())).toBe(true);
12
- expect(isValid(generate())).toBe(true);
13
- expect(isValid('3af3e22d-2169-4a07-8681-516710b7ecf1')).toBe(true);
14
- });
15
- it('should not validate invalid id', () => {
16
- expect(isValid('invalid-id')).toBe(false);
17
- expect(isValid('0123456789012345678901')).toBe(false);
18
- });
19
- it('should convert id to base64', () => {
20
- const id = Id('3af3e22d-2169-4a07-8681-516710b7ecf1');
21
- const base64 = toBase64(id);
22
- expect(base64).toBeTypeOf('string');
23
- expect(base64).toBe('OvPiLSFpSgeGgVFnELfs8Q==');
24
- expect(toBase64(Id('1d501a3a-d6ce-4693-bc90-d25286f21c7e'))).toBe('HVAaOtbORpO8kNJShvIcfg==');
25
- });
26
- //# sourceMappingURL=idv2.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"idv2.test.js","sourceRoot":"","sources":["../../src/idv2.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE5D,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;IACpC,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IACtB,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,CAAC,OAAO,CAAC,+EAA+E,CAAC,CAAC;AACtG,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAC9B,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;IACxC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;IACrC,MAAM,EAAE,GAAG,EAAE,CAAC,sCAAsC,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAChD,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AAChG,CAAC,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * This module provides utility functions for working with knowledge graph
3
- * images in TypeScript.
4
- *
5
- * @since 0.0.6
6
- */
7
- export * as Image from './core/image.js';
8
- //# sourceMappingURL=image.d.ts.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * This module provides utility functions for working with knowledge graph
3
- * images in TypeScript.
4
- *
5
- * @since 0.0.6
6
- */
7
- export * as Image from './core/image.js';
8
- //# sourceMappingURL=image.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,KAAK,MAAM,iBAAiB,CAAC"}
@@ -1,96 +0,0 @@
1
- /**
2
- * This module provides utility functions for interacting with the default
3
- * IPFS gateway in TypeScript.
4
- *
5
- * @since 0.1.1
6
- */
7
- import { type Id } from './idv2.js';
8
- import type { Op } from './typesv2.js';
9
- type PublishEditProposalParams = {
10
- name: string;
11
- ops: Op[];
12
- author: string;
13
- };
14
- type PublishEditResult = {
15
- cid: string;
16
- editId: Id;
17
- };
18
- /**
19
- * Generates correct protobuf encoding for an Edit and uploads it to IPFS.
20
- *
21
- * @example
22
- * ```ts
23
- * import { IPFS } from '@graphprotocol/grc-20';
24
- *
25
- * const { cid, editId } = await IPFS.publishEdit({
26
- * name: 'Edit name',
27
- * ops: ops,
28
- * author: '0x000000000000000000000000000000000000',
29
- * });
30
- * ```
31
- *
32
- * @param args arguments for publishing an edit to IPFS {@link PublishEditProposalParams}
33
- * @returns - {@link PublishEditResult}
34
- */
35
- export declare function publishEdit(args: PublishEditProposalParams): Promise<PublishEditResult>;
36
- type PublishImageParams = {
37
- blob: Blob;
38
- } | {
39
- url: string;
40
- };
41
- export declare function uploadImage(params: PublishImageParams): Promise<{
42
- cid: `ipfs://${string}`;
43
- dimensions: {
44
- width: number;
45
- height: number;
46
- };
47
- } | {
48
- cid: `ipfs://${string}`;
49
- dimensions?: undefined;
50
- }>;
51
- /**
52
- * Uploads a CSV file to IPFS and returns the CID. This CSV
53
- * file will be compressed using gzip before being uploaded.
54
- *
55
- * @example
56
- * ```ts
57
- * const file = Bun.file('cities.csv');
58
- * const fileText = await file.text();
59
- *
60
- * const cid = await Ipfs.uploadCSV(fileText);
61
- * ```
62
- *
63
- * @example
64
- * ```ts
65
- * import { Csv } from '@graphprotocol/grc-20';
66
- *
67
- * const csvString = Csv.stringify({
68
- * data: Array.from({ length: 151_000 }, (_, i: number) => [i.toString(), (i * 2).toString(), (i * 3).toString()]),
69
- * metadata: {
70
- * filetype: 'CSV',
71
- * columns: [
72
- * {
73
- * id: 'foo',
74
- * type: 'TEXT',
75
- * },
76
- * {
77
- * id: 'bar',
78
- * type: 'NUMBER',
79
- * },
80
- * {
81
- * id: 'baz',
82
- * type: 'TEXT',
83
- * },
84
- * ],
85
- * },
86
- * })
87
- *
88
- * const cid = await Ipfs.uploadCSV(csvString);
89
- * ```
90
- *
91
- * @param csvString The CSV to upload as a string
92
- * @returns IPFS CID representing the uploaded file prefixed with `ipfs://`
93
- */
94
- export declare function uploadCSV(csvString: string): Promise<`ipfs://${string}`>;
95
- export {};
96
- //# sourceMappingURL=ipfsv2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ipfsv2.d.ts","sourceRoot":"","sources":["../../src/ipfsv2.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,KAAK,EAAE,EAAa,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAMvC,KAAK,yBAAyB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,EAAE,EAAE,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IAEvB,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,EAAE,CAAC;CACZ,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAa7F;AAED,KAAK,kBAAkB,GACnB;IACE,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IACE,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEN,wBAAsB,WAAW,CAAC,MAAM,EAAE,kBAAkB;;;;;;;;;GAkC3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,MAAM,EAAE,CAAC,CAS9E"}
@@ -1,163 +0,0 @@
1
- /**
2
- * This module provides utility functions for interacting with the default
3
- * IPFS gateway in TypeScript.
4
- *
5
- * @since 0.1.1
6
- */
7
- import { Micro } from 'effect';
8
- import { gzipSync } from 'fflate';
9
- import { imageSize } from 'image-size';
10
- import { Edit, EditProposal } from '../protov2.js';
11
- import { fromBytes } from './idv2.js';
12
- class IpfsUploadError extends Error {
13
- _tag = 'IpfsUploadError';
14
- }
15
- /**
16
- * Generates correct protobuf encoding for an Edit and uploads it to IPFS.
17
- *
18
- * @example
19
- * ```ts
20
- * import { IPFS } from '@graphprotocol/grc-20';
21
- *
22
- * const { cid, editId } = await IPFS.publishEdit({
23
- * name: 'Edit name',
24
- * ops: ops,
25
- * author: '0x000000000000000000000000000000000000',
26
- * });
27
- * ```
28
- *
29
- * @param args arguments for publishing an edit to IPFS {@link PublishEditProposalParams}
30
- * @returns - {@link PublishEditResult}
31
- */
32
- export async function publishEdit(args) {
33
- const { name, ops, author } = args;
34
- const edit = EditProposal.encode({ name, ops, author });
35
- const blob = new Blob([edit], { type: 'application/octet-stream' });
36
- const formData = new FormData();
37
- formData.append('file', blob);
38
- const cid = await Micro.runPromise(uploadBinary(formData));
39
- const result = Edit.fromBinary(edit);
40
- return { cid, editId: fromBytes(result.id) };
41
- }
42
- export async function uploadImage(params) {
43
- const formData = new FormData();
44
- let blob;
45
- if ('blob' in params) {
46
- blob = params.blob;
47
- }
48
- else {
49
- // fetch the image and upload it to IPFS
50
- const response = await fetch(params.url);
51
- blob = await response.blob();
52
- }
53
- formData.append('file', blob);
54
- const buffer = Buffer.from(await blob.arrayBuffer());
55
- let dimensions;
56
- try {
57
- dimensions = imageSize(buffer);
58
- }
59
- catch (error) { }
60
- const cid = await Micro.runPromise(uploadFile(formData));
61
- if (dimensions) {
62
- return {
63
- cid,
64
- dimensions: {
65
- width: dimensions.width,
66
- height: dimensions.height,
67
- },
68
- };
69
- }
70
- return {
71
- cid,
72
- };
73
- }
74
- /**
75
- * Uploads a CSV file to IPFS and returns the CID. This CSV
76
- * file will be compressed using gzip before being uploaded.
77
- *
78
- * @example
79
- * ```ts
80
- * const file = Bun.file('cities.csv');
81
- * const fileText = await file.text();
82
- *
83
- * const cid = await Ipfs.uploadCSV(fileText);
84
- * ```
85
- *
86
- * @example
87
- * ```ts
88
- * import { Csv } from '@graphprotocol/grc-20';
89
- *
90
- * const csvString = Csv.stringify({
91
- * data: Array.from({ length: 151_000 }, (_, i: number) => [i.toString(), (i * 2).toString(), (i * 3).toString()]),
92
- * metadata: {
93
- * filetype: 'CSV',
94
- * columns: [
95
- * {
96
- * id: 'foo',
97
- * type: 'TEXT',
98
- * },
99
- * {
100
- * id: 'bar',
101
- * type: 'NUMBER',
102
- * },
103
- * {
104
- * id: 'baz',
105
- * type: 'TEXT',
106
- * },
107
- * ],
108
- * },
109
- * })
110
- *
111
- * const cid = await Ipfs.uploadCSV(csvString);
112
- * ```
113
- *
114
- * @param csvString The CSV to upload as a string
115
- * @returns IPFS CID representing the uploaded file prefixed with `ipfs://`
116
- */
117
- export async function uploadCSV(csvString) {
118
- const encoder = new TextEncoder();
119
- const csvStringBytes = encoder.encode(csvString);
120
- const blob = await gzipSync(csvStringBytes);
121
- const formData = new FormData();
122
- formData.append('file', new Blob([blob], { type: 'text/csv' }));
123
- return await Micro.runPromise(uploadBinary(formData));
124
- }
125
- function uploadBinary(formData) {
126
- return Micro.gen(function* () {
127
- const result = yield* Micro.tryPromise({
128
- try: () => fetch('https://api-testnet.grc-20.thegraph.com/ipfs/upload-edit', {
129
- method: 'POST',
130
- body: formData,
131
- }),
132
- catch: error => new IpfsUploadError(`Could not upload data to IPFS: ${error}`),
133
- });
134
- const maybeCid = yield* Micro.tryPromise({
135
- try: async () => {
136
- const { cid } = await result.json();
137
- return cid;
138
- },
139
- catch: error => new IpfsUploadError(`Could not parse response from IPFS: ${error}`),
140
- });
141
- return maybeCid;
142
- });
143
- }
144
- function uploadFile(formData) {
145
- return Micro.gen(function* () {
146
- const result = yield* Micro.tryPromise({
147
- try: () => fetch('https://api-testnet.grc-20.thegraph.com/ipfs/upload-file', {
148
- method: 'POST',
149
- body: formData,
150
- }),
151
- catch: error => new IpfsUploadError(`Could not upload file to IPFS: ${error}`),
152
- });
153
- const maybeCid = yield* Micro.tryPromise({
154
- try: async () => {
155
- const { cid } = await result.json();
156
- return cid;
157
- },
158
- catch: error => new IpfsUploadError(`Could not parse response from IPFS: ${error}`),
159
- });
160
- return maybeCid;
161
- });
162
- }
163
- //# sourceMappingURL=ipfsv2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ipfsv2.js","sourceRoot":"","sources":["../../src/ipfsv2.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ipfsv2.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ipfsv2.test.d.ts","sourceRoot":"","sources":["../../src/ipfsv2.test.ts"],"names":[],"mappings":""}
@@ -1,22 +0,0 @@
1
- import { it } from 'vitest';
2
- import { WEBSITE_PROPERTY } from './core/idsv2/content.js';
3
- import { createEntity } from './graphv2/create-entity.js';
4
- import { publishEdit } from './ipfsv2.js';
5
- it('full flow', async () => {
6
- const { id, ops } = createEntity({
7
- name: 'test',
8
- description: 'test',
9
- values: {
10
- [WEBSITE_PROPERTY]: {
11
- value: 'test',
12
- },
13
- },
14
- });
15
- const { cid, editId } = await publishEdit({
16
- name: 'test',
17
- ops,
18
- author: '0x000000000000000000000000000000000000',
19
- });
20
- console.log(cid, editId);
21
- });
22
- //# sourceMappingURL=ipfsv2.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ipfsv2.test.js","sourceRoot":"","sources":["../../src/ipfsv2.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;IACzB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC;QAC/B,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,MAAM;QACnB,MAAM,EAAE;YACN,CAAC,gBAAgB,CAAC,EAAE;gBAClB,KAAK,EAAE,MAAM;aACd;SACF;KACF,CAAC,CAAC;IAEH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;QACxC,IAAI,EAAE,MAAM;QACZ,GAAG;QACH,MAAM,EAAE,wCAAwC;KACjD,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC3B,CAAC,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- import { type Id } from '../idv2.js';
2
- import type { Op } from '../typesv2.js';
3
- type MakeEditProposalParams = {
4
- name: string;
5
- ops: Op[];
6
- author: string;
7
- language?: Id;
8
- };
9
- export declare function encode({ name, ops, author, language }: MakeEditProposalParams): Uint8Array;
10
- export {};
11
- //# sourceMappingURL=editv2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editv2.d.ts","sourceRoot":"","sources":["../../../src/proto/editv2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAiC,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAWxC,KAAK,sBAAsB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,EAAE,EAAE,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,EAAE,CAAC;CACf,CAAC;AA6BF,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAsB,GAAG,UAAU,CAQ1F"}
@@ -1,81 +0,0 @@
1
- import { fromBase64, generate, toBytes } from '../idv2.js';
2
- import { Edit, Entity, Op as OpBinary, Relation, RelationUpdate, UnsetEntityValues, UnsetRelationFields, } from './gen/src/proto/ipfsv2_pb.js';
3
- function hexToBytes(hex) {
4
- let hexString = hex;
5
- if (hexString.startsWith('0x')) {
6
- hexString = hexString.slice(2);
7
- }
8
- if (hex.length % 2 !== 0) {
9
- throw new Error('Invalid hex string: must have an even length');
10
- }
11
- const bytes = new Uint8Array(hex.length / 2);
12
- for (let i = 0; i < hex.length; i += 2) {
13
- bytes[i / 2] = Number.parseInt(hex.slice(i, i + 2), 16);
14
- }
15
- return bytes;
16
- }
17
- export function encode({ name, ops, author, language }) {
18
- return new Edit({
19
- id: toBytes(generate()),
20
- name,
21
- ops: opsToBinary(ops),
22
- authors: [hexToBytes(author)],
23
- language: language ? toBytes(language) : undefined,
24
- }).toBinary();
25
- }
26
- function opsToBinary(ops) {
27
- return ops.map(o => {
28
- switch (o.type) {
29
- case 'CREATE_RELATION':
30
- return new OpBinary({
31
- payload: {
32
- case: 'createRelation',
33
- value: Relation.fromJson(o.relation),
34
- },
35
- });
36
- case 'DELETE_RELATION':
37
- return new OpBinary({
38
- payload: {
39
- case: 'deleteRelation',
40
- value: toBytes(fromBase64(o.id)),
41
- },
42
- });
43
- case 'UPDATE_ENTITY':
44
- return new OpBinary({
45
- payload: {
46
- case: 'updateEntity',
47
- value: Entity.fromJson(o.entity),
48
- },
49
- });
50
- case 'UNSET_ENTITY_VALUES':
51
- return new OpBinary({
52
- payload: {
53
- case: 'unsetEntityValues',
54
- value: UnsetEntityValues.fromJson(o.unsetEntityValues),
55
- },
56
- });
57
- case 'DELETE_ENTITY':
58
- return new OpBinary({
59
- payload: {
60
- case: 'deleteEntity',
61
- value: toBytes(fromBase64(o.id)),
62
- },
63
- });
64
- case 'UPDATE_RELATION':
65
- return new OpBinary({
66
- payload: {
67
- case: 'updateRelation',
68
- value: RelationUpdate.fromJson(o.relation),
69
- },
70
- });
71
- case 'UNSET_RELATION_FIELDS':
72
- return new OpBinary({
73
- payload: {
74
- case: 'unsetRelationFields',
75
- value: UnsetRelationFields.fromJson(o.unsetRelationFields),
76
- },
77
- });
78
- }
79
- });
80
- }
81
- //# sourceMappingURL=editv2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editv2.js","sourceRoot":"","sources":["../../../src/proto/editv2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EACL,IAAI,EACJ,MAAM,EACN,EAAE,IAAI,QAAQ,EACd,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAmBtC,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,SAAS,GAAG,GAAG,CAAC;IACpB,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAA0B;IAC5E,OAAO,IAAI,IAAI,CAAC;QACd,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI;QACJ,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC;QACrB,OAAO,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7B,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;KACnD,CAAC,CAAC,QAAQ,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,WAAW,CAAC,GAAS;IAC5B,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACjB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,iBAAiB;gBACpB,OAAO,IAAI,QAAQ,CAAC;oBAClB,OAAO,EAAE;wBACP,IAAI,EAAE,gBAAgB;wBACtB,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;qBACrC;iBACF,CAAC,CAAC;YACL,KAAK,iBAAiB;gBACpB,OAAO,IAAI,QAAQ,CAAC;oBAClB,OAAO,EAAE;wBACP,IAAI,EAAE,gBAAgB;wBACtB,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACjC;iBACF,CAAC,CAAC;YACL,KAAK,eAAe;gBAClB,OAAO,IAAI,QAAQ,CAAC;oBAClB,OAAO,EAAE;wBACP,IAAI,EAAE,cAAc;wBACpB,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;qBACjC;iBACF,CAAC,CAAC;YACL,KAAK,qBAAqB;gBACxB,OAAO,IAAI,QAAQ,CAAC;oBAClB,OAAO,EAAE;wBACP,IAAI,EAAE,mBAAmB;wBACzB,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC;qBACvD;iBACF,CAAC,CAAC;YACL,KAAK,eAAe;gBAClB,OAAO,IAAI,QAAQ,CAAC;oBAClB,OAAO,EAAE;wBACP,IAAI,EAAE,cAAc;wBACpB,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;qBACjC;iBACF,CAAC,CAAC;YACL,KAAK,iBAAiB;gBACpB,OAAO,IAAI,QAAQ,CAAC;oBAClB,OAAO,EAAE;wBACP,IAAI,EAAE,gBAAgB;wBACtB,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;qBAC3C;iBACF,CAAC,CAAC;YACL,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,QAAQ,CAAC;oBAClB,OAAO,EAAE;wBACP,IAAI,EAAE,qBAAqB;wBAC3B,KAAK,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC;qBAC3D;iBACF,CAAC,CAAC;QACP,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=editv2.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editv2.test.d.ts","sourceRoot":"","sources":["../../../src/proto/editv2.test.ts"],"names":[],"mappings":""}