@teepin/sdk 0.2.1 → 0.3.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 (134) hide show
  1. package/README.md +41 -36
  2. package/dist/cjs/client.js +42 -4
  3. package/dist/cjs/client.js.map +1 -1
  4. package/dist/cjs/direct/bytes.js +50 -0
  5. package/dist/cjs/direct/bytes.js.map +1 -0
  6. package/dist/cjs/direct/common.js +167 -0
  7. package/dist/cjs/direct/common.js.map +1 -0
  8. package/dist/cjs/direct/downloads-plan.js +127 -0
  9. package/dist/cjs/direct/downloads-plan.js.map +1 -0
  10. package/dist/cjs/direct/engine.js +405 -0
  11. package/dist/cjs/direct/engine.js.map +1 -0
  12. package/dist/cjs/direct/formats.js +44 -0
  13. package/dist/cjs/direct/formats.js.map +1 -0
  14. package/dist/cjs/direct/hpke.js +275 -0
  15. package/dist/cjs/direct/hpke.js.map +1 -0
  16. package/dist/cjs/direct/journal.js +80 -0
  17. package/dist/cjs/direct/journal.js.map +1 -0
  18. package/dist/cjs/direct/large.js +850 -0
  19. package/dist/cjs/direct/large.js.map +1 -0
  20. package/dist/cjs/direct/reads.js +1314 -0
  21. package/dist/cjs/direct/reads.js.map +1 -0
  22. package/dist/cjs/direct/sha256.js +122 -0
  23. package/dist/cjs/direct/sha256.js.map +1 -0
  24. package/dist/cjs/direct/tws1.js +480 -0
  25. package/dist/cjs/direct/tws1.js.map +1 -0
  26. package/dist/cjs/direct/uploads.js +1706 -0
  27. package/dist/cjs/direct/uploads.js.map +1 -0
  28. package/dist/cjs/errors.js +70 -13
  29. package/dist/cjs/errors.js.map +1 -1
  30. package/dist/cjs/index.js +5 -1
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/links.js +195 -0
  33. package/dist/cjs/links.js.map +1 -0
  34. package/dist/cjs/node/downloads.js +835 -0
  35. package/dist/cjs/node/downloads.js.map +1 -0
  36. package/dist/cjs/node/journal.js +841 -0
  37. package/dist/cjs/node/journal.js.map +1 -0
  38. package/dist/cjs/node/uploads.js +219 -0
  39. package/dist/cjs/node/uploads.js.map +1 -0
  40. package/dist/cjs/node.js +26 -39
  41. package/dist/cjs/node.js.map +1 -1
  42. package/dist/cjs/storage.js +214 -184
  43. package/dist/cjs/storage.js.map +1 -1
  44. package/dist/cjs/transfer.js +18 -351
  45. package/dist/cjs/transfer.js.map +1 -1
  46. package/dist/esm/client.js +42 -4
  47. package/dist/esm/client.js.map +1 -1
  48. package/dist/esm/direct/bytes.js +42 -0
  49. package/dist/esm/direct/bytes.js.map +1 -0
  50. package/dist/esm/direct/common.js +155 -0
  51. package/dist/esm/direct/common.js.map +1 -0
  52. package/dist/esm/direct/downloads-plan.js +117 -0
  53. package/dist/esm/direct/downloads-plan.js.map +1 -0
  54. package/dist/esm/direct/engine.js +385 -0
  55. package/dist/esm/direct/engine.js.map +1 -0
  56. package/dist/esm/direct/formats.js +40 -0
  57. package/dist/esm/direct/formats.js.map +1 -0
  58. package/dist/esm/direct/hpke.js +262 -0
  59. package/dist/esm/direct/hpke.js.map +1 -0
  60. package/dist/esm/direct/journal.js +75 -0
  61. package/dist/esm/direct/journal.js.map +1 -0
  62. package/dist/esm/direct/large.js +816 -0
  63. package/dist/esm/direct/large.js.map +1 -0
  64. package/dist/esm/direct/reads.js +1275 -0
  65. package/dist/esm/direct/reads.js.map +1 -0
  66. package/dist/esm/direct/sha256.js +118 -0
  67. package/dist/esm/direct/sha256.js.map +1 -0
  68. package/dist/esm/direct/tws1.js +460 -0
  69. package/dist/esm/direct/tws1.js.map +1 -0
  70. package/dist/esm/direct/uploads.js +1660 -0
  71. package/dist/esm/direct/uploads.js.map +1 -0
  72. package/dist/esm/errors.js +64 -11
  73. package/dist/esm/errors.js.map +1 -1
  74. package/dist/esm/index.js +1 -0
  75. package/dist/esm/index.js.map +1 -1
  76. package/dist/esm/links.js +189 -0
  77. package/dist/esm/links.js.map +1 -0
  78. package/dist/esm/node/downloads.js +829 -0
  79. package/dist/esm/node/downloads.js.map +1 -0
  80. package/dist/esm/node/journal.js +824 -0
  81. package/dist/esm/node/journal.js.map +1 -0
  82. package/dist/esm/node/uploads.js +187 -0
  83. package/dist/esm/node/uploads.js.map +1 -0
  84. package/dist/esm/node.js +17 -14
  85. package/dist/esm/node.js.map +1 -1
  86. package/dist/esm/storage.js +214 -184
  87. package/dist/esm/storage.js.map +1 -1
  88. package/dist/esm/transfer.js +19 -349
  89. package/dist/esm/transfer.js.map +1 -1
  90. package/dist/types/client.d.ts +45 -4
  91. package/dist/types/client.d.ts.map +1 -1
  92. package/dist/types/direct/bytes.d.ts +11 -0
  93. package/dist/types/direct/bytes.d.ts.map +1 -0
  94. package/dist/types/direct/common.d.ts +47 -0
  95. package/dist/types/direct/common.d.ts.map +1 -0
  96. package/dist/types/direct/downloads-plan.d.ts +75 -0
  97. package/dist/types/direct/downloads-plan.d.ts.map +1 -0
  98. package/dist/types/direct/engine.d.ts +191 -0
  99. package/dist/types/direct/engine.d.ts.map +1 -0
  100. package/dist/types/direct/formats.d.ts +9 -0
  101. package/dist/types/direct/formats.d.ts.map +1 -0
  102. package/dist/types/direct/hpke.d.ts +55 -0
  103. package/dist/types/direct/hpke.d.ts.map +1 -0
  104. package/dist/types/direct/journal.d.ts +55 -0
  105. package/dist/types/direct/journal.d.ts.map +1 -0
  106. package/dist/types/direct/large.d.ts +170 -0
  107. package/dist/types/direct/large.d.ts.map +1 -0
  108. package/dist/types/direct/reads.d.ts +306 -0
  109. package/dist/types/direct/reads.d.ts.map +1 -0
  110. package/dist/types/direct/sha256.d.ts +16 -0
  111. package/dist/types/direct/sha256.d.ts.map +1 -0
  112. package/dist/types/direct/tws1.d.ts +157 -0
  113. package/dist/types/direct/tws1.d.ts.map +1 -0
  114. package/dist/types/direct/uploads.d.ts +461 -0
  115. package/dist/types/direct/uploads.d.ts.map +1 -0
  116. package/dist/types/errors.d.ts +47 -8
  117. package/dist/types/errors.d.ts.map +1 -1
  118. package/dist/types/index.d.ts +1 -0
  119. package/dist/types/index.d.ts.map +1 -1
  120. package/dist/types/links.d.ts +86 -0
  121. package/dist/types/links.d.ts.map +1 -0
  122. package/dist/types/node/downloads.d.ts +73 -0
  123. package/dist/types/node/downloads.d.ts.map +1 -0
  124. package/dist/types/node/journal.d.ts +162 -0
  125. package/dist/types/node/journal.d.ts.map +1 -0
  126. package/dist/types/node/uploads.d.ts +86 -0
  127. package/dist/types/node/uploads.d.ts.map +1 -0
  128. package/dist/types/node.d.ts +4 -2
  129. package/dist/types/node.d.ts.map +1 -1
  130. package/dist/types/storage.d.ts +107 -64
  131. package/dist/types/storage.d.ts.map +1 -1
  132. package/dist/types/transfer.d.ts +14 -23
  133. package/dist/types/transfer.d.ts.map +1 -1
  134. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"large.js","sourceRoot":"","sources":["../../../src/direct/large.ts"],"names":[],"mappings":"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"}