@milaboratories/pl-client 2.17.6 → 2.17.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 (274) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +43 -0
  2. package/dist/_virtual/_rolldown/runtime.js +18 -0
  3. package/dist/core/PromiseTracker.cjs +33 -33
  4. package/dist/core/PromiseTracker.cjs.map +1 -1
  5. package/dist/core/PromiseTracker.d.ts +10 -7
  6. package/dist/core/PromiseTracker.js +33 -31
  7. package/dist/core/PromiseTracker.js.map +1 -1
  8. package/dist/core/StatefulPromise.cjs +60 -61
  9. package/dist/core/StatefulPromise.cjs.map +1 -1
  10. package/dist/core/StatefulPromise.js +60 -60
  11. package/dist/core/StatefulPromise.js.map +1 -1
  12. package/dist/core/abstract_stream.d.ts +18 -15
  13. package/dist/core/advisory_locks.cjs +42 -49
  14. package/dist/core/advisory_locks.cjs.map +1 -1
  15. package/dist/core/advisory_locks.js +42 -48
  16. package/dist/core/advisory_locks.js.map +1 -1
  17. package/dist/core/auth.cjs +10 -15
  18. package/dist/core/auth.cjs.map +1 -1
  19. package/dist/core/auth.d.ts +7 -3
  20. package/dist/core/auth.js +10 -13
  21. package/dist/core/auth.js.map +1 -1
  22. package/dist/core/cache.d.ts +11 -7
  23. package/dist/core/client.cjs +255 -306
  24. package/dist/core/client.cjs.map +1 -1
  25. package/dist/core/client.d.ts +72 -68
  26. package/dist/core/client.js +253 -285
  27. package/dist/core/client.js.map +1 -1
  28. package/dist/core/config.cjs +81 -99
  29. package/dist/core/config.cjs.map +1 -1
  30. package/dist/core/config.d.ts +93 -90
  31. package/dist/core/config.js +81 -98
  32. package/dist/core/config.js.map +1 -1
  33. package/dist/core/default_client.cjs +84 -125
  34. package/dist/core/default_client.cjs.map +1 -1
  35. package/dist/core/default_client.d.ts +9 -6
  36. package/dist/core/default_client.js +78 -103
  37. package/dist/core/default_client.js.map +1 -1
  38. package/dist/core/driver.cjs +12 -16
  39. package/dist/core/driver.cjs.map +1 -1
  40. package/dist/core/driver.d.ts +18 -14
  41. package/dist/core/driver.js +12 -15
  42. package/dist/core/driver.js.map +1 -1
  43. package/dist/core/error_resource.cjs +5 -4
  44. package/dist/core/error_resource.cjs.map +1 -1
  45. package/dist/core/error_resource.js +5 -3
  46. package/dist/core/error_resource.js.map +1 -1
  47. package/dist/core/errors.cjs +104 -140
  48. package/dist/core/errors.cjs.map +1 -1
  49. package/dist/core/errors.d.ts +34 -30
  50. package/dist/core/errors.js +102 -137
  51. package/dist/core/errors.js.map +1 -1
  52. package/dist/core/final.cjs +63 -89
  53. package/dist/core/final.cjs.map +1 -1
  54. package/dist/core/final.d.ts +8 -4
  55. package/dist/core/final.js +63 -87
  56. package/dist/core/final.js.map +1 -1
  57. package/dist/core/ll_client.cjs +416 -521
  58. package/dist/core/ll_client.cjs.map +1 -1
  59. package/dist/core/ll_client.d.ts +100 -97
  60. package/dist/core/ll_client.js +415 -519
  61. package/dist/core/ll_client.js.map +1 -1
  62. package/dist/core/ll_transaction.cjs +206 -240
  63. package/dist/core/ll_transaction.cjs.map +1 -1
  64. package/dist/core/ll_transaction.d.ts +50 -52
  65. package/dist/core/ll_transaction.js +205 -238
  66. package/dist/core/ll_transaction.js.map +1 -1
  67. package/dist/core/stat.cjs +64 -63
  68. package/dist/core/stat.cjs.map +1 -1
  69. package/dist/core/stat.d.ts +35 -36
  70. package/dist/core/stat.js +64 -62
  71. package/dist/core/stat.js.map +1 -1
  72. package/dist/core/transaction.cjs +613 -650
  73. package/dist/core/transaction.cjs.map +1 -1
  74. package/dist/core/transaction.d.ts +165 -162
  75. package/dist/core/transaction.js +612 -648
  76. package/dist/core/transaction.js.map +1 -1
  77. package/dist/core/type_conversion.cjs +62 -83
  78. package/dist/core/type_conversion.cjs.map +1 -1
  79. package/dist/core/type_conversion.js +61 -81
  80. package/dist/core/type_conversion.js.map +1 -1
  81. package/dist/core/types.cjs +56 -86
  82. package/dist/core/types.cjs.map +1 -1
  83. package/dist/core/types.d.ts +63 -62
  84. package/dist/core/types.js +54 -83
  85. package/dist/core/types.js.map +1 -1
  86. package/dist/core/unauth_client.cjs +35 -41
  87. package/dist/core/unauth_client.cjs.map +1 -1
  88. package/dist/core/unauth_client.d.ts +18 -14
  89. package/dist/core/unauth_client.js +34 -39
  90. package/dist/core/unauth_client.js.map +1 -1
  91. package/dist/core/websocket_stream.cjs +277 -349
  92. package/dist/core/websocket_stream.cjs.map +1 -1
  93. package/dist/core/websocket_stream.js +275 -347
  94. package/dist/core/websocket_stream.js.map +1 -1
  95. package/dist/core/wire.d.ts +21 -17
  96. package/dist/helpers/pl.cjs +71 -73
  97. package/dist/helpers/pl.cjs.map +1 -1
  98. package/dist/helpers/pl.d.ts +40 -41
  99. package/dist/helpers/pl.js +66 -46
  100. package/dist/helpers/pl.js.map +1 -1
  101. package/dist/helpers/poll.cjs +99 -134
  102. package/dist/helpers/poll.cjs.map +1 -1
  103. package/dist/helpers/poll.d.ts +37 -34
  104. package/dist/helpers/poll.js +97 -113
  105. package/dist/helpers/poll.js.map +1 -1
  106. package/dist/helpers/retry_strategy.cjs +82 -87
  107. package/dist/helpers/retry_strategy.cjs.map +1 -1
  108. package/dist/helpers/retry_strategy.js +83 -86
  109. package/dist/helpers/retry_strategy.js.map +1 -1
  110. package/dist/helpers/tx_helpers.cjs +21 -20
  111. package/dist/helpers/tx_helpers.cjs.map +1 -1
  112. package/dist/helpers/tx_helpers.d.ts +11 -7
  113. package/dist/helpers/tx_helpers.js +20 -18
  114. package/dist/helpers/tx_helpers.js.map +1 -1
  115. package/dist/index.cjs +117 -106
  116. package/dist/index.d.ts +17 -17
  117. package/dist/index.js +17 -19
  118. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.cjs +72 -66
  119. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.cjs.map +1 -1
  120. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.d.ts +35 -37
  121. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.js +71 -64
  122. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.js.map +1 -1
  123. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.cjs +12611 -12866
  124. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.cjs.map +1 -1
  125. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.cjs +226 -226
  126. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.cjs.map +1 -1
  127. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts +281 -330
  128. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.js +225 -224
  129. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.js.map +1 -1
  130. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts +2640 -4294
  131. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.js +12608 -12706
  132. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.js.map +1 -1
  133. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.cjs +1230 -1089
  134. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.cjs.map +1 -1
  135. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts +393 -420
  136. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.js +1228 -1083
  137. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.js.map +1 -1
  138. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.cjs +142 -143
  139. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.cjs.map +1 -1
  140. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts +62 -64
  141. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.js +140 -141
  142. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.js.map +1 -1
  143. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.cjs +572 -487
  144. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.cjs.map +1 -1
  145. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts +125 -228
  146. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.js +572 -485
  147. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.js.map +1 -1
  148. package/dist/proto-grpc/google/protobuf/any.cjs +131 -146
  149. package/dist/proto-grpc/google/protobuf/any.cjs.map +1 -1
  150. package/dist/proto-grpc/google/protobuf/any.d.ts +78 -84
  151. package/dist/proto-grpc/google/protobuf/any.js +130 -144
  152. package/dist/proto-grpc/google/protobuf/any.js.map +1 -1
  153. package/dist/proto-grpc/google/protobuf/duration.cjs +92 -100
  154. package/dist/proto-grpc/google/protobuf/duration.cjs.map +1 -1
  155. package/dist/proto-grpc/google/protobuf/duration.d.ts +38 -43
  156. package/dist/proto-grpc/google/protobuf/duration.js +91 -98
  157. package/dist/proto-grpc/google/protobuf/duration.js.map +1 -1
  158. package/dist/proto-grpc/google/protobuf/timestamp.cjs +117 -128
  159. package/dist/proto-grpc/google/protobuf/timestamp.cjs.map +1 -1
  160. package/dist/proto-grpc/google/protobuf/timestamp.d.ts +50 -55
  161. package/dist/proto-grpc/google/protobuf/timestamp.js +116 -126
  162. package/dist/proto-grpc/google/protobuf/timestamp.js.map +1 -1
  163. package/dist/proto-grpc/google/rpc/code.cjs +223 -238
  164. package/dist/proto-grpc/google/rpc/code.cjs.map +1 -1
  165. package/dist/proto-grpc/google/rpc/code.d.ts +209 -206
  166. package/dist/proto-grpc/google/rpc/code.js +221 -237
  167. package/dist/proto-grpc/google/rpc/code.js.map +1 -1
  168. package/dist/proto-rest/index.cjs +67 -66
  169. package/dist/proto-rest/index.cjs.map +1 -1
  170. package/dist/proto-rest/index.d.ts +24 -18
  171. package/dist/proto-rest/index.js +61 -65
  172. package/dist/proto-rest/index.js.map +1 -1
  173. package/dist/proto-rest/plapi.d.ts +1400 -1477
  174. package/dist/test/tcp-proxy.cjs +100 -126
  175. package/dist/test/tcp-proxy.cjs.map +1 -1
  176. package/dist/test/tcp-proxy.d.ts +17 -13
  177. package/dist/test/tcp-proxy.js +97 -104
  178. package/dist/test/tcp-proxy.js.map +1 -1
  179. package/dist/test/test_config.cjs +145 -194
  180. package/dist/test/test_config.cjs.map +1 -1
  181. package/dist/test/test_config.d.ts +34 -30
  182. package/dist/test/test_config.js +138 -166
  183. package/dist/test/test_config.js.map +1 -1
  184. package/dist/util/pl.cjs +4 -3
  185. package/dist/util/pl.cjs.map +1 -1
  186. package/dist/util/pl.js +4 -2
  187. package/dist/util/pl.js.map +1 -1
  188. package/dist/util/util.cjs +7 -10
  189. package/dist/util/util.cjs.map +1 -1
  190. package/dist/util/util.js +7 -9
  191. package/dist/util/util.js.map +1 -1
  192. package/package.json +10 -10
  193. package/src/core/transaction.ts +123 -133
  194. package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.cjs +0 -61
  195. package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.cjs.map +0 -1
  196. package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.js +0 -58
  197. package/dist/__external/.pnpm/@rollup_plugin-typescript@12.3.0_rollup@4.52.4_tslib@2.8.1_typescript@5.6.3/__external/tslib/tslib.es6.js.map +0 -1
  198. package/dist/core/PromiseTracker.d.ts.map +0 -1
  199. package/dist/core/StatefulPromise.d.ts +0 -39
  200. package/dist/core/StatefulPromise.d.ts.map +0 -1
  201. package/dist/core/abstract_stream.d.ts.map +0 -1
  202. package/dist/core/advisory_locks.d.ts +0 -10
  203. package/dist/core/advisory_locks.d.ts.map +0 -1
  204. package/dist/core/auth.d.ts.map +0 -1
  205. package/dist/core/cache.d.ts.map +0 -1
  206. package/dist/core/client.d.ts.map +0 -1
  207. package/dist/core/config.d.ts.map +0 -1
  208. package/dist/core/default_client.d.ts.map +0 -1
  209. package/dist/core/driver.d.ts.map +0 -1
  210. package/dist/core/error_resource.d.ts +0 -6
  211. package/dist/core/error_resource.d.ts.map +0 -1
  212. package/dist/core/errors.d.ts.map +0 -1
  213. package/dist/core/final.d.ts.map +0 -1
  214. package/dist/core/ll_client.d.ts.map +0 -1
  215. package/dist/core/ll_transaction.d.ts.map +0 -1
  216. package/dist/core/stat.d.ts.map +0 -1
  217. package/dist/core/transaction.d.ts.map +0 -1
  218. package/dist/core/type_conversion.d.ts +0 -8
  219. package/dist/core/type_conversion.d.ts.map +0 -1
  220. package/dist/core/types.d.ts.map +0 -1
  221. package/dist/core/unauth_client.d.ts.map +0 -1
  222. package/dist/core/websocket_stream.d.ts +0 -67
  223. package/dist/core/websocket_stream.d.ts.map +0 -1
  224. package/dist/core/wire.d.ts.map +0 -1
  225. package/dist/helpers/pl.d.ts.map +0 -1
  226. package/dist/helpers/poll.d.ts.map +0 -1
  227. package/dist/helpers/retry_strategy.d.ts +0 -24
  228. package/dist/helpers/retry_strategy.d.ts.map +0 -1
  229. package/dist/helpers/state_helpers.d.ts +0 -3
  230. package/dist/helpers/state_helpers.d.ts.map +0 -1
  231. package/dist/helpers/tx_helpers.d.ts.map +0 -1
  232. package/dist/index.cjs.map +0 -1
  233. package/dist/index.d.ts.map +0 -1
  234. package/dist/index.js.map +0 -1
  235. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.d.ts.map +0 -1
  236. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts.map +0 -1
  237. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts.map +0 -1
  238. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts.map +0 -1
  239. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts.map +0 -1
  240. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/import.d.ts +0 -106
  241. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/import.d.ts.map +0 -1
  242. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts.map +0 -1
  243. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/ws-test.d.ts +0 -73
  244. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/ws-test.d.ts.map +0 -1
  245. package/dist/proto-grpc/google/api/http.d.ts +0 -456
  246. package/dist/proto-grpc/google/api/http.d.ts.map +0 -1
  247. package/dist/proto-grpc/google/protobuf/any.d.ts.map +0 -1
  248. package/dist/proto-grpc/google/protobuf/descriptor.d.ts +0 -2340
  249. package/dist/proto-grpc/google/protobuf/descriptor.d.ts.map +0 -1
  250. package/dist/proto-grpc/google/protobuf/duration.d.ts.map +0 -1
  251. package/dist/proto-grpc/google/protobuf/empty.d.ts +0 -32
  252. package/dist/proto-grpc/google/protobuf/empty.d.ts.map +0 -1
  253. package/dist/proto-grpc/google/protobuf/struct.d.ts +0 -187
  254. package/dist/proto-grpc/google/protobuf/struct.d.ts.map +0 -1
  255. package/dist/proto-grpc/google/protobuf/timestamp.d.ts.map +0 -1
  256. package/dist/proto-grpc/google/protobuf/wrappers.d.ts +0 -308
  257. package/dist/proto-grpc/google/protobuf/wrappers.d.ts.map +0 -1
  258. package/dist/proto-grpc/google/rpc/code.d.ts.map +0 -1
  259. package/dist/proto-grpc/google/rpc/error_details.d.ts +0 -654
  260. package/dist/proto-grpc/google/rpc/error_details.d.ts.map +0 -1
  261. package/dist/proto-grpc/google/rpc/http.d.ts +0 -121
  262. package/dist/proto-grpc/google/rpc/http.d.ts.map +0 -1
  263. package/dist/proto-grpc/google/rpc/status.d.ts +0 -55
  264. package/dist/proto-grpc/google/rpc/status.d.ts.map +0 -1
  265. package/dist/proto-rest/index.d.ts.map +0 -1
  266. package/dist/proto-rest/plapi.d.ts.map +0 -1
  267. package/dist/test/tcp-proxy.d.ts.map +0 -1
  268. package/dist/test/test_config.d.ts.map +0 -1
  269. package/dist/util/branding.d.ts +0 -7
  270. package/dist/util/branding.d.ts.map +0 -1
  271. package/dist/util/pl.d.ts +0 -9
  272. package/dist/util/pl.d.ts.map +0 -1
  273. package/dist/util/util.d.ts +0 -2
  274. package/dist/util/util.d.ts.map +0 -1
@@ -1,97 +1,73 @@
1
- import { isNotNullResourceId, getField, isNullResourceId } from './types.js';
1
+ import { getField, isNotNullResourceId, isNullResourceId } from "./types.js";
2
2
 
3
+ //#region src/core/final.ts
3
4
  function readyOrDuplicateOrError(r) {
4
- return (r.resourceReady || isNotNullResourceId(r.originalResourceId) || isNotNullResourceId(r.error));
5
+ return r.resourceReady || isNotNullResourceId(r.originalResourceId) || isNotNullResourceId(r.error);
5
6
  }
6
7
  function readyAndHasAllOutputsFilled(r) {
7
- if (!readyOrDuplicateOrError(r))
8
- return false;
9
- if (!r.outputsLocked)
10
- return false;
11
- if (r.fields === undefined)
12
- return true; // if fields are not provided basic resource state is not expected to change in the future
13
- for (const f of r.fields)
14
- if (isNullResourceId(f.error) && (isNullResourceId(f.value) || !f.valueIsFinal))
15
- return false;
16
- return true;
8
+ if (!readyOrDuplicateOrError(r)) return false;
9
+ if (!r.outputsLocked) return false;
10
+ if (r.fields === void 0) return true;
11
+ for (const f of r.fields) if (isNullResourceId(f.error) && (isNullResourceId(f.value) || !f.valueIsFinal)) return false;
12
+ return true;
17
13
  }
18
- // solely for logging
19
- const unknownResourceTypeNames = new Set();
14
+ const unknownResourceTypeNames = /* @__PURE__ */ new Set();
20
15
  /** Default implementation, defining behaviour for built-in resource types. */
21
16
  const DefaultFinalResourceDataPredicate = (r) => {
22
- switch (r.type.name) {
23
- case "StreamManager": {
24
- if (!readyOrDuplicateOrError(r))
25
- return false;
26
- if (r.fields === undefined)
27
- return true; // if fields are not provided basic resource state is not expected to change in the future
28
- if (isNotNullResourceId(r.error))
29
- return true;
30
- const downloadable = getField(r, "downloadable");
31
- const stream = getField(r, "stream");
32
- return stream.value === downloadable.value;
33
- }
34
- case "StdMap":
35
- case "std/map":
36
- case "EphStdMap":
37
- case "PFrame":
38
- case "ParquetChunk":
39
- case "BContext":
40
- case "BlockPackCustom":
41
- case "BinaryMap":
42
- case "BinaryValue":
43
- case "BlobMap":
44
- case "BResolveSingle":
45
- case "BResolveSingleNoResult":
46
- case "BQueryResult":
47
- case "TengoTemplate":
48
- case "TengoLib":
49
- case "SoftwareInfo":
50
- case "Dummy":
51
- return readyOrDuplicateOrError(r);
52
- case "json/resourceError":
53
- return r.type.version === "1";
54
- case "json/object":
55
- case "json-gz/object":
56
- case "json/string":
57
- case "json/array":
58
- case "json/number":
59
- case "BContextEnd":
60
- case "Frontend/FromUrl":
61
- case "Frontend/FromFolder":
62
- case "BObjectSpec":
63
- case "Blob":
64
- case "Null":
65
- case "binary":
66
- case "LSProvider":
67
- return true;
68
- case "UserProject":
69
- case "Projects":
70
- case "ClientRoot":
71
- return false;
72
- default:
73
- if (r.type.name.startsWith("Blob/"))
74
- return true;
75
- else if (r.type.name.startsWith("BlobUpload/") || r.type.name.startsWith("BlobIndex/")) {
76
- return readyAndHasAllOutputsFilled(r);
77
- }
78
- else if (r.type.name.startsWith("PColumnData/")) {
79
- return readyOrDuplicateOrError(r);
80
- }
81
- else if (r.type.name.startsWith("StreamWorkdir/")) {
82
- return readyOrDuplicateOrError(r);
83
- }
84
- else {
85
- // Unknown resource type detected
86
- // Set used to log this message only once
87
- if (!unknownResourceTypeNames.has(r.type.name)) {
88
- console.log("UNKNOWN RESOURCE TYPE: " + r.type.name);
89
- unknownResourceTypeNames.add(r.type.name);
90
- }
91
- }
92
- }
93
- return false;
17
+ switch (r.type.name) {
18
+ case "StreamManager": {
19
+ if (!readyOrDuplicateOrError(r)) return false;
20
+ if (r.fields === void 0) return true;
21
+ if (isNotNullResourceId(r.error)) return true;
22
+ const downloadable = getField(r, "downloadable");
23
+ return getField(r, "stream").value === downloadable.value;
24
+ }
25
+ case "StdMap":
26
+ case "std/map":
27
+ case "EphStdMap":
28
+ case "PFrame":
29
+ case "ParquetChunk":
30
+ case "BContext":
31
+ case "BlockPackCustom":
32
+ case "BinaryMap":
33
+ case "BinaryValue":
34
+ case "BlobMap":
35
+ case "BResolveSingle":
36
+ case "BResolveSingleNoResult":
37
+ case "BQueryResult":
38
+ case "TengoTemplate":
39
+ case "TengoLib":
40
+ case "SoftwareInfo":
41
+ case "Dummy": return readyOrDuplicateOrError(r);
42
+ case "json/resourceError": return r.type.version === "1";
43
+ case "json/object":
44
+ case "json-gz/object":
45
+ case "json/string":
46
+ case "json/array":
47
+ case "json/number":
48
+ case "BContextEnd":
49
+ case "Frontend/FromUrl":
50
+ case "Frontend/FromFolder":
51
+ case "BObjectSpec":
52
+ case "Blob":
53
+ case "Null":
54
+ case "binary":
55
+ case "LSProvider": return true;
56
+ case "UserProject":
57
+ case "Projects":
58
+ case "ClientRoot": return false;
59
+ default: if (r.type.name.startsWith("Blob/")) return true;
60
+ else if (r.type.name.startsWith("BlobUpload/") || r.type.name.startsWith("BlobIndex/")) return readyAndHasAllOutputsFilled(r);
61
+ else if (r.type.name.startsWith("PColumnData/")) return readyOrDuplicateOrError(r);
62
+ else if (r.type.name.startsWith("StreamWorkdir/")) return readyOrDuplicateOrError(r);
63
+ else if (!unknownResourceTypeNames.has(r.type.name)) {
64
+ console.log("UNKNOWN RESOURCE TYPE: " + r.type.name);
65
+ unknownResourceTypeNames.add(r.type.name);
66
+ }
67
+ }
68
+ return false;
94
69
  };
95
70
 
71
+ //#endregion
96
72
  export { DefaultFinalResourceDataPredicate };
97
- //# sourceMappingURL=final.js.map
73
+ //# sourceMappingURL=final.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"final.js","sources":["../../src/core/final.ts"],"sourcesContent":["import type { Optional } from \"utility-types\";\nimport type { BasicResourceData, ResourceData } from \"./types\";\nimport { getField, isNotNullResourceId, isNullResourceId } from \"./types\";\n\n/**\n * Function is used to guide multiple layers of caching in pl-client and derived pl-tree.\n *\n * This function defines expected resource-specific state mutation behaviour,\n * if it returns true, system will expect that this data will never change as long as resource exist.\n *\n * If resource data contain information about fields, if should be taken into account, fields are undefined,\n * \"final\" state should be calculated for \"basic\" part of resource data only.\n */\nexport type FinalResourceDataPredicate = (\n resourceData: Optional<ResourceData, \"fields\">,\n) => boolean;\n\nfunction readyOrDuplicateOrError(r: ResourceData | BasicResourceData): boolean {\n return (\n r.resourceReady || isNotNullResourceId(r.originalResourceId) || isNotNullResourceId(r.error)\n );\n}\n\nfunction readyAndHasAllOutputsFilled(r: Optional<ResourceData, \"fields\">): boolean {\n if (!readyOrDuplicateOrError(r)) return false;\n if (!r.outputsLocked) return false;\n if (r.fields === undefined) return true; // if fields are not provided basic resource state is not expected to change in the future\n for (const f of r.fields)\n if (isNullResourceId(f.error) && (isNullResourceId(f.value) || !f.valueIsFinal)) return false;\n return true;\n}\n\n// solely for logging\nconst unknownResourceTypeNames = new Set<string>();\n\n/** Default implementation, defining behaviour for built-in resource types. */\nexport const DefaultFinalResourceDataPredicate: FinalResourceDataPredicate = (r): boolean => {\n switch (r.type.name) {\n case \"StreamManager\": {\n if (!readyOrDuplicateOrError(r)) return false;\n if (r.fields === undefined) return true; // if fields are not provided basic resource state is not expected to change in the future\n if (isNotNullResourceId(r.error)) return true;\n const downloadable = getField(r as ResourceData, \"downloadable\");\n const stream = getField(r as ResourceData, \"stream\");\n return stream.value === downloadable.value;\n }\n case \"StdMap\":\n case \"std/map\":\n case \"EphStdMap\":\n case \"PFrame\":\n case \"ParquetChunk\":\n case \"BContext\":\n case \"BlockPackCustom\":\n case \"BinaryMap\":\n case \"BinaryValue\":\n case \"BlobMap\":\n case \"BResolveSingle\":\n case \"BResolveSingleNoResult\":\n case \"BQueryResult\":\n case \"TengoTemplate\":\n case \"TengoLib\":\n case \"SoftwareInfo\":\n case \"Dummy\":\n return readyOrDuplicateOrError(r);\n case \"json/resourceError\":\n return r.type.version === \"1\";\n case \"json/object\":\n case \"json-gz/object\":\n case \"json/string\":\n case \"json/array\":\n case \"json/number\":\n case \"BContextEnd\":\n case \"Frontend/FromUrl\":\n case \"Frontend/FromFolder\":\n case \"BObjectSpec\":\n case \"Blob\":\n case \"Null\":\n case \"binary\":\n case \"LSProvider\":\n return true;\n case \"UserProject\":\n case \"Projects\":\n case \"ClientRoot\":\n return false;\n default:\n if (r.type.name.startsWith(\"Blob/\")) return true;\n else if (r.type.name.startsWith(\"BlobUpload/\") || r.type.name.startsWith(\"BlobIndex/\")) {\n return readyAndHasAllOutputsFilled(r);\n } else if (r.type.name.startsWith(\"PColumnData/\")) {\n return readyOrDuplicateOrError(r);\n } else if (r.type.name.startsWith(\"StreamWorkdir/\")) {\n return readyOrDuplicateOrError(r);\n } else {\n // Unknown resource type detected\n // Set used to log this message only once\n if (!unknownResourceTypeNames.has(r.type.name)) {\n console.log(\"UNKNOWN RESOURCE TYPE: \" + r.type.name);\n unknownResourceTypeNames.add(r.type.name);\n }\n }\n }\n return false;\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"final.js","names":[],"sources":["../../src/core/final.ts"],"sourcesContent":["import type { Optional } from \"utility-types\";\nimport type { BasicResourceData, ResourceData } from \"./types\";\nimport { getField, isNotNullResourceId, isNullResourceId } from \"./types\";\n\n/**\n * Function is used to guide multiple layers of caching in pl-client and derived pl-tree.\n *\n * This function defines expected resource-specific state mutation behaviour,\n * if it returns true, system will expect that this data will never change as long as resource exist.\n *\n * If resource data contain information about fields, if should be taken into account, fields are undefined,\n * \"final\" state should be calculated for \"basic\" part of resource data only.\n */\nexport type FinalResourceDataPredicate = (\n resourceData: Optional<ResourceData, \"fields\">,\n) => boolean;\n\nfunction readyOrDuplicateOrError(r: ResourceData | BasicResourceData): boolean {\n return (\n r.resourceReady || isNotNullResourceId(r.originalResourceId) || isNotNullResourceId(r.error)\n );\n}\n\nfunction readyAndHasAllOutputsFilled(r: Optional<ResourceData, \"fields\">): boolean {\n if (!readyOrDuplicateOrError(r)) return false;\n if (!r.outputsLocked) return false;\n if (r.fields === undefined) return true; // if fields are not provided basic resource state is not expected to change in the future\n for (const f of r.fields)\n if (isNullResourceId(f.error) && (isNullResourceId(f.value) || !f.valueIsFinal)) return false;\n return true;\n}\n\n// solely for logging\nconst unknownResourceTypeNames = new Set<string>();\n\n/** Default implementation, defining behaviour for built-in resource types. */\nexport const DefaultFinalResourceDataPredicate: FinalResourceDataPredicate = (r): boolean => {\n switch (r.type.name) {\n case \"StreamManager\": {\n if (!readyOrDuplicateOrError(r)) return false;\n if (r.fields === undefined) return true; // if fields are not provided basic resource state is not expected to change in the future\n if (isNotNullResourceId(r.error)) return true;\n const downloadable = getField(r as ResourceData, \"downloadable\");\n const stream = getField(r as ResourceData, \"stream\");\n return stream.value === downloadable.value;\n }\n case \"StdMap\":\n case \"std/map\":\n case \"EphStdMap\":\n case \"PFrame\":\n case \"ParquetChunk\":\n case \"BContext\":\n case \"BlockPackCustom\":\n case \"BinaryMap\":\n case \"BinaryValue\":\n case \"BlobMap\":\n case \"BResolveSingle\":\n case \"BResolveSingleNoResult\":\n case \"BQueryResult\":\n case \"TengoTemplate\":\n case \"TengoLib\":\n case \"SoftwareInfo\":\n case \"Dummy\":\n return readyOrDuplicateOrError(r);\n case \"json/resourceError\":\n return r.type.version === \"1\";\n case \"json/object\":\n case \"json-gz/object\":\n case \"json/string\":\n case \"json/array\":\n case \"json/number\":\n case \"BContextEnd\":\n case \"Frontend/FromUrl\":\n case \"Frontend/FromFolder\":\n case \"BObjectSpec\":\n case \"Blob\":\n case \"Null\":\n case \"binary\":\n case \"LSProvider\":\n return true;\n case \"UserProject\":\n case \"Projects\":\n case \"ClientRoot\":\n return false;\n default:\n if (r.type.name.startsWith(\"Blob/\")) return true;\n else if (r.type.name.startsWith(\"BlobUpload/\") || r.type.name.startsWith(\"BlobIndex/\")) {\n return readyAndHasAllOutputsFilled(r);\n } else if (r.type.name.startsWith(\"PColumnData/\")) {\n return readyOrDuplicateOrError(r);\n } else if (r.type.name.startsWith(\"StreamWorkdir/\")) {\n return readyOrDuplicateOrError(r);\n } else {\n // Unknown resource type detected\n // Set used to log this message only once\n if (!unknownResourceTypeNames.has(r.type.name)) {\n console.log(\"UNKNOWN RESOURCE TYPE: \" + r.type.name);\n unknownResourceTypeNames.add(r.type.name);\n }\n }\n }\n return false;\n};\n"],"mappings":";;;AAiBA,SAAS,wBAAwB,GAA8C;AAC7E,QACE,EAAE,iBAAiB,oBAAoB,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,MAAM;;AAIhG,SAAS,4BAA4B,GAA8C;AACjF,KAAI,CAAC,wBAAwB,EAAE,CAAE,QAAO;AACxC,KAAI,CAAC,EAAE,cAAe,QAAO;AAC7B,KAAI,EAAE,WAAW,OAAW,QAAO;AACnC,MAAK,MAAM,KAAK,EAAE,OAChB,KAAI,iBAAiB,EAAE,MAAM,KAAK,iBAAiB,EAAE,MAAM,IAAI,CAAC,EAAE,cAAe,QAAO;AAC1F,QAAO;;AAIT,MAAM,2CAA2B,IAAI,KAAa;;AAGlD,MAAa,qCAAiE,MAAe;AAC3F,SAAQ,EAAE,KAAK,MAAf;EACE,KAAK,iBAAiB;AACpB,OAAI,CAAC,wBAAwB,EAAE,CAAE,QAAO;AACxC,OAAI,EAAE,WAAW,OAAW,QAAO;AACnC,OAAI,oBAAoB,EAAE,MAAM,CAAE,QAAO;GACzC,MAAM,eAAe,SAAS,GAAmB,eAAe;AAEhE,UADe,SAAS,GAAmB,SAAS,CACtC,UAAU,aAAa;;EAEvC,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,QACH,QAAO,wBAAwB,EAAE;EACnC,KAAK,qBACH,QAAO,EAAE,KAAK,YAAY;EAC5B,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK,aACH,QAAO;EACT,KAAK;EACL,KAAK;EACL,KAAK,aACH,QAAO;EACT,QACE,KAAI,EAAE,KAAK,KAAK,WAAW,QAAQ,CAAE,QAAO;WACnC,EAAE,KAAK,KAAK,WAAW,cAAc,IAAI,EAAE,KAAK,KAAK,WAAW,aAAa,CACpF,QAAO,4BAA4B,EAAE;WAC5B,EAAE,KAAK,KAAK,WAAW,eAAe,CAC/C,QAAO,wBAAwB,EAAE;WACxB,EAAE,KAAK,KAAK,WAAW,iBAAiB,CACjD,QAAO,wBAAwB,EAAE;WAI7B,CAAC,yBAAyB,IAAI,EAAE,KAAK,KAAK,EAAE;AAC9C,WAAQ,IAAI,4BAA4B,EAAE,KAAK,KAAK;AACpD,4BAAyB,IAAI,EAAE,KAAK,KAAK;;;AAIjD,QAAO"}