@milaboratories/pl-model-common 1.31.0 → 1.31.2

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 (266) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +7 -13
  2. package/dist/author_marker.d.ts.map +1 -0
  3. package/dist/base32_encode.cjs +1 -2
  4. package/dist/base32_encode.cjs.map +1 -1
  5. package/dist/base32_encode.js +1 -1
  6. package/dist/base32_encode.js.map +1 -1
  7. package/dist/base64.cjs +1 -2
  8. package/dist/base64.cjs.map +1 -1
  9. package/dist/base64.d.ts.map +1 -0
  10. package/dist/base64.js +1 -1
  11. package/dist/block_state.d.ts.map +1 -0
  12. package/dist/bmodel/block_config.cjs +1 -2
  13. package/dist/bmodel/block_config.cjs.map +1 -1
  14. package/dist/bmodel/block_config.d.ts +0 -1
  15. package/dist/bmodel/block_config.d.ts.map +1 -0
  16. package/dist/bmodel/block_config.js +1 -1
  17. package/dist/bmodel/block_config.js.map +1 -1
  18. package/dist/bmodel/code.cjs +2 -3
  19. package/dist/bmodel/code.cjs.map +1 -1
  20. package/dist/bmodel/code.d.ts +0 -1
  21. package/dist/bmodel/code.d.ts.map +1 -0
  22. package/dist/bmodel/code.js +1 -2
  23. package/dist/bmodel/code.js.map +1 -1
  24. package/dist/bmodel/container.d.ts.map +1 -0
  25. package/dist/bmodel/index.cjs +3 -3
  26. package/dist/bmodel/index.js +3 -3
  27. package/dist/bmodel/normalization.cjs +2 -4
  28. package/dist/bmodel/normalization.cjs.map +1 -1
  29. package/dist/bmodel/normalization.d.ts.map +1 -0
  30. package/dist/bmodel/normalization.js +2 -3
  31. package/dist/bmodel/normalization.js.map +1 -1
  32. package/dist/bmodel/types.d.ts.map +1 -0
  33. package/dist/branding.d.ts.map +1 -0
  34. package/dist/common_types.d.ts.map +1 -0
  35. package/dist/driver_kit.d.ts +0 -1
  36. package/dist/driver_kit.d.ts.map +1 -0
  37. package/dist/drivers/ChunkedStreamReader.cjs +1 -2
  38. package/dist/drivers/ChunkedStreamReader.cjs.map +1 -1
  39. package/dist/drivers/ChunkedStreamReader.d.ts.map +1 -0
  40. package/dist/drivers/ChunkedStreamReader.js +1 -1
  41. package/dist/drivers/ChunkedStreamReader.js.map +1 -1
  42. package/dist/drivers/blob.cjs +2 -3
  43. package/dist/drivers/blob.cjs.map +1 -1
  44. package/dist/drivers/blob.d.ts.map +1 -0
  45. package/dist/drivers/blob.js +1 -2
  46. package/dist/drivers/blob.js.map +1 -1
  47. package/dist/drivers/index.cjs +18 -18
  48. package/dist/drivers/index.d.ts +1 -2
  49. package/dist/drivers/index.js +17 -17
  50. package/dist/drivers/interfaces.d.ts.map +1 -0
  51. package/dist/drivers/log.cjs +11 -4
  52. package/dist/drivers/log.cjs.map +1 -1
  53. package/dist/drivers/log.d.ts +14 -7
  54. package/dist/drivers/log.d.ts.map +1 -0
  55. package/dist/drivers/log.js +11 -4
  56. package/dist/drivers/log.js.map +1 -1
  57. package/dist/drivers/ls.cjs +2 -3
  58. package/dist/drivers/ls.cjs.map +1 -1
  59. package/dist/drivers/ls.d.ts +0 -2
  60. package/dist/drivers/ls.d.ts.map +1 -0
  61. package/dist/drivers/ls.js +1 -2
  62. package/dist/drivers/ls.js.map +1 -1
  63. package/dist/drivers/pframe/column_filter.d.ts.map +1 -0
  64. package/dist/drivers/pframe/data_info.cjs +2 -3
  65. package/dist/drivers/pframe/data_info.cjs.map +1 -1
  66. package/dist/drivers/pframe/data_info.d.ts.map +1 -0
  67. package/dist/drivers/pframe/data_info.js +1 -2
  68. package/dist/drivers/pframe/data_info.js.map +1 -1
  69. package/dist/drivers/pframe/data_types.cjs +4 -5
  70. package/dist/drivers/pframe/data_types.cjs.map +1 -1
  71. package/dist/drivers/pframe/data_types.d.ts.map +1 -0
  72. package/dist/drivers/pframe/data_types.js +3 -4
  73. package/dist/drivers/pframe/data_types.js.map +1 -1
  74. package/dist/drivers/pframe/driver.cjs +1 -2
  75. package/dist/drivers/pframe/driver.cjs.map +1 -1
  76. package/dist/drivers/pframe/driver.d.ts +0 -1
  77. package/dist/drivers/pframe/driver.d.ts.map +1 -0
  78. package/dist/drivers/pframe/driver.js +1 -1
  79. package/dist/drivers/pframe/filter_spec.d.ts.map +1 -0
  80. package/dist/drivers/pframe/find_columns.d.ts.map +1 -0
  81. package/dist/drivers/pframe/index.cjs +15 -15
  82. package/dist/drivers/pframe/index.d.ts +0 -2
  83. package/dist/drivers/pframe/index.js +12 -12
  84. package/dist/drivers/pframe/linker_columns.cjs +3 -4
  85. package/dist/drivers/pframe/linker_columns.cjs.map +1 -1
  86. package/dist/drivers/pframe/linker_columns.d.ts.map +1 -0
  87. package/dist/drivers/pframe/linker_columns.js +1 -2
  88. package/dist/drivers/pframe/linker_columns.js.map +1 -1
  89. package/dist/drivers/pframe/pframe.d.ts +0 -2
  90. package/dist/drivers/pframe/pframe.d.ts.map +1 -0
  91. package/dist/drivers/pframe/query/index.cjs +1 -1
  92. package/dist/drivers/pframe/query/index.js +1 -1
  93. package/dist/drivers/pframe/query/query_common.d.ts +0 -3
  94. package/dist/drivers/pframe/query/query_common.d.ts.map +1 -0
  95. package/dist/drivers/pframe/query/query_data.d.ts +0 -2
  96. package/dist/drivers/pframe/query/query_data.d.ts.map +1 -0
  97. package/dist/drivers/pframe/query/query_spec.d.ts +0 -3
  98. package/dist/drivers/pframe/query/query_spec.d.ts.map +1 -0
  99. package/dist/drivers/pframe/query/utils.cjs +3 -4
  100. package/dist/drivers/pframe/query/utils.cjs.map +1 -1
  101. package/dist/drivers/pframe/query/utils.d.ts.map +1 -0
  102. package/dist/drivers/pframe/query/utils.js +1 -2
  103. package/dist/drivers/pframe/query/utils.js.map +1 -1
  104. package/dist/drivers/pframe/spec/anchored.cjs +4 -5
  105. package/dist/drivers/pframe/spec/anchored.cjs.map +1 -1
  106. package/dist/drivers/pframe/spec/anchored.d.ts.map +1 -0
  107. package/dist/drivers/pframe/spec/anchored.js +1 -2
  108. package/dist/drivers/pframe/spec/anchored.js.map +1 -1
  109. package/dist/drivers/pframe/spec/filtered_column.cjs +1 -2
  110. package/dist/drivers/pframe/spec/filtered_column.cjs.map +1 -1
  111. package/dist/drivers/pframe/spec/filtered_column.d.ts.map +1 -0
  112. package/dist/drivers/pframe/spec/filtered_column.js +1 -1
  113. package/dist/drivers/pframe/spec/ids.cjs +2 -3
  114. package/dist/drivers/pframe/spec/ids.cjs.map +1 -1
  115. package/dist/drivers/pframe/spec/ids.d.ts +0 -2
  116. package/dist/drivers/pframe/spec/ids.d.ts.map +1 -0
  117. package/dist/drivers/pframe/spec/ids.js +1 -2
  118. package/dist/drivers/pframe/spec/ids.js.map +1 -1
  119. package/dist/drivers/pframe/spec/index.cjs +6 -6
  120. package/dist/drivers/pframe/spec/index.js +6 -6
  121. package/dist/drivers/pframe/spec/native_id.cjs +4 -5
  122. package/dist/drivers/pframe/spec/native_id.cjs.map +1 -1
  123. package/dist/drivers/pframe/spec/native_id.d.ts +0 -2
  124. package/dist/drivers/pframe/spec/native_id.d.ts.map +1 -0
  125. package/dist/drivers/pframe/spec/native_id.js +1 -2
  126. package/dist/drivers/pframe/spec/native_id.js.map +1 -1
  127. package/dist/drivers/pframe/spec/selectors.cjs +3 -4
  128. package/dist/drivers/pframe/spec/selectors.cjs.map +1 -1
  129. package/dist/drivers/pframe/spec/selectors.d.ts +0 -2
  130. package/dist/drivers/pframe/spec/selectors.d.ts.map +1 -0
  131. package/dist/drivers/pframe/spec/selectors.js +1 -2
  132. package/dist/drivers/pframe/spec/selectors.js.map +1 -1
  133. package/dist/drivers/pframe/spec/spec.cjs +4 -5
  134. package/dist/drivers/pframe/spec/spec.cjs.map +1 -1
  135. package/dist/drivers/pframe/spec/spec.d.ts +0 -1
  136. package/dist/drivers/pframe/spec/spec.d.ts.map +1 -0
  137. package/dist/drivers/pframe/spec/spec.js +1 -2
  138. package/dist/drivers/pframe/spec/spec.js.map +1 -1
  139. package/dist/drivers/pframe/spec_driver.d.ts +0 -2
  140. package/dist/drivers/pframe/spec_driver.d.ts.map +1 -0
  141. package/dist/drivers/pframe/table.d.ts.map +1 -0
  142. package/dist/drivers/pframe/table_calculate.cjs +6 -7
  143. package/dist/drivers/pframe/table_calculate.cjs.map +1 -1
  144. package/dist/drivers/pframe/table_calculate.d.ts +0 -2
  145. package/dist/drivers/pframe/table_calculate.d.ts.map +1 -0
  146. package/dist/drivers/pframe/table_calculate.js +1 -2
  147. package/dist/drivers/pframe/table_calculate.js.map +1 -1
  148. package/dist/drivers/pframe/table_common.cjs +1 -2
  149. package/dist/drivers/pframe/table_common.cjs.map +1 -1
  150. package/dist/drivers/pframe/table_common.d.ts +0 -2
  151. package/dist/drivers/pframe/table_common.d.ts.map +1 -0
  152. package/dist/drivers/pframe/table_common.js +1 -1
  153. package/dist/drivers/pframe/unique_values.d.ts +0 -2
  154. package/dist/drivers/pframe/unique_values.d.ts.map +1 -0
  155. package/dist/drivers/upload.d.ts.map +1 -0
  156. package/dist/drivers/urls.cjs +1 -2
  157. package/dist/drivers/urls.cjs.map +1 -1
  158. package/dist/drivers/urls.d.ts.map +1 -0
  159. package/dist/drivers/urls.js +1 -1
  160. package/dist/errors.cjs +1 -2
  161. package/dist/errors.cjs.map +1 -1
  162. package/dist/errors.d.ts.map +1 -0
  163. package/dist/errors.js +1 -1
  164. package/dist/errors.js.map +1 -1
  165. package/dist/flags/block_flags.cjs +1 -2
  166. package/dist/flags/block_flags.cjs.map +1 -1
  167. package/dist/flags/block_flags.d.ts +0 -2
  168. package/dist/flags/block_flags.d.ts.map +1 -0
  169. package/dist/flags/block_flags.js +1 -1
  170. package/dist/flags/flag_utils.cjs +1 -2
  171. package/dist/flags/flag_utils.cjs.map +1 -1
  172. package/dist/flags/flag_utils.d.ts.map +1 -0
  173. package/dist/flags/flag_utils.js +1 -1
  174. package/dist/flags/flag_utils.js.map +1 -1
  175. package/dist/flags/type_utils.d.ts.map +1 -0
  176. package/dist/httpAuth.cjs +1 -2
  177. package/dist/httpAuth.cjs.map +1 -1
  178. package/dist/httpAuth.d.ts.map +1 -0
  179. package/dist/httpAuth.js +1 -1
  180. package/dist/index.cjs +47 -47
  181. package/dist/index.d.ts +2 -7
  182. package/dist/index.js +2 -3
  183. package/dist/json.cjs +2 -3
  184. package/dist/json.cjs.map +1 -1
  185. package/dist/json.d.ts.map +1 -0
  186. package/dist/json.js +1 -2
  187. package/dist/json.js.map +1 -1
  188. package/dist/navigation.cjs +1 -2
  189. package/dist/navigation.cjs.map +1 -1
  190. package/dist/navigation.d.ts.map +1 -0
  191. package/dist/navigation.js +1 -1
  192. package/dist/plid.cjs +6 -7
  193. package/dist/plid.cjs.map +1 -1
  194. package/dist/plid.d.ts.map +1 -0
  195. package/dist/plid.js +4 -5
  196. package/dist/plid.js.map +1 -1
  197. package/dist/pool/entry.d.ts.map +1 -0
  198. package/dist/pool/query.cjs +2 -3
  199. package/dist/pool/query.cjs.map +1 -1
  200. package/dist/pool/query.d.ts +0 -1
  201. package/dist/pool/query.d.ts.map +1 -0
  202. package/dist/pool/query.js +1 -2
  203. package/dist/pool/query.js.map +1 -1
  204. package/dist/pool/spec.cjs +2 -3
  205. package/dist/pool/spec.cjs.map +1 -1
  206. package/dist/pool/spec.d.ts +0 -2
  207. package/dist/pool/spec.d.ts.map +1 -0
  208. package/dist/pool/spec.js +1 -2
  209. package/dist/pool/spec.js.map +1 -1
  210. package/dist/pool_entry.cjs +1 -2
  211. package/dist/pool_entry.cjs.map +1 -1
  212. package/dist/pool_entry.d.ts.map +1 -0
  213. package/dist/pool_entry.js +1 -1
  214. package/dist/pool_entry.js.map +1 -1
  215. package/dist/ref.cjs +2 -3
  216. package/dist/ref.cjs.map +1 -1
  217. package/dist/ref.d.ts.map +1 -0
  218. package/dist/ref.js +1 -2
  219. package/dist/ref.js.map +1 -1
  220. package/dist/resource_types.cjs +1 -2
  221. package/dist/resource_types.cjs.map +1 -1
  222. package/dist/resource_types.d.ts.map +1 -0
  223. package/dist/resource_types.js +1 -1
  224. package/dist/services/index.cjs +6 -6
  225. package/dist/services/index.js +6 -6
  226. package/dist/services/service_capabilities.cjs +2 -3
  227. package/dist/services/service_capabilities.cjs.map +1 -1
  228. package/dist/services/service_capabilities.d.ts.map +1 -0
  229. package/dist/services/service_capabilities.js +1 -2
  230. package/dist/services/service_capabilities.js.map +1 -1
  231. package/dist/services/service_declarations.cjs +2 -3
  232. package/dist/services/service_declarations.cjs.map +1 -1
  233. package/dist/services/service_declarations.d.ts +0 -2
  234. package/dist/services/service_declarations.d.ts.map +1 -0
  235. package/dist/services/service_declarations.js +1 -2
  236. package/dist/services/service_declarations.js.map +1 -1
  237. package/dist/services/service_injector_factory.cjs +1 -2
  238. package/dist/services/service_injector_factory.cjs.map +1 -1
  239. package/dist/services/service_injector_factory.d.ts.map +1 -0
  240. package/dist/services/service_injector_factory.js +1 -1
  241. package/dist/services/service_injectors.cjs +4 -5
  242. package/dist/services/service_injectors.cjs.map +1 -1
  243. package/dist/services/service_injectors.d.ts.map +1 -0
  244. package/dist/services/service_injectors.js +1 -2
  245. package/dist/services/service_injectors.js.map +1 -1
  246. package/dist/services/service_registry.cjs +2 -3
  247. package/dist/services/service_registry.cjs.map +1 -1
  248. package/dist/services/service_registry.d.ts.map +1 -0
  249. package/dist/services/service_registry.js +1 -2
  250. package/dist/services/service_registry.js.map +1 -1
  251. package/dist/services/service_types.cjs +2 -3
  252. package/dist/services/service_types.cjs.map +1 -1
  253. package/dist/services/service_types.d.ts.map +1 -0
  254. package/dist/services/service_types.js +1 -2
  255. package/dist/services/service_types.js.map +1 -1
  256. package/dist/utag.d.ts.map +1 -0
  257. package/dist/util.cjs +1 -2
  258. package/dist/util.cjs.map +1 -1
  259. package/dist/util.d.ts.map +1 -0
  260. package/dist/util.js +1 -1
  261. package/dist/value_or_error.cjs +1 -2
  262. package/dist/value_or_error.cjs.map +1 -1
  263. package/dist/value_or_error.d.ts.map +1 -0
  264. package/dist/value_or_error.js +1 -1
  265. package/package.json +8 -8
  266. package/src/drivers/log.ts +21 -7
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import { extractConfigGeneric } from "./bmodel/normalization.js";
4
4
  import "./bmodel/index.js";
5
5
  import { isBlockUIURL, isFolderURL } from "./drivers/urls.js";
6
6
  import { RangeBytes, newRangeBytesOpt, validateRangeBytes } from "./drivers/blob.js";
7
- import { isLiveLog } from "./drivers/log.js";
7
+ import { isAnyLogHandle, isLiveLog } from "./drivers/log.js";
8
8
  import { assertNever, uniqueBy } from "./util.js";
9
9
  import { getFileNameFromHandle, getFilePathFromHandle, isImportFileHandleIndex, isImportFileHandleUpload } from "./drivers/ls.js";
10
10
  import { dataInfoToEntries, entriesToDataInfo, isDataInfo, isDataInfoEntries, isPartitionedDataInfoEntries, mapDataInfo, mapDataInfoEntries, visitDataInfo } from "./drivers/pframe/data_info.js";
@@ -42,5 +42,4 @@ import { createUiServiceInjectors } from "./services/service_injector_factory.js
42
42
  import { SERVICE_METHOD_MAP, buildServiceInfo, resolveUiInjector } from "./services/service_injectors.js";
43
43
  import "./services/index.js";
44
44
  import { PoolEntryGuard } from "./pool_entry.js";
45
-
46
- export { AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchoredIdDeriver, Annotation, AnnotationJson, ChunkedStreamReader, Code, DefaultNavigationState, Domain, DomainJson, IncompatibleFlagsError, LinkerMap, ModelServiceRegistry, PAxisName, PColumnName, PFrameDriverError, PFrameError, PFrameSpecDriverError, PTableNA, PlId, PlIdBytes, PlIdLength, PlRef, PoolEntryGuard, RangeBytes, ResourceTypeName, ResourceTypePrefix, RuntimeCapabilities, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, Services, UiError, UiServiceRegistry, ValueType, assertNever, base64Decode, base64Encode, bigintReplacer, buildServiceInfo, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createPlRef, createUiServiceInjectors, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getMethodNames, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isKnownServiceName, isLabelColumn, isLinkerColumn, isLiveLog, isNodeService, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableNA, isPartitionedDataInfoEntries, isPlRef, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, registerServiceCapabilities, resolveAnchors, resolveAnnotationParents, resolveRequiredServices, resolveUiInjector, serializeError, serializeHttpAuth, serializeResult, service, serviceFnKey, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
45
+ export { AbortError, AllRequiresFeatureFlags, AllSupportsFeatureFlags, AnchoredIdDeriver, Annotation, AnnotationJson, ChunkedStreamReader, Code, DefaultNavigationState, Domain, DomainJson, IncompatibleFlagsError, LinkerMap, ModelServiceRegistry, PAxisName, PColumnName, PFrameDriverError, PFrameError, PFrameSpecDriverError, PTableNA, PlId, PlIdBytes, PlIdLength, PlRef, PoolEntryGuard, RangeBytes, ResourceTypeName, ResourceTypePrefix, RuntimeCapabilities, SERVICE_CAPABILITY_FLAGS, SERVICE_FEATURE_FLAGS, SERVICE_METHOD_MAP, ServiceAlreadyRegisteredError, ServiceError, ServiceInjectionError, ServiceInvalidIdError, ServiceMethodNotFoundError, ServiceNotRegisteredError, Services, UiError, UiServiceRegistry, ValueType, assertNever, base64Decode, base64Encode, bigintReplacer, buildServiceInfo, canonicalizeAxisId, canonicalizeAxisWithParents, canonicalizeJson, checkBlockFlag, collectSpecQueryColumns, createPlRef, createUiServiceInjectors, dataInfoToEntries, deriveNativeId, deserializeError, deserializeResult, digestPlId, ensureError, ensurePColumn, entriesToDataInfo, executePSpecPredicate, extractAllColumns, extractAllRequirements, extractAllSupports, extractCodeWithInfo, extractConfigGeneric, getArrayFromAxisTree, getAxesId, getAxesTree, getAxisId, getColumnIdAndSpec, getDenormalizedAxesList, getFileNameFromHandle, getFilePathFromHandle, getMethodNames, getNormalizedAxesList, getPColumnSpecId, getPTableColumnId, getSetFromAxisTree, getTypeFromPColumnOrAxisSpec, hasAbortError, isAbortError, isAggregateError, isAnchoredPColumnId, isAnyLogHandle, isAxisId, isBlockUIURL, isBooleanExpression, isDataInfo, isDataInfoEntries, isFilteredPColumn, isFolderURL, isImportFileHandleIndex, isImportFileHandleUpload, isKnownServiceName, isLabelColumn, isLinkerColumn, isLiveLog, isNodeService, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, isPFrameDriverError, isPFrameError, isPFrameSpecDriverError, isPTableNA, isPartitionedDataInfoEntries, isPlRef, isServiceAlreadyRegisteredError, isServiceError, isServiceInjectionError, isServiceInvalidIdError, isServiceMethodNotFoundError, isServiceNotRegisteredError, legacyColumnSelectorsToPredicate, mapDataInfo, mapDataInfoEntries, mapJoinEntry, mapPObjectData, mapPTableDef, mapPTableDefV2, mapSpecQueryColumns, mapValueInVOE, matchAxis, matchAxisId, matchPColumn, newRangeBytesOpt, pTableValue, pTableValueBranded, parseColumnId, parseHttpAuth, parseJson, plId, plRefsEqual, readAnnotation, readAnnotationJson, readAnnotationJsonOrThrow, readDomain, readDomainJson, readDomainJsonOrThrow, readMetadata, readMetadataJson, readMetadataJsonOrThrow, registerServiceCapabilities, resolveAnchors, resolveAnnotationParents, resolveRequiredServices, resolveUiInjector, serializeError, serializeHttpAuth, serializeResult, service, serviceFnKey, sortJoinEntry, sortPTableDef, sortSpecQuery, stringifyColumnId, stringifyJson, traverseQuerySpec, uniqueBy, uniquePlId, unwrapResult, validateRangeBytes, visitDataInfo, withEnrichments, wrapAndSerialize, wrapAndSerializeAsync, wrapAsyncCallback, wrapCallback };
package/dist/json.cjs CHANGED
@@ -1,7 +1,6 @@
1
- const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
2
2
  let canonicalize = require("canonicalize");
3
3
  canonicalize = require_runtime.__toESM(canonicalize);
4
-
5
4
  //#region src/json.ts
6
5
  function stringifyJson(value) {
7
6
  return JSON.stringify(value);
@@ -15,10 +14,10 @@ function parseJson(value) {
15
14
  function bigintReplacer(_key, value) {
16
15
  return typeof value === "bigint" ? value.toString() : value;
17
16
  }
18
-
19
17
  //#endregion
20
18
  exports.bigintReplacer = bigintReplacer;
21
19
  exports.canonicalizeJson = canonicalizeJson;
22
20
  exports.parseJson = parseJson;
23
21
  exports.stringifyJson = stringifyJson;
22
+
24
23
  //# sourceMappingURL=json.cjs.map
package/dist/json.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"json.cjs","names":[],"sources":["../src/json.ts"],"sourcesContent":["import canonicalize from \"canonicalize\";\n\ntype JsonPrimitive = string | number | boolean | null;\n\ntype JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue };\n\nexport type JsonSerializable =\n | JsonPrimitive\n | JsonSerializable[]\n | { [key: string]: JsonSerializable }\n | { toJSON(): JsonValue };\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\ntype NotAssignableToJson = bigint | symbol | Function;\n\nexport type JsonCompatible<T> = unknown extends T\n ? unknown\n : [T] extends [JsonValue]\n ? T\n : [T] extends [NotAssignableToJson]\n ? never\n : {\n [P in keyof T]: [Exclude<T[P], undefined>] extends [JsonValue]\n ? T[P]\n : [Exclude<T[P], undefined>] extends [NotAssignableToJson]\n ? never\n : JsonCompatible<T[P]>;\n };\n\nexport type StringifiedJson<T = unknown> =\n JsonCompatible<T> extends never\n ? never\n : string & {\n __json_stringified: T;\n };\n\nexport function stringifyJson<T>(value: JsonCompatible<T>): StringifiedJson<T>;\nexport function stringifyJson<T extends JsonSerializable>(value: T): string;\nexport function stringifyJson(value: unknown): string {\n return JSON.stringify(value);\n}\n\nexport type CanonicalizedJson<T = unknown> =\n JsonCompatible<T> extends never\n ? never\n : string & {\n __json_canonicalized: T;\n };\n\nexport function canonicalizeJson<T>(value: JsonCompatible<T>): CanonicalizedJson<T>;\nexport function canonicalizeJson<T extends JsonSerializable>(value: T): string;\nexport function canonicalizeJson(value: unknown): string {\n return canonicalize(value)!;\n}\n\nexport function parseJson<T>(value: StringifiedJson<T> | CanonicalizedJson<T>): T {\n return JSON.parse(value) as T;\n}\n\nexport function bigintReplacer(_key: string, value: unknown): unknown {\n return typeof value === \"bigint\" ? value.toString() : value;\n}\n"],"mappings":";;;;;AAsCA,SAAgB,cAAc,OAAwB;AACpD,QAAO,KAAK,UAAU,MAAM;;AAY9B,SAAgB,iBAAiB,OAAwB;AACvD,kCAAoB,MAAM;;AAG5B,SAAgB,UAAa,OAAqD;AAChF,QAAO,KAAK,MAAM,MAAM;;AAG1B,SAAgB,eAAe,MAAc,OAAyB;AACpE,QAAO,OAAO,UAAU,WAAW,MAAM,UAAU,GAAG"}
1
+ {"version":3,"file":"json.cjs","names":[],"sources":["../src/json.ts"],"sourcesContent":["import canonicalize from \"canonicalize\";\n\ntype JsonPrimitive = string | number | boolean | null;\n\ntype JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue };\n\nexport type JsonSerializable =\n | JsonPrimitive\n | JsonSerializable[]\n | { [key: string]: JsonSerializable }\n | { toJSON(): JsonValue };\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\ntype NotAssignableToJson = bigint | symbol | Function;\n\nexport type JsonCompatible<T> = unknown extends T\n ? unknown\n : [T] extends [JsonValue]\n ? T\n : [T] extends [NotAssignableToJson]\n ? never\n : {\n [P in keyof T]: [Exclude<T[P], undefined>] extends [JsonValue]\n ? T[P]\n : [Exclude<T[P], undefined>] extends [NotAssignableToJson]\n ? never\n : JsonCompatible<T[P]>;\n };\n\nexport type StringifiedJson<T = unknown> =\n JsonCompatible<T> extends never\n ? never\n : string & {\n __json_stringified: T;\n };\n\nexport function stringifyJson<T>(value: JsonCompatible<T>): StringifiedJson<T>;\nexport function stringifyJson<T extends JsonSerializable>(value: T): string;\nexport function stringifyJson(value: unknown): string {\n return JSON.stringify(value);\n}\n\nexport type CanonicalizedJson<T = unknown> =\n JsonCompatible<T> extends never\n ? never\n : string & {\n __json_canonicalized: T;\n };\n\nexport function canonicalizeJson<T>(value: JsonCompatible<T>): CanonicalizedJson<T>;\nexport function canonicalizeJson<T extends JsonSerializable>(value: T): string;\nexport function canonicalizeJson(value: unknown): string {\n return canonicalize(value)!;\n}\n\nexport function parseJson<T>(value: StringifiedJson<T> | CanonicalizedJson<T>): T {\n return JSON.parse(value) as T;\n}\n\nexport function bigintReplacer(_key: string, value: unknown): unknown {\n return typeof value === \"bigint\" ? value.toString() : value;\n}\n"],"mappings":";;;;AAsCA,SAAgB,cAAc,OAAwB;AACpD,QAAO,KAAK,UAAU,MAAM;;AAY9B,SAAgB,iBAAiB,OAAwB;AACvD,SAAA,GAAA,aAAA,SAAoB,MAAM;;AAG5B,SAAgB,UAAa,OAAqD;AAChF,QAAO,KAAK,MAAM,MAAM;;AAG1B,SAAgB,eAAe,MAAc,OAAyB;AACpE,QAAO,OAAO,UAAU,WAAW,MAAM,UAAU,GAAG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","names":[],"sources":["../src/json.ts"],"mappings":";KAEK,aAAA;AAAA,KAEA,SAAA,GAAY,aAAA,GAAgB,SAAA;EAAA,CAAiB,GAAA,WAAc,SAAA;AAAA;AAAA,KAEpD,gBAAA,GACR,aAAA,GACA,gBAAA;EAAA,CACG,GAAA,WAAc,gBAAA;AAAA;EACf,MAAA,IAAU,SAAA;AAAA;AAAA,KAGX,mBAAA,qBAAwC,QAAA;AAAA,KAEjC,cAAA,sBAAoC,CAAA,cAE3C,CAAA,WAAY,SAAA,IACX,CAAA,IACC,CAAA,WAAY,mBAAA,0BAGG,CAAA,IAAK,OAAA,CAAQ,CAAA,CAAE,CAAA,wBAAyB,SAAA,IAChD,CAAA,CAAE,CAAA,KACD,OAAA,CAAQ,CAAA,CAAE,CAAA,wBAAyB,mBAAA,YAElC,cAAA,CAAe,CAAA,CAAE,CAAA;AAAA,KAGrB,eAAA,gBACV,cAAA,CAAe,CAAA;EAGT,kBAAA,EAAoB,CAAA;AAAA;AAAA,iBAGZ,aAAA,GAAA,CAAiB,KAAA,EAAO,cAAA,CAAe,CAAA,IAAK,eAAA,CAAgB,CAAA;AAAA,iBAC5D,aAAA,WAAwB,gBAAA,CAAA,CAAkB,KAAA,EAAO,CAAA;AAAA,KAKrD,iBAAA,gBACV,cAAA,CAAe,CAAA;EAGT,oBAAA,EAAsB,CAAA;AAAA;AAAA,iBAGd,gBAAA,GAAA,CAAoB,KAAA,EAAO,cAAA,CAAe,CAAA,IAAK,iBAAA,CAAkB,CAAA;AAAA,iBACjE,gBAAA,WAA2B,gBAAA,CAAA,CAAkB,KAAA,EAAO,CAAA;AAAA,iBAKpD,SAAA,GAAA,CAAa,KAAA,EAAO,eAAA,CAAgB,CAAA,IAAK,iBAAA,CAAkB,CAAA,IAAK,CAAA;AAAA,iBAIhE,cAAA,CAAe,IAAA,UAAc,KAAA"}
package/dist/json.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import canonicalize from "canonicalize";
2
-
3
2
  //#region src/json.ts
4
3
  function stringifyJson(value) {
5
4
  return JSON.stringify(value);
@@ -13,7 +12,7 @@ function parseJson(value) {
13
12
  function bigintReplacer(_key, value) {
14
13
  return typeof value === "bigint" ? value.toString() : value;
15
14
  }
16
-
17
15
  //#endregion
18
16
  export { bigintReplacer, canonicalizeJson, parseJson, stringifyJson };
17
+
19
18
  //# sourceMappingURL=json.js.map
package/dist/json.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","names":[],"sources":["../src/json.ts"],"sourcesContent":["import canonicalize from \"canonicalize\";\n\ntype JsonPrimitive = string | number | boolean | null;\n\ntype JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue };\n\nexport type JsonSerializable =\n | JsonPrimitive\n | JsonSerializable[]\n | { [key: string]: JsonSerializable }\n | { toJSON(): JsonValue };\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\ntype NotAssignableToJson = bigint | symbol | Function;\n\nexport type JsonCompatible<T> = unknown extends T\n ? unknown\n : [T] extends [JsonValue]\n ? T\n : [T] extends [NotAssignableToJson]\n ? never\n : {\n [P in keyof T]: [Exclude<T[P], undefined>] extends [JsonValue]\n ? T[P]\n : [Exclude<T[P], undefined>] extends [NotAssignableToJson]\n ? never\n : JsonCompatible<T[P]>;\n };\n\nexport type StringifiedJson<T = unknown> =\n JsonCompatible<T> extends never\n ? never\n : string & {\n __json_stringified: T;\n };\n\nexport function stringifyJson<T>(value: JsonCompatible<T>): StringifiedJson<T>;\nexport function stringifyJson<T extends JsonSerializable>(value: T): string;\nexport function stringifyJson(value: unknown): string {\n return JSON.stringify(value);\n}\n\nexport type CanonicalizedJson<T = unknown> =\n JsonCompatible<T> extends never\n ? never\n : string & {\n __json_canonicalized: T;\n };\n\nexport function canonicalizeJson<T>(value: JsonCompatible<T>): CanonicalizedJson<T>;\nexport function canonicalizeJson<T extends JsonSerializable>(value: T): string;\nexport function canonicalizeJson(value: unknown): string {\n return canonicalize(value)!;\n}\n\nexport function parseJson<T>(value: StringifiedJson<T> | CanonicalizedJson<T>): T {\n return JSON.parse(value) as T;\n}\n\nexport function bigintReplacer(_key: string, value: unknown): unknown {\n return typeof value === \"bigint\" ? value.toString() : value;\n}\n"],"mappings":";;;AAsCA,SAAgB,cAAc,OAAwB;AACpD,QAAO,KAAK,UAAU,MAAM;;AAY9B,SAAgB,iBAAiB,OAAwB;AACvD,QAAO,aAAa,MAAM;;AAG5B,SAAgB,UAAa,OAAqD;AAChF,QAAO,KAAK,MAAM,MAAM;;AAG1B,SAAgB,eAAe,MAAc,OAAyB;AACpE,QAAO,OAAO,UAAU,WAAW,MAAM,UAAU,GAAG"}
1
+ {"version":3,"file":"json.js","names":[],"sources":["../src/json.ts"],"sourcesContent":["import canonicalize from \"canonicalize\";\n\ntype JsonPrimitive = string | number | boolean | null;\n\ntype JsonValue = JsonPrimitive | JsonValue[] | { [key: string]: JsonValue };\n\nexport type JsonSerializable =\n | JsonPrimitive\n | JsonSerializable[]\n | { [key: string]: JsonSerializable }\n | { toJSON(): JsonValue };\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\ntype NotAssignableToJson = bigint | symbol | Function;\n\nexport type JsonCompatible<T> = unknown extends T\n ? unknown\n : [T] extends [JsonValue]\n ? T\n : [T] extends [NotAssignableToJson]\n ? never\n : {\n [P in keyof T]: [Exclude<T[P], undefined>] extends [JsonValue]\n ? T[P]\n : [Exclude<T[P], undefined>] extends [NotAssignableToJson]\n ? never\n : JsonCompatible<T[P]>;\n };\n\nexport type StringifiedJson<T = unknown> =\n JsonCompatible<T> extends never\n ? never\n : string & {\n __json_stringified: T;\n };\n\nexport function stringifyJson<T>(value: JsonCompatible<T>): StringifiedJson<T>;\nexport function stringifyJson<T extends JsonSerializable>(value: T): string;\nexport function stringifyJson(value: unknown): string {\n return JSON.stringify(value);\n}\n\nexport type CanonicalizedJson<T = unknown> =\n JsonCompatible<T> extends never\n ? never\n : string & {\n __json_canonicalized: T;\n };\n\nexport function canonicalizeJson<T>(value: JsonCompatible<T>): CanonicalizedJson<T>;\nexport function canonicalizeJson<T extends JsonSerializable>(value: T): string;\nexport function canonicalizeJson(value: unknown): string {\n return canonicalize(value)!;\n}\n\nexport function parseJson<T>(value: StringifiedJson<T> | CanonicalizedJson<T>): T {\n return JSON.parse(value) as T;\n}\n\nexport function bigintReplacer(_key: string, value: unknown): unknown {\n return typeof value === \"bigint\" ? value.toString() : value;\n}\n"],"mappings":";;AAsCA,SAAgB,cAAc,OAAwB;AACpD,QAAO,KAAK,UAAU,MAAM;;AAY9B,SAAgB,iBAAiB,OAAwB;AACvD,QAAO,aAAa,MAAM;;AAG5B,SAAgB,UAAa,OAAqD;AAChF,QAAO,KAAK,MAAM,MAAM;;AAG1B,SAAgB,eAAe,MAAc,OAAyB;AACpE,QAAO,OAAO,UAAU,WAAW,MAAM,UAAU,GAAG"}
@@ -1,7 +1,6 @@
1
-
2
1
  //#region src/navigation.ts
3
2
  const DefaultNavigationState = { href: "/" };
4
-
5
3
  //#endregion
6
4
  exports.DefaultNavigationState = DefaultNavigationState;
5
+
7
6
  //# sourceMappingURL=navigation.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.cjs","names":[],"sources":["../src/navigation.ts"],"sourcesContent":["/** Block section visualized as items in left panel block overview */\nexport type BlockSection = BlockSectionLink | BlockSectionDelimiter;\n\n/** Tells the system that specific section from the main UI of this block should\n * be opened */\nexport type BlockSectionLink = {\n /** Potentially there may be multiple section types, i.e. for \"+\" rows and for\n * sections directly opening html from the outputs. */\n readonly type: \"link\";\n\n /** Internal block section identifier */\n readonly href: `/${string}`;\n\n /** Link visual appearance */\n readonly appearance?: BlockSectionLinkAppearance;\n\n /** Visible section title, can also be used in the window header. */\n readonly label: string;\n\n /** Optional text shown as a small badge next to the section */\n readonly badge?: string;\n};\n\n/** Different variants for link section appearance */\nexport type BlockSectionLinkAppearance =\n /** Shows a section of type `link` with a `+` icon and a certain specific style */\n \"add-section\";\n\n/** Create a horizontal line between sections */\nexport type BlockSectionDelimiter = {\n readonly type: \"delimiter\";\n};\n\n/**\n * Part of the block state, representing current navigation information\n * (i.e. currently selected section)\n */\nexport type NavigationState<Href extends `/${string}` = `/${string}`> = {\n readonly href: Href;\n};\n\nexport const DefaultNavigationState: NavigationState = { href: \"/\" };\n"],"mappings":";;AAyCA,MAAa,yBAA0C,EAAE,MAAM,KAAK"}
1
+ {"version":3,"file":"navigation.cjs","names":[],"sources":["../src/navigation.ts"],"sourcesContent":["/** Block section visualized as items in left panel block overview */\nexport type BlockSection = BlockSectionLink | BlockSectionDelimiter;\n\n/** Tells the system that specific section from the main UI of this block should\n * be opened */\nexport type BlockSectionLink = {\n /** Potentially there may be multiple section types, i.e. for \"+\" rows and for\n * sections directly opening html from the outputs. */\n readonly type: \"link\";\n\n /** Internal block section identifier */\n readonly href: `/${string}`;\n\n /** Link visual appearance */\n readonly appearance?: BlockSectionLinkAppearance;\n\n /** Visible section title, can also be used in the window header. */\n readonly label: string;\n\n /** Optional text shown as a small badge next to the section */\n readonly badge?: string;\n};\n\n/** Different variants for link section appearance */\nexport type BlockSectionLinkAppearance =\n /** Shows a section of type `link` with a `+` icon and a certain specific style */\n \"add-section\";\n\n/** Create a horizontal line between sections */\nexport type BlockSectionDelimiter = {\n readonly type: \"delimiter\";\n};\n\n/**\n * Part of the block state, representing current navigation information\n * (i.e. currently selected section)\n */\nexport type NavigationState<Href extends `/${string}` = `/${string}`> = {\n readonly href: Href;\n};\n\nexport const DefaultNavigationState: NavigationState = { href: \"/\" };\n"],"mappings":";AAyCA,MAAa,yBAA0C,EAAE,MAAM,KAAK"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","names":[],"sources":["../src/navigation.ts"],"mappings":";;KACY,YAAA,GAAe,gBAAA,GAAmB,qBAAA;;;KAIlC,gBAAA;EAJuD;AAInE;EAJmE,SAOxD,IAAA;WAGA,IAAA,gBAHA;EAAA,SAMA,UAAA,GAAa,0BAAA,EAAb;EAAA,SAGA,KAAA;EAAA,SAGA,KAAA;AAAA;;KAIC,0BAAA;;KAKA,qBAAA;EAAA,SACD,IAAA;AAAA;;;;AAOX;KAAY,eAAA;EAAA,SACD,IAAA,EAAM,IAAA;AAAA;AAAA,cAGJ,sBAAA,EAAwB,eAAA"}
@@ -1,6 +1,6 @@
1
1
  //#region src/navigation.ts
2
2
  const DefaultNavigationState = { href: "/" };
3
-
4
3
  //#endregion
5
4
  export { DefaultNavigationState };
5
+
6
6
  //# sourceMappingURL=navigation.js.map
package/dist/plid.cjs CHANGED
@@ -1,20 +1,19 @@
1
- const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
2
- const require_base32_encode = require('./base32_encode.cjs');
1
+ require("./_virtual/_rolldown/runtime.cjs");
2
+ const require_base32_encode = require("./base32_encode.cjs");
3
3
  let zod = require("zod");
4
-
5
4
  //#region src/plid.ts
6
5
  /** Number of raw bytes in the PlId. */
7
6
  const PlIdBytes = 15;
8
7
  /** Characters in string representation */
9
8
  const PlIdLength = 24;
10
- const PlId = zod.z.string().length(PlIdLength).regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/).brand("PlId");
9
+ const PlId = zod.z.string().length(24).regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/).brand("PlId");
11
10
  function uniquePlId() {
12
- const data = new Uint8Array(PlIdBytes);
11
+ const data = new Uint8Array(15);
13
12
  crypto.getRandomValues(data);
14
13
  return PlId.parse(require_base32_encode.base32Encode(data, "RFC4648"));
15
14
  }
16
15
  function plId(bytes) {
17
- if (bytes.length !== PlIdBytes) throw new Error(`Wrong number of bytes: ${bytes.length}`);
16
+ if (bytes.length !== 15) throw new Error(`Wrong number of bytes: ${bytes.length}`);
18
17
  return PlId.parse(require_base32_encode.base32Encode(bytes, "RFC4648"));
19
18
  }
20
19
  async function digestPlId(data) {
@@ -22,7 +21,6 @@ async function digestPlId(data) {
22
21
  const bytes = await crypto.subtle.digest("SHA-256", encoder.encode(data));
23
22
  return plId(new Uint8Array(bytes.slice(0, 15)));
24
23
  }
25
-
26
24
  //#endregion
27
25
  exports.PlId = PlId;
28
26
  exports.PlIdBytes = PlIdBytes;
@@ -30,4 +28,5 @@ exports.PlIdLength = PlIdLength;
30
28
  exports.digestPlId = digestPlId;
31
29
  exports.plId = plId;
32
30
  exports.uniquePlId = uniquePlId;
31
+
33
32
  //# sourceMappingURL=plid.cjs.map
package/dist/plid.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plid.cjs","names":["z","base32Encode"],"sources":["../src/plid.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { base32Encode } from \"./base32_encode\";\n\n/** Number of raw bytes in the PlId. */\nexport const PlIdBytes = 15;\n/** Characters in string representation */\nexport const PlIdLength = 24; // = 15 bytes * 8 bits / 5 bits per char in base32\n\nexport const PlId = z\n .string()\n .length(PlIdLength)\n .regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/) // RFC4648\n .brand(\"PlId\");\nexport type PlId = z.infer<typeof PlId>;\n\nexport function uniquePlId(): PlId {\n const data = new Uint8Array(PlIdBytes);\n crypto.getRandomValues(data);\n return PlId.parse(base32Encode(data, \"RFC4648\"));\n}\n\nexport function plId(bytes: Uint8Array): PlId {\n if (bytes.length !== PlIdBytes) throw new Error(`Wrong number of bytes: ${bytes.length}`);\n return PlId.parse(base32Encode(bytes, \"RFC4648\"));\n}\n\nexport async function digestPlId(data: string): Promise<PlId> {\n const encoder = new TextEncoder();\n const bytes = await crypto.subtle.digest(\"SHA-256\", encoder.encode(data));\n return plId(new Uint8Array(bytes.slice(0, 15)));\n}\n"],"mappings":";;;;;;AAIA,MAAa,YAAY;;AAEzB,MAAa,aAAa;AAE1B,MAAa,OAAOA,MACjB,QAAQ,CACR,OAAO,WAAW,CAClB,MAAM,qCAAqC,CAC3C,MAAM,OAAO;AAGhB,SAAgB,aAAmB;CACjC,MAAM,OAAO,IAAI,WAAW,UAAU;AACtC,QAAO,gBAAgB,KAAK;AAC5B,QAAO,KAAK,MAAMC,mCAAa,MAAM,UAAU,CAAC;;AAGlD,SAAgB,KAAK,OAAyB;AAC5C,KAAI,MAAM,WAAW,UAAW,OAAM,IAAI,MAAM,0BAA0B,MAAM,SAAS;AACzF,QAAO,KAAK,MAAMA,mCAAa,OAAO,UAAU,CAAC;;AAGnD,eAAsB,WAAW,MAA6B;CAC5D,MAAM,UAAU,IAAI,aAAa;CACjC,MAAM,QAAQ,MAAM,OAAO,OAAO,OAAO,WAAW,QAAQ,OAAO,KAAK,CAAC;AACzE,QAAO,KAAK,IAAI,WAAW,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"plid.cjs","names":["z","base32Encode"],"sources":["../src/plid.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { base32Encode } from \"./base32_encode\";\n\n/** Number of raw bytes in the PlId. */\nexport const PlIdBytes = 15;\n/** Characters in string representation */\nexport const PlIdLength = 24; // = 15 bytes * 8 bits / 5 bits per char in base32\n\nexport const PlId = z\n .string()\n .length(PlIdLength)\n .regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/) // RFC4648\n .brand(\"PlId\");\nexport type PlId = z.infer<typeof PlId>;\n\nexport function uniquePlId(): PlId {\n const data = new Uint8Array(PlIdBytes);\n crypto.getRandomValues(data);\n return PlId.parse(base32Encode(data, \"RFC4648\"));\n}\n\nexport function plId(bytes: Uint8Array): PlId {\n if (bytes.length !== PlIdBytes) throw new Error(`Wrong number of bytes: ${bytes.length}`);\n return PlId.parse(base32Encode(bytes, \"RFC4648\"));\n}\n\nexport async function digestPlId(data: string): Promise<PlId> {\n const encoder = new TextEncoder();\n const bytes = await crypto.subtle.digest(\"SHA-256\", encoder.encode(data));\n return plId(new Uint8Array(bytes.slice(0, 15)));\n}\n"],"mappings":";;;;;AAIA,MAAa,YAAY;;AAEzB,MAAa,aAAa;AAE1B,MAAa,OAAOA,IAAAA,EACjB,QAAQ,CACR,OAAA,GAAkB,CAClB,MAAM,qCAAqC,CAC3C,MAAM,OAAO;AAGhB,SAAgB,aAAmB;CACjC,MAAM,OAAO,IAAI,WAAA,GAAqB;AACtC,QAAO,gBAAgB,KAAK;AAC5B,QAAO,KAAK,MAAMC,sBAAAA,aAAa,MAAM,UAAU,CAAC;;AAGlD,SAAgB,KAAK,OAAyB;AAC5C,KAAI,MAAM,WAAA,GAAsB,OAAM,IAAI,MAAM,0BAA0B,MAAM,SAAS;AACzF,QAAO,KAAK,MAAMA,sBAAAA,aAAa,OAAO,UAAU,CAAC;;AAGnD,eAAsB,WAAW,MAA6B;CAC5D,MAAM,UAAU,IAAI,aAAa;CACjC,MAAM,QAAQ,MAAM,OAAO,OAAO,OAAO,WAAW,QAAQ,OAAO,KAAK,CAAC;AACzE,QAAO,KAAK,IAAI,WAAW,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plid.d.ts","names":[],"sources":["../src/plid.ts"],"mappings":";;;;cAIa,SAAA;AAAb;AAAA,cAEa,UAAA;AAAA,cAEA,IAAA,EAAI,CAAA,CAAA,UAAA,CAAA,CAAA,CAAA,SAAA;AAAA,KAKL,IAAA,GAAO,CAAA,CAAE,KAAA,QAAa,IAAA;AAAA,iBAElB,UAAA,CAAA,GAAc,IAAA;AAAA,iBAMd,IAAA,CAAK,KAAA,EAAO,UAAA,GAAa,IAAA;AAAA,iBAKnB,UAAA,CAAW,IAAA,WAAe,OAAA,CAAQ,IAAA"}
package/dist/plid.js CHANGED
@@ -1,19 +1,18 @@
1
1
  import { base32Encode } from "./base32_encode.js";
2
2
  import { z } from "zod";
3
-
4
3
  //#region src/plid.ts
5
4
  /** Number of raw bytes in the PlId. */
6
5
  const PlIdBytes = 15;
7
6
  /** Characters in string representation */
8
7
  const PlIdLength = 24;
9
- const PlId = z.string().length(PlIdLength).regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/).brand("PlId");
8
+ const PlId = z.string().length(24).regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/).brand("PlId");
10
9
  function uniquePlId() {
11
- const data = new Uint8Array(PlIdBytes);
10
+ const data = new Uint8Array(15);
12
11
  crypto.getRandomValues(data);
13
12
  return PlId.parse(base32Encode(data, "RFC4648"));
14
13
  }
15
14
  function plId(bytes) {
16
- if (bytes.length !== PlIdBytes) throw new Error(`Wrong number of bytes: ${bytes.length}`);
15
+ if (bytes.length !== 15) throw new Error(`Wrong number of bytes: ${bytes.length}`);
17
16
  return PlId.parse(base32Encode(bytes, "RFC4648"));
18
17
  }
19
18
  async function digestPlId(data) {
@@ -21,7 +20,7 @@ async function digestPlId(data) {
21
20
  const bytes = await crypto.subtle.digest("SHA-256", encoder.encode(data));
22
21
  return plId(new Uint8Array(bytes.slice(0, 15)));
23
22
  }
24
-
25
23
  //#endregion
26
24
  export { PlId, PlIdBytes, PlIdLength, digestPlId, plId, uniquePlId };
25
+
27
26
  //# sourceMappingURL=plid.js.map
package/dist/plid.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plid.js","names":[],"sources":["../src/plid.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { base32Encode } from \"./base32_encode\";\n\n/** Number of raw bytes in the PlId. */\nexport const PlIdBytes = 15;\n/** Characters in string representation */\nexport const PlIdLength = 24; // = 15 bytes * 8 bits / 5 bits per char in base32\n\nexport const PlId = z\n .string()\n .length(PlIdLength)\n .regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/) // RFC4648\n .brand(\"PlId\");\nexport type PlId = z.infer<typeof PlId>;\n\nexport function uniquePlId(): PlId {\n const data = new Uint8Array(PlIdBytes);\n crypto.getRandomValues(data);\n return PlId.parse(base32Encode(data, \"RFC4648\"));\n}\n\nexport function plId(bytes: Uint8Array): PlId {\n if (bytes.length !== PlIdBytes) throw new Error(`Wrong number of bytes: ${bytes.length}`);\n return PlId.parse(base32Encode(bytes, \"RFC4648\"));\n}\n\nexport async function digestPlId(data: string): Promise<PlId> {\n const encoder = new TextEncoder();\n const bytes = await crypto.subtle.digest(\"SHA-256\", encoder.encode(data));\n return plId(new Uint8Array(bytes.slice(0, 15)));\n}\n"],"mappings":";;;;;AAIA,MAAa,YAAY;;AAEzB,MAAa,aAAa;AAE1B,MAAa,OAAO,EACjB,QAAQ,CACR,OAAO,WAAW,CAClB,MAAM,qCAAqC,CAC3C,MAAM,OAAO;AAGhB,SAAgB,aAAmB;CACjC,MAAM,OAAO,IAAI,WAAW,UAAU;AACtC,QAAO,gBAAgB,KAAK;AAC5B,QAAO,KAAK,MAAM,aAAa,MAAM,UAAU,CAAC;;AAGlD,SAAgB,KAAK,OAAyB;AAC5C,KAAI,MAAM,WAAW,UAAW,OAAM,IAAI,MAAM,0BAA0B,MAAM,SAAS;AACzF,QAAO,KAAK,MAAM,aAAa,OAAO,UAAU,CAAC;;AAGnD,eAAsB,WAAW,MAA6B;CAC5D,MAAM,UAAU,IAAI,aAAa;CACjC,MAAM,QAAQ,MAAM,OAAO,OAAO,OAAO,WAAW,QAAQ,OAAO,KAAK,CAAC;AACzE,QAAO,KAAK,IAAI,WAAW,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"plid.js","names":[],"sources":["../src/plid.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { base32Encode } from \"./base32_encode\";\n\n/** Number of raw bytes in the PlId. */\nexport const PlIdBytes = 15;\n/** Characters in string representation */\nexport const PlIdLength = 24; // = 15 bytes * 8 bits / 5 bits per char in base32\n\nexport const PlId = z\n .string()\n .length(PlIdLength)\n .regex(/[ABCDEFGHIJKLMNOPQRSTUVWXYZ234567]/) // RFC4648\n .brand(\"PlId\");\nexport type PlId = z.infer<typeof PlId>;\n\nexport function uniquePlId(): PlId {\n const data = new Uint8Array(PlIdBytes);\n crypto.getRandomValues(data);\n return PlId.parse(base32Encode(data, \"RFC4648\"));\n}\n\nexport function plId(bytes: Uint8Array): PlId {\n if (bytes.length !== PlIdBytes) throw new Error(`Wrong number of bytes: ${bytes.length}`);\n return PlId.parse(base32Encode(bytes, \"RFC4648\"));\n}\n\nexport async function digestPlId(data: string): Promise<PlId> {\n const encoder = new TextEncoder();\n const bytes = await crypto.subtle.digest(\"SHA-256\", encoder.encode(data));\n return plId(new Uint8Array(bytes.slice(0, 15)));\n}\n"],"mappings":";;;;AAIA,MAAa,YAAY;;AAEzB,MAAa,aAAa;AAE1B,MAAa,OAAO,EACjB,QAAQ,CACR,OAAA,GAAkB,CAClB,MAAM,qCAAqC,CAC3C,MAAM,OAAO;AAGhB,SAAgB,aAAmB;CACjC,MAAM,OAAO,IAAI,WAAA,GAAqB;AACtC,QAAO,gBAAgB,KAAK;AAC5B,QAAO,KAAK,MAAM,aAAa,MAAM,UAAU,CAAC;;AAGlD,SAAgB,KAAK,OAAyB;AAC5C,KAAI,MAAM,WAAA,GAAsB,OAAM,IAAI,MAAM,0BAA0B,MAAM,SAAS;AACzF,QAAO,KAAK,MAAM,aAAa,OAAO,UAAU,CAAC;;AAGnD,eAAsB,WAAW,MAA6B;CAC5D,MAAM,UAAU,IAAI,aAAa;CACjC,MAAM,QAAQ,MAAM,OAAO,OAAO,OAAO,WAAW,QAAQ,OAAO,KAAK,CAAC;AACzE,QAAO,KAAK,IAAI,WAAW,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry.d.ts","names":[],"sources":["../../src/pool/entry.ts"],"mappings":";;;;KAGY,eAAA;EAAA,qFAED,GAAA,EAAK,KAAA,EAFW;EAAA,SAKhB,GAAA,EAAK,CAAA;AAAA;;KAIJ,gBAAA;EAJD,6CAMA,OAAA,EAAS,eAAA,CAAgB,CAAA,KANnB;EAAA,SASN,UAAA;AAAA"}
@@ -1,5 +1,4 @@
1
- const require_spec = require('./spec.cjs');
2
-
1
+ const require_spec = require("./spec.cjs");
3
2
  //#region src/pool/query.ts
4
3
  function assertNever(x) {
5
4
  throw new Error("Unexpected object: " + x);
@@ -21,7 +20,7 @@ function executePSpecPredicate(predicate, spec) {
21
20
  default: assertNever(predicate);
22
21
  }
23
22
  }
24
-
25
23
  //#endregion
26
24
  exports.executePSpecPredicate = executePSpecPredicate;
25
+
27
26
  //# sourceMappingURL=query.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.cjs","names":["isPColumnSpec"],"sources":["../../src/pool/query.ts"],"sourcesContent":["import type { AxisId } from \"../drivers\";\nimport type { PObjectSpec } from \"./spec\";\nimport { isPColumnSpec } from \"./spec\";\n\nexport type PSpecPredicate =\n | {\n type: \"and\" | \"or\";\n operands: PSpecPredicate[];\n }\n | {\n type: \"not\";\n operand: PSpecPredicate;\n }\n | {\n type: \"name\";\n name: string;\n }\n | {\n type: \"name_pattern\";\n pattern: string;\n }\n | {\n type: \"annotation\";\n annotation: string;\n value: string;\n }\n | {\n type: \"annotation_pattern\";\n annotation: string;\n pattern: string;\n }\n | {\n type: \"has_axes\";\n axes: Partial<AxisId>[];\n };\n\nfunction assertNever(x: never): never {\n throw new Error(\"Unexpected object: \" + x); // This is ok, because this is a possible runtime error\n}\n\nexport function executePSpecPredicate(predicate: PSpecPredicate, spec: PObjectSpec): boolean {\n switch (predicate.type) {\n case \"and\":\n for (const operator of predicate.operands)\n if (!executePSpecPredicate(operator, spec)) return false;\n return true;\n case \"or\":\n for (const operator of predicate.operands)\n if (executePSpecPredicate(operator, spec)) return true;\n return false;\n case \"not\":\n return !executePSpecPredicate(predicate.operand, spec);\n case \"name\":\n return isPColumnSpec(spec) && spec.name === predicate.name;\n case \"name_pattern\":\n return isPColumnSpec(spec) && Boolean(spec.name.match(predicate.pattern));\n case \"annotation\":\n return (\n isPColumnSpec(spec) &&\n spec.annotations !== undefined &&\n spec.annotations[predicate.annotation] === predicate.value\n );\n case \"annotation_pattern\":\n return (\n isPColumnSpec(spec) &&\n spec.annotations !== undefined &&\n spec.annotations[predicate.annotation] !== undefined &&\n Boolean(spec.annotations[predicate.annotation].match(predicate.pattern))\n );\n case \"has_axes\":\n return (\n isPColumnSpec(spec) &&\n predicate.axes.every((matcher) =>\n spec.axesSpec.some(\n (axisSpec) =>\n (matcher.type === undefined || matcher.type === axisSpec.type) &&\n (matcher.name === undefined || matcher.name === axisSpec.name) &&\n (matcher.domain === undefined ||\n Object.keys(matcher.domain).length === 0 ||\n (axisSpec.domain !== undefined &&\n Object.entries(matcher.domain).every(\n ([domain, domainValue]) => axisSpec.domain![domain] === domainValue,\n ))) &&\n (matcher.contextDomain === undefined ||\n Object.keys(matcher.contextDomain).length === 0 ||\n (axisSpec.contextDomain !== undefined &&\n Object.entries(matcher.contextDomain).every(\n ([key, value]) => axisSpec.contextDomain![key] === value,\n ))),\n ),\n )\n );\n default:\n assertNever(predicate);\n }\n}\n"],"mappings":";;;AAoCA,SAAS,YAAY,GAAiB;AACpC,OAAM,IAAI,MAAM,wBAAwB,EAAE;;AAG5C,SAAgB,sBAAsB,WAA2B,MAA4B;AAC3F,SAAQ,UAAU,MAAlB;EACE,KAAK;AACH,QAAK,MAAM,YAAY,UAAU,SAC/B,KAAI,CAAC,sBAAsB,UAAU,KAAK,CAAE,QAAO;AACrD,UAAO;EACT,KAAK;AACH,QAAK,MAAM,YAAY,UAAU,SAC/B,KAAI,sBAAsB,UAAU,KAAK,CAAE,QAAO;AACpD,UAAO;EACT,KAAK,MACH,QAAO,CAAC,sBAAsB,UAAU,SAAS,KAAK;EACxD,KAAK,OACH,QAAOA,2BAAc,KAAK,IAAI,KAAK,SAAS,UAAU;EACxD,KAAK,eACH,QAAOA,2BAAc,KAAK,IAAI,QAAQ,KAAK,KAAK,MAAM,UAAU,QAAQ,CAAC;EAC3E,KAAK,aACH,QACEA,2BAAc,KAAK,IACnB,KAAK,gBAAgB,UACrB,KAAK,YAAY,UAAU,gBAAgB,UAAU;EAEzD,KAAK,qBACH,QACEA,2BAAc,KAAK,IACnB,KAAK,gBAAgB,UACrB,KAAK,YAAY,UAAU,gBAAgB,UAC3C,QAAQ,KAAK,YAAY,UAAU,YAAY,MAAM,UAAU,QAAQ,CAAC;EAE5E,KAAK,WACH,QACEA,2BAAc,KAAK,IACnB,UAAU,KAAK,OAAO,YACpB,KAAK,SAAS,MACX,cACE,QAAQ,SAAS,UAAa,QAAQ,SAAS,SAAS,UACxD,QAAQ,SAAS,UAAa,QAAQ,SAAS,SAAS,UACxD,QAAQ,WAAW,UAClB,OAAO,KAAK,QAAQ,OAAO,CAAC,WAAW,KACtC,SAAS,WAAW,UACnB,OAAO,QAAQ,QAAQ,OAAO,CAAC,OAC5B,CAAC,QAAQ,iBAAiB,SAAS,OAAQ,YAAY,YACzD,MACJ,QAAQ,kBAAkB,UACzB,OAAO,KAAK,QAAQ,cAAc,CAAC,WAAW,KAC7C,SAAS,kBAAkB,UAC1B,OAAO,QAAQ,QAAQ,cAAc,CAAC,OACnC,CAAC,KAAK,WAAW,SAAS,cAAe,SAAS,MACpD,EACR,CACF;EAEL,QACE,aAAY,UAAU"}
1
+ {"version":3,"file":"query.cjs","names":["isPColumnSpec"],"sources":["../../src/pool/query.ts"],"sourcesContent":["import type { AxisId } from \"../drivers\";\nimport type { PObjectSpec } from \"./spec\";\nimport { isPColumnSpec } from \"./spec\";\n\nexport type PSpecPredicate =\n | {\n type: \"and\" | \"or\";\n operands: PSpecPredicate[];\n }\n | {\n type: \"not\";\n operand: PSpecPredicate;\n }\n | {\n type: \"name\";\n name: string;\n }\n | {\n type: \"name_pattern\";\n pattern: string;\n }\n | {\n type: \"annotation\";\n annotation: string;\n value: string;\n }\n | {\n type: \"annotation_pattern\";\n annotation: string;\n pattern: string;\n }\n | {\n type: \"has_axes\";\n axes: Partial<AxisId>[];\n };\n\nfunction assertNever(x: never): never {\n throw new Error(\"Unexpected object: \" + x); // This is ok, because this is a possible runtime error\n}\n\nexport function executePSpecPredicate(predicate: PSpecPredicate, spec: PObjectSpec): boolean {\n switch (predicate.type) {\n case \"and\":\n for (const operator of predicate.operands)\n if (!executePSpecPredicate(operator, spec)) return false;\n return true;\n case \"or\":\n for (const operator of predicate.operands)\n if (executePSpecPredicate(operator, spec)) return true;\n return false;\n case \"not\":\n return !executePSpecPredicate(predicate.operand, spec);\n case \"name\":\n return isPColumnSpec(spec) && spec.name === predicate.name;\n case \"name_pattern\":\n return isPColumnSpec(spec) && Boolean(spec.name.match(predicate.pattern));\n case \"annotation\":\n return (\n isPColumnSpec(spec) &&\n spec.annotations !== undefined &&\n spec.annotations[predicate.annotation] === predicate.value\n );\n case \"annotation_pattern\":\n return (\n isPColumnSpec(spec) &&\n spec.annotations !== undefined &&\n spec.annotations[predicate.annotation] !== undefined &&\n Boolean(spec.annotations[predicate.annotation].match(predicate.pattern))\n );\n case \"has_axes\":\n return (\n isPColumnSpec(spec) &&\n predicate.axes.every((matcher) =>\n spec.axesSpec.some(\n (axisSpec) =>\n (matcher.type === undefined || matcher.type === axisSpec.type) &&\n (matcher.name === undefined || matcher.name === axisSpec.name) &&\n (matcher.domain === undefined ||\n Object.keys(matcher.domain).length === 0 ||\n (axisSpec.domain !== undefined &&\n Object.entries(matcher.domain).every(\n ([domain, domainValue]) => axisSpec.domain![domain] === domainValue,\n ))) &&\n (matcher.contextDomain === undefined ||\n Object.keys(matcher.contextDomain).length === 0 ||\n (axisSpec.contextDomain !== undefined &&\n Object.entries(matcher.contextDomain).every(\n ([key, value]) => axisSpec.contextDomain![key] === value,\n ))),\n ),\n )\n );\n default:\n assertNever(predicate);\n }\n}\n"],"mappings":";;AAoCA,SAAS,YAAY,GAAiB;AACpC,OAAM,IAAI,MAAM,wBAAwB,EAAE;;AAG5C,SAAgB,sBAAsB,WAA2B,MAA4B;AAC3F,SAAQ,UAAU,MAAlB;EACE,KAAK;AACH,QAAK,MAAM,YAAY,UAAU,SAC/B,KAAI,CAAC,sBAAsB,UAAU,KAAK,CAAE,QAAO;AACrD,UAAO;EACT,KAAK;AACH,QAAK,MAAM,YAAY,UAAU,SAC/B,KAAI,sBAAsB,UAAU,KAAK,CAAE,QAAO;AACpD,UAAO;EACT,KAAK,MACH,QAAO,CAAC,sBAAsB,UAAU,SAAS,KAAK;EACxD,KAAK,OACH,QAAOA,aAAAA,cAAc,KAAK,IAAI,KAAK,SAAS,UAAU;EACxD,KAAK,eACH,QAAOA,aAAAA,cAAc,KAAK,IAAI,QAAQ,KAAK,KAAK,MAAM,UAAU,QAAQ,CAAC;EAC3E,KAAK,aACH,QACEA,aAAAA,cAAc,KAAK,IACnB,KAAK,gBAAgB,KAAA,KACrB,KAAK,YAAY,UAAU,gBAAgB,UAAU;EAEzD,KAAK,qBACH,QACEA,aAAAA,cAAc,KAAK,IACnB,KAAK,gBAAgB,KAAA,KACrB,KAAK,YAAY,UAAU,gBAAgB,KAAA,KAC3C,QAAQ,KAAK,YAAY,UAAU,YAAY,MAAM,UAAU,QAAQ,CAAC;EAE5E,KAAK,WACH,QACEA,aAAAA,cAAc,KAAK,IACnB,UAAU,KAAK,OAAO,YACpB,KAAK,SAAS,MACX,cACE,QAAQ,SAAS,KAAA,KAAa,QAAQ,SAAS,SAAS,UACxD,QAAQ,SAAS,KAAA,KAAa,QAAQ,SAAS,SAAS,UACxD,QAAQ,WAAW,KAAA,KAClB,OAAO,KAAK,QAAQ,OAAO,CAAC,WAAW,KACtC,SAAS,WAAW,KAAA,KACnB,OAAO,QAAQ,QAAQ,OAAO,CAAC,OAC5B,CAAC,QAAQ,iBAAiB,SAAS,OAAQ,YAAY,YACzD,MACJ,QAAQ,kBAAkB,KAAA,KACzB,OAAO,KAAK,QAAQ,cAAc,CAAC,WAAW,KAC7C,SAAS,kBAAkB,KAAA,KAC1B,OAAO,QAAQ,QAAQ,cAAc,CAAC,OACnC,CAAC,KAAK,WAAW,SAAS,cAAe,SAAS,MACpD,EACR,CACF;EAEL,QACE,aAAY,UAAU"}
@@ -1,5 +1,4 @@
1
1
  import { AxisId } from "../drivers/pframe/spec/spec.js";
2
- import "../drivers/index.js";
3
2
  import { PObjectSpec } from "./spec.js";
4
3
 
5
4
  //#region src/pool/query.d.ts
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.ts","names":[],"sources":["../../src/pool/query.ts"],"mappings":";;;;KAIY,cAAA;EAEN,IAAA;EACA,QAAA,EAAU,cAAA;AAAA;EAGV,IAAA;EACA,OAAA,EAAS,cAAA;AAAA;EAGT,IAAA;EACA,IAAA;AAAA;EAGA,IAAA;EACA,OAAA;AAAA;EAGA,IAAA;EACA,UAAA;EACA,KAAA;AAAA;EAGA,IAAA;EACA,UAAA;EACA,OAAA;AAAA;EAGA,IAAA;EACA,IAAA,EAAM,OAAA,CAAQ,MAAA;AAAA;AAAA,iBAOJ,qBAAA,CAAsB,SAAA,EAAW,cAAA,EAAgB,IAAA,EAAM,WAAA"}
@@ -1,5 +1,4 @@
1
1
  import { isPColumnSpec } from "./spec.js";
2
-
3
2
  //#region src/pool/query.ts
4
3
  function assertNever(x) {
5
4
  throw new Error("Unexpected object: " + x);
@@ -21,7 +20,7 @@ function executePSpecPredicate(predicate, spec) {
21
20
  default: assertNever(predicate);
22
21
  }
23
22
  }
24
-
25
23
  //#endregion
26
24
  export { executePSpecPredicate };
25
+
27
26
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","names":[],"sources":["../../src/pool/query.ts"],"sourcesContent":["import type { AxisId } from \"../drivers\";\nimport type { PObjectSpec } from \"./spec\";\nimport { isPColumnSpec } from \"./spec\";\n\nexport type PSpecPredicate =\n | {\n type: \"and\" | \"or\";\n operands: PSpecPredicate[];\n }\n | {\n type: \"not\";\n operand: PSpecPredicate;\n }\n | {\n type: \"name\";\n name: string;\n }\n | {\n type: \"name_pattern\";\n pattern: string;\n }\n | {\n type: \"annotation\";\n annotation: string;\n value: string;\n }\n | {\n type: \"annotation_pattern\";\n annotation: string;\n pattern: string;\n }\n | {\n type: \"has_axes\";\n axes: Partial<AxisId>[];\n };\n\nfunction assertNever(x: never): never {\n throw new Error(\"Unexpected object: \" + x); // This is ok, because this is a possible runtime error\n}\n\nexport function executePSpecPredicate(predicate: PSpecPredicate, spec: PObjectSpec): boolean {\n switch (predicate.type) {\n case \"and\":\n for (const operator of predicate.operands)\n if (!executePSpecPredicate(operator, spec)) return false;\n return true;\n case \"or\":\n for (const operator of predicate.operands)\n if (executePSpecPredicate(operator, spec)) return true;\n return false;\n case \"not\":\n return !executePSpecPredicate(predicate.operand, spec);\n case \"name\":\n return isPColumnSpec(spec) && spec.name === predicate.name;\n case \"name_pattern\":\n return isPColumnSpec(spec) && Boolean(spec.name.match(predicate.pattern));\n case \"annotation\":\n return (\n isPColumnSpec(spec) &&\n spec.annotations !== undefined &&\n spec.annotations[predicate.annotation] === predicate.value\n );\n case \"annotation_pattern\":\n return (\n isPColumnSpec(spec) &&\n spec.annotations !== undefined &&\n spec.annotations[predicate.annotation] !== undefined &&\n Boolean(spec.annotations[predicate.annotation].match(predicate.pattern))\n );\n case \"has_axes\":\n return (\n isPColumnSpec(spec) &&\n predicate.axes.every((matcher) =>\n spec.axesSpec.some(\n (axisSpec) =>\n (matcher.type === undefined || matcher.type === axisSpec.type) &&\n (matcher.name === undefined || matcher.name === axisSpec.name) &&\n (matcher.domain === undefined ||\n Object.keys(matcher.domain).length === 0 ||\n (axisSpec.domain !== undefined &&\n Object.entries(matcher.domain).every(\n ([domain, domainValue]) => axisSpec.domain![domain] === domainValue,\n ))) &&\n (matcher.contextDomain === undefined ||\n Object.keys(matcher.contextDomain).length === 0 ||\n (axisSpec.contextDomain !== undefined &&\n Object.entries(matcher.contextDomain).every(\n ([key, value]) => axisSpec.contextDomain![key] === value,\n ))),\n ),\n )\n );\n default:\n assertNever(predicate);\n }\n}\n"],"mappings":";;;AAoCA,SAAS,YAAY,GAAiB;AACpC,OAAM,IAAI,MAAM,wBAAwB,EAAE;;AAG5C,SAAgB,sBAAsB,WAA2B,MAA4B;AAC3F,SAAQ,UAAU,MAAlB;EACE,KAAK;AACH,QAAK,MAAM,YAAY,UAAU,SAC/B,KAAI,CAAC,sBAAsB,UAAU,KAAK,CAAE,QAAO;AACrD,UAAO;EACT,KAAK;AACH,QAAK,MAAM,YAAY,UAAU,SAC/B,KAAI,sBAAsB,UAAU,KAAK,CAAE,QAAO;AACpD,UAAO;EACT,KAAK,MACH,QAAO,CAAC,sBAAsB,UAAU,SAAS,KAAK;EACxD,KAAK,OACH,QAAO,cAAc,KAAK,IAAI,KAAK,SAAS,UAAU;EACxD,KAAK,eACH,QAAO,cAAc,KAAK,IAAI,QAAQ,KAAK,KAAK,MAAM,UAAU,QAAQ,CAAC;EAC3E,KAAK,aACH,QACE,cAAc,KAAK,IACnB,KAAK,gBAAgB,UACrB,KAAK,YAAY,UAAU,gBAAgB,UAAU;EAEzD,KAAK,qBACH,QACE,cAAc,KAAK,IACnB,KAAK,gBAAgB,UACrB,KAAK,YAAY,UAAU,gBAAgB,UAC3C,QAAQ,KAAK,YAAY,UAAU,YAAY,MAAM,UAAU,QAAQ,CAAC;EAE5E,KAAK,WACH,QACE,cAAc,KAAK,IACnB,UAAU,KAAK,OAAO,YACpB,KAAK,SAAS,MACX,cACE,QAAQ,SAAS,UAAa,QAAQ,SAAS,SAAS,UACxD,QAAQ,SAAS,UAAa,QAAQ,SAAS,SAAS,UACxD,QAAQ,WAAW,UAClB,OAAO,KAAK,QAAQ,OAAO,CAAC,WAAW,KACtC,SAAS,WAAW,UACnB,OAAO,QAAQ,QAAQ,OAAO,CAAC,OAC5B,CAAC,QAAQ,iBAAiB,SAAS,OAAQ,YAAY,YACzD,MACJ,QAAQ,kBAAkB,UACzB,OAAO,KAAK,QAAQ,cAAc,CAAC,WAAW,KAC7C,SAAS,kBAAkB,UAC1B,OAAO,QAAQ,QAAQ,cAAc,CAAC,OACnC,CAAC,KAAK,WAAW,SAAS,cAAe,SAAS,MACpD,EACR,CACF;EAEL,QACE,aAAY,UAAU"}
1
+ {"version":3,"file":"query.js","names":[],"sources":["../../src/pool/query.ts"],"sourcesContent":["import type { AxisId } from \"../drivers\";\nimport type { PObjectSpec } from \"./spec\";\nimport { isPColumnSpec } from \"./spec\";\n\nexport type PSpecPredicate =\n | {\n type: \"and\" | \"or\";\n operands: PSpecPredicate[];\n }\n | {\n type: \"not\";\n operand: PSpecPredicate;\n }\n | {\n type: \"name\";\n name: string;\n }\n | {\n type: \"name_pattern\";\n pattern: string;\n }\n | {\n type: \"annotation\";\n annotation: string;\n value: string;\n }\n | {\n type: \"annotation_pattern\";\n annotation: string;\n pattern: string;\n }\n | {\n type: \"has_axes\";\n axes: Partial<AxisId>[];\n };\n\nfunction assertNever(x: never): never {\n throw new Error(\"Unexpected object: \" + x); // This is ok, because this is a possible runtime error\n}\n\nexport function executePSpecPredicate(predicate: PSpecPredicate, spec: PObjectSpec): boolean {\n switch (predicate.type) {\n case \"and\":\n for (const operator of predicate.operands)\n if (!executePSpecPredicate(operator, spec)) return false;\n return true;\n case \"or\":\n for (const operator of predicate.operands)\n if (executePSpecPredicate(operator, spec)) return true;\n return false;\n case \"not\":\n return !executePSpecPredicate(predicate.operand, spec);\n case \"name\":\n return isPColumnSpec(spec) && spec.name === predicate.name;\n case \"name_pattern\":\n return isPColumnSpec(spec) && Boolean(spec.name.match(predicate.pattern));\n case \"annotation\":\n return (\n isPColumnSpec(spec) &&\n spec.annotations !== undefined &&\n spec.annotations[predicate.annotation] === predicate.value\n );\n case \"annotation_pattern\":\n return (\n isPColumnSpec(spec) &&\n spec.annotations !== undefined &&\n spec.annotations[predicate.annotation] !== undefined &&\n Boolean(spec.annotations[predicate.annotation].match(predicate.pattern))\n );\n case \"has_axes\":\n return (\n isPColumnSpec(spec) &&\n predicate.axes.every((matcher) =>\n spec.axesSpec.some(\n (axisSpec) =>\n (matcher.type === undefined || matcher.type === axisSpec.type) &&\n (matcher.name === undefined || matcher.name === axisSpec.name) &&\n (matcher.domain === undefined ||\n Object.keys(matcher.domain).length === 0 ||\n (axisSpec.domain !== undefined &&\n Object.entries(matcher.domain).every(\n ([domain, domainValue]) => axisSpec.domain![domain] === domainValue,\n ))) &&\n (matcher.contextDomain === undefined ||\n Object.keys(matcher.contextDomain).length === 0 ||\n (axisSpec.contextDomain !== undefined &&\n Object.entries(matcher.contextDomain).every(\n ([key, value]) => axisSpec.contextDomain![key] === value,\n ))),\n ),\n )\n );\n default:\n assertNever(predicate);\n }\n}\n"],"mappings":";;AAoCA,SAAS,YAAY,GAAiB;AACpC,OAAM,IAAI,MAAM,wBAAwB,EAAE;;AAG5C,SAAgB,sBAAsB,WAA2B,MAA4B;AAC3F,SAAQ,UAAU,MAAlB;EACE,KAAK;AACH,QAAK,MAAM,YAAY,UAAU,SAC/B,KAAI,CAAC,sBAAsB,UAAU,KAAK,CAAE,QAAO;AACrD,UAAO;EACT,KAAK;AACH,QAAK,MAAM,YAAY,UAAU,SAC/B,KAAI,sBAAsB,UAAU,KAAK,CAAE,QAAO;AACpD,UAAO;EACT,KAAK,MACH,QAAO,CAAC,sBAAsB,UAAU,SAAS,KAAK;EACxD,KAAK,OACH,QAAO,cAAc,KAAK,IAAI,KAAK,SAAS,UAAU;EACxD,KAAK,eACH,QAAO,cAAc,KAAK,IAAI,QAAQ,KAAK,KAAK,MAAM,UAAU,QAAQ,CAAC;EAC3E,KAAK,aACH,QACE,cAAc,KAAK,IACnB,KAAK,gBAAgB,KAAA,KACrB,KAAK,YAAY,UAAU,gBAAgB,UAAU;EAEzD,KAAK,qBACH,QACE,cAAc,KAAK,IACnB,KAAK,gBAAgB,KAAA,KACrB,KAAK,YAAY,UAAU,gBAAgB,KAAA,KAC3C,QAAQ,KAAK,YAAY,UAAU,YAAY,MAAM,UAAU,QAAQ,CAAC;EAE5E,KAAK,WACH,QACE,cAAc,KAAK,IACnB,UAAU,KAAK,OAAO,YACpB,KAAK,SAAS,MACX,cACE,QAAQ,SAAS,KAAA,KAAa,QAAQ,SAAS,SAAS,UACxD,QAAQ,SAAS,KAAA,KAAa,QAAQ,SAAS,SAAS,UACxD,QAAQ,WAAW,KAAA,KAClB,OAAO,KAAK,QAAQ,OAAO,CAAC,WAAW,KACtC,SAAS,WAAW,KAAA,KACnB,OAAO,QAAQ,QAAQ,OAAO,CAAC,OAC5B,CAAC,QAAQ,iBAAiB,SAAS,OAAQ,YAAY,YACzD,MACJ,QAAQ,kBAAkB,KAAA,KACzB,OAAO,KAAK,QAAQ,cAAc,CAAC,WAAW,KAC7C,SAAS,kBAAkB,KAAA,KAC1B,OAAO,QAAQ,QAAQ,cAAc,CAAC,OACnC,CAAC,KAAK,WAAW,SAAS,cAAe,SAAS,MACpD,EACR,CACF;EAEL,QACE,aAAY,UAAU"}
@@ -1,5 +1,4 @@
1
- const require_util = require('../util.cjs');
2
-
1
+ const require_util = require("../util.cjs");
3
2
  //#region src/pool/spec.ts
4
3
  function isPColumnSpec(spec) {
5
4
  return spec.kind === "PColumn";
@@ -51,7 +50,6 @@ function extractAllColumns(entry) {
51
50
  addAllColumns(entry);
52
51
  return [...columns.values()];
53
52
  }
54
-
55
53
  //#endregion
56
54
  exports.ensurePColumn = ensurePColumn;
57
55
  exports.extractAllColumns = extractAllColumns;
@@ -60,4 +58,5 @@ exports.isPColumnResult = isPColumnResult;
60
58
  exports.isPColumnSpec = isPColumnSpec;
61
59
  exports.isPColumnSpecResult = isPColumnSpecResult;
62
60
  exports.mapPObjectData = mapPObjectData;
61
+
63
62
  //# sourceMappingURL=spec.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec.cjs","names":[],"sources":["../../src/pool/spec.ts"],"sourcesContent":["import type { Branded } from \"../branding\";\nimport type { JoinEntry, PColumn, PColumnLazy, PColumnSpec } from \"../drivers\";\nimport { assertNever } from \"../util\";\nimport type { ResultPoolEntry } from \"./entry\";\n\n/** Any object exported into the result pool by the block always have spec attached to it */\nexport type PObjectSpec = {\n /** PObject kind discriminator */\n readonly kind: string;\n\n /** Name is common part of PObject identity */\n readonly name: string;\n\n /** Domain is a set of key-value pairs that can be used to identify the object */\n readonly domain?: Record<string, string>;\n\n /** Context domain provides additional axis/column identity that is matched\n * by kinship rules (subset/superset/overlap) rather than exact equality */\n readonly contextDomain?: Record<string, string>;\n\n /** Additional information attached to the object */\n readonly annotations?: Record<string, string>;\n};\n\n/** Stable PObject id */\nexport type PObjectId = Branded<string, \"PColumnId\">;\n\n/**\n * Full PObject representation.\n *\n * @template Data type of the object referencing or describing the \"data\" part of the PObject\n * */\nexport interface PObject<Data> {\n /** Fully rendered PObjects are assigned a stable identifier. */\n readonly id: PObjectId;\n\n /** PObject spec, allowing it to be found among other PObjects */\n readonly spec: PObjectSpec;\n\n /** A handle to data object */\n readonly data: Data;\n}\n\nexport function isPColumnSpec(spec: PObjectSpec): spec is PColumnSpec {\n return spec.kind === \"PColumn\";\n}\n\nexport function isPColumn<T>(obj: PObject<T>): obj is PColumn<T> {\n return isPColumnSpec(obj.spec);\n}\n\nexport function isPColumnSpecResult(\n r: ResultPoolEntry<PObjectSpec>,\n): r is ResultPoolEntry<PColumnSpec> {\n return isPColumnSpec(r.obj);\n}\n\nexport function isPColumnResult<T>(\n r: ResultPoolEntry<PObject<T>>,\n): r is ResultPoolEntry<PColumn<T>> {\n return isPColumnSpec(r.obj.spec);\n}\n\nexport function ensurePColumn<T>(obj: PObject<T>): PColumn<T> {\n if (!isPColumn(obj)) throw new Error(`not a PColumn (kind = ${obj.spec.kind})`);\n return obj;\n}\n\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | PColumnLazy<D1>,\n cb: (d: D1) => D2,\n): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(pObj: PColumn<D1>, cb: (d: D1) => D2): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | undefined,\n cb: (d: D1) => D2,\n): PColumn<D2> | undefined;\nexport function mapPObjectData<D1, D2>(pObj: PObject<D1>, cb: (d: D1) => D2): PObject<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined {\n return pObj === undefined\n ? undefined\n : {\n ...pObj,\n data: cb(typeof pObj.data === \"function\" ? pObj.data() : pObj.data),\n };\n}\n\nexport function extractAllColumns<D>(entry: JoinEntry<PColumn<D>>): PColumn<D>[] {\n const columns = new Map<PObjectId, PColumn<D>>();\n const addAllColumns = (entry: JoinEntry<PColumn<D>>) => {\n switch (entry.type) {\n case \"column\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"slicedColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"artificialColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"inlineColumn\":\n return;\n case \"full\":\n case \"inner\":\n for (const e of entry.entries) addAllColumns(e);\n return;\n case \"outer\":\n addAllColumns(entry.primary);\n for (const e of entry.secondary) addAllColumns(e);\n return;\n default:\n assertNever(entry);\n }\n };\n addAllColumns(entry);\n return [...columns.values()];\n}\n"],"mappings":";;;AA2CA,SAAgB,cAAc,MAAwC;AACpE,QAAO,KAAK,SAAS;;AAGvB,SAAgB,UAAa,KAAoC;AAC/D,QAAO,cAAc,IAAI,KAAK;;AAGhC,SAAgB,oBACd,GACmC;AACnC,QAAO,cAAc,EAAE,IAAI;;AAG7B,SAAgB,gBACd,GACkC;AAClC,QAAO,cAAc,EAAE,IAAI,KAAK;;AAGlC,SAAgB,cAAiB,KAA6B;AAC5D,KAAI,CAAC,UAAU,IAAI,CAAE,OAAM,IAAI,MAAM,yBAAyB,IAAI,KAAK,KAAK,GAAG;AAC/E,QAAO;;AAiBT,SAAgB,eACd,MACA,IACyB;AACzB,QAAO,SAAS,SACZ,SACA;EACE,GAAG;EACH,MAAM,GAAG,OAAO,KAAK,SAAS,aAAa,KAAK,MAAM,GAAG,KAAK,KAAK;EACpE;;AAGP,SAAgB,kBAAqB,OAA4C;CAC/E,MAAM,0BAAU,IAAI,KAA4B;CAChD,MAAM,iBAAiB,UAAiC;AACtD,UAAQ,MAAM,MAAd;GACE,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK,eACH;GACF,KAAK;GACL,KAAK;AACH,SAAK,MAAM,KAAK,MAAM,QAAS,eAAc,EAAE;AAC/C;GACF,KAAK;AACH,kBAAc,MAAM,QAAQ;AAC5B,SAAK,MAAM,KAAK,MAAM,UAAW,eAAc,EAAE;AACjD;GACF,QACE,0BAAY,MAAM;;;AAGxB,eAAc,MAAM;AACpB,QAAO,CAAC,GAAG,QAAQ,QAAQ,CAAC"}
1
+ {"version":3,"file":"spec.cjs","names":[],"sources":["../../src/pool/spec.ts"],"sourcesContent":["import type { Branded } from \"../branding\";\nimport type { JoinEntry, PColumn, PColumnLazy, PColumnSpec } from \"../drivers\";\nimport { assertNever } from \"../util\";\nimport type { ResultPoolEntry } from \"./entry\";\n\n/** Any object exported into the result pool by the block always have spec attached to it */\nexport type PObjectSpec = {\n /** PObject kind discriminator */\n readonly kind: string;\n\n /** Name is common part of PObject identity */\n readonly name: string;\n\n /** Domain is a set of key-value pairs that can be used to identify the object */\n readonly domain?: Record<string, string>;\n\n /** Context domain provides additional axis/column identity that is matched\n * by kinship rules (subset/superset/overlap) rather than exact equality */\n readonly contextDomain?: Record<string, string>;\n\n /** Additional information attached to the object */\n readonly annotations?: Record<string, string>;\n};\n\n/** Stable PObject id */\nexport type PObjectId = Branded<string, \"PColumnId\">;\n\n/**\n * Full PObject representation.\n *\n * @template Data type of the object referencing or describing the \"data\" part of the PObject\n * */\nexport interface PObject<Data> {\n /** Fully rendered PObjects are assigned a stable identifier. */\n readonly id: PObjectId;\n\n /** PObject spec, allowing it to be found among other PObjects */\n readonly spec: PObjectSpec;\n\n /** A handle to data object */\n readonly data: Data;\n}\n\nexport function isPColumnSpec(spec: PObjectSpec): spec is PColumnSpec {\n return spec.kind === \"PColumn\";\n}\n\nexport function isPColumn<T>(obj: PObject<T>): obj is PColumn<T> {\n return isPColumnSpec(obj.spec);\n}\n\nexport function isPColumnSpecResult(\n r: ResultPoolEntry<PObjectSpec>,\n): r is ResultPoolEntry<PColumnSpec> {\n return isPColumnSpec(r.obj);\n}\n\nexport function isPColumnResult<T>(\n r: ResultPoolEntry<PObject<T>>,\n): r is ResultPoolEntry<PColumn<T>> {\n return isPColumnSpec(r.obj.spec);\n}\n\nexport function ensurePColumn<T>(obj: PObject<T>): PColumn<T> {\n if (!isPColumn(obj)) throw new Error(`not a PColumn (kind = ${obj.spec.kind})`);\n return obj;\n}\n\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | PColumnLazy<D1>,\n cb: (d: D1) => D2,\n): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(pObj: PColumn<D1>, cb: (d: D1) => D2): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | undefined,\n cb: (d: D1) => D2,\n): PColumn<D2> | undefined;\nexport function mapPObjectData<D1, D2>(pObj: PObject<D1>, cb: (d: D1) => D2): PObject<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined {\n return pObj === undefined\n ? undefined\n : {\n ...pObj,\n data: cb(typeof pObj.data === \"function\" ? pObj.data() : pObj.data),\n };\n}\n\nexport function extractAllColumns<D>(entry: JoinEntry<PColumn<D>>): PColumn<D>[] {\n const columns = new Map<PObjectId, PColumn<D>>();\n const addAllColumns = (entry: JoinEntry<PColumn<D>>) => {\n switch (entry.type) {\n case \"column\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"slicedColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"artificialColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"inlineColumn\":\n return;\n case \"full\":\n case \"inner\":\n for (const e of entry.entries) addAllColumns(e);\n return;\n case \"outer\":\n addAllColumns(entry.primary);\n for (const e of entry.secondary) addAllColumns(e);\n return;\n default:\n assertNever(entry);\n }\n };\n addAllColumns(entry);\n return [...columns.values()];\n}\n"],"mappings":";;AA2CA,SAAgB,cAAc,MAAwC;AACpE,QAAO,KAAK,SAAS;;AAGvB,SAAgB,UAAa,KAAoC;AAC/D,QAAO,cAAc,IAAI,KAAK;;AAGhC,SAAgB,oBACd,GACmC;AACnC,QAAO,cAAc,EAAE,IAAI;;AAG7B,SAAgB,gBACd,GACkC;AAClC,QAAO,cAAc,EAAE,IAAI,KAAK;;AAGlC,SAAgB,cAAiB,KAA6B;AAC5D,KAAI,CAAC,UAAU,IAAI,CAAE,OAAM,IAAI,MAAM,yBAAyB,IAAI,KAAK,KAAK,GAAG;AAC/E,QAAO;;AAiBT,SAAgB,eACd,MACA,IACyB;AACzB,QAAO,SAAS,KAAA,IACZ,KAAA,IACA;EACE,GAAG;EACH,MAAM,GAAG,OAAO,KAAK,SAAS,aAAa,KAAK,MAAM,GAAG,KAAK,KAAK;EACpE;;AAGP,SAAgB,kBAAqB,OAA4C;CAC/E,MAAM,0BAAU,IAAI,KAA4B;CAChD,MAAM,iBAAiB,UAAiC;AACtD,UAAQ,MAAM,MAAd;GACE,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK,eACH;GACF,KAAK;GACL,KAAK;AACH,SAAK,MAAM,KAAK,MAAM,QAAS,eAAc,EAAE;AAC/C;GACF,KAAK;AACH,kBAAc,MAAM,QAAQ;AAC5B,SAAK,MAAM,KAAK,MAAM,UAAW,eAAc,EAAE;AACjD;GACF,QACE,cAAA,YAAY,MAAM;;;AAGxB,eAAc,MAAM;AACpB,QAAO,CAAC,GAAG,QAAQ,QAAQ,CAAC"}
@@ -2,8 +2,6 @@ import { Branded } from "../branding.js";
2
2
  import { ResultPoolEntry } from "./entry.js";
3
3
  import { PColumn, PColumnLazy, PColumnSpec } from "../drivers/pframe/spec/spec.js";
4
4
  import { JoinEntry } from "../drivers/pframe/table_calculate.js";
5
- import "../drivers/index.js";
6
-
7
5
  //#region src/pool/spec.d.ts
8
6
  /** Any object exported into the result pool by the block always have spec attached to it */
9
7
  type PObjectSpec = {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.d.ts","names":[],"sources":["../../src/pool/spec.ts"],"mappings":";;;;;;KAMY,WAAA;4CAED,IAAA,UAFC;EAAA,SAKD,IAAA;WAGA,MAAA,GAAS,MAAA;EAIO;;EAAA,SAAhB,aAAA,GAAgB,MAAA,kBAGI;EAAA,SAApB,WAAA,GAAc,MAAA;AAAA;;KAIb,SAAA,GAAY,OAAA;;;;;;UAOP,OAAA;EAPL;EAAA,SASD,EAAA,EAAI,SAAA;;WAGJ,IAAA,EAAM,WAAA;EAZc;EAAA,SAepB,IAAA,EAAM,IAAA;AAAA;AAAA,iBAGD,aAAA,CAAc,IAAA,EAAM,WAAA,GAAc,IAAA,IAAQ,WAAA;AAAA,iBAI1C,SAAA,GAAA,CAAa,GAAA,EAAK,OAAA,CAAQ,CAAA,IAAK,GAAA,IAAO,OAAA,CAAQ,CAAA;AAAA,iBAI9C,mBAAA,CACd,CAAA,EAAG,eAAA,CAAgB,WAAA,IAClB,CAAA,IAAK,eAAA,CAAgB,WAAA;AAAA,iBAIR,eAAA,GAAA,CACd,CAAA,EAAG,eAAA,CAAgB,OAAA,CAAQ,CAAA,KAC1B,CAAA,IAAK,eAAA,CAAgB,OAAA,CAAQ,CAAA;AAAA,iBAIhB,aAAA,GAAA,CAAiB,GAAA,EAAK,OAAA,CAAQ,CAAA,IAAK,OAAA,CAAQ,CAAA;AAAA,iBAK3C,cAAA,QAAA,CACd,IAAA,EAAM,OAAA,CAAQ,EAAA,IAAM,WAAA,CAAY,EAAA,GAChC,EAAA,GAAK,CAAA,EAAG,EAAA,KAAO,EAAA,GACd,OAAA,CAAQ,EAAA;AAAA,iBACK,cAAA,QAAA,CAAuB,IAAA,EAAM,OAAA,CAAQ,EAAA,GAAK,EAAA,GAAK,CAAA,EAAG,EAAA,KAAO,EAAA,GAAK,OAAA,CAAQ,EAAA;AAAA,iBACtE,cAAA,QAAA,CACd,IAAA,EAAM,OAAA,CAAQ,EAAA,eACd,EAAA,GAAK,CAAA,EAAG,EAAA,KAAO,EAAA,GACd,OAAA,CAAQ,EAAA;AAAA,iBACK,cAAA,QAAA,CAAuB,IAAA,EAAM,OAAA,CAAQ,EAAA,GAAK,EAAA,GAAK,CAAA,EAAG,EAAA,KAAO,EAAA,GAAK,OAAA,CAAQ,EAAA;AAAA,iBACtE,cAAA,QAAA,CACd,IAAA,EAAM,OAAA,CAAQ,EAAA,eACd,EAAA,GAAK,CAAA,EAAG,EAAA,KAAO,EAAA,GACd,OAAA,CAAQ,EAAA;AAAA,iBAaK,iBAAA,GAAA,CAAqB,KAAA,EAAO,SAAA,CAAU,OAAA,CAAQ,CAAA,KAAM,OAAA,CAAQ,CAAA"}
package/dist/pool/spec.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { assertNever } from "../util.js";
2
-
3
2
  //#region src/pool/spec.ts
4
3
  function isPColumnSpec(spec) {
5
4
  return spec.kind === "PColumn";
@@ -51,7 +50,7 @@ function extractAllColumns(entry) {
51
50
  addAllColumns(entry);
52
51
  return [...columns.values()];
53
52
  }
54
-
55
53
  //#endregion
56
54
  export { ensurePColumn, extractAllColumns, isPColumn, isPColumnResult, isPColumnSpec, isPColumnSpecResult, mapPObjectData };
55
+
57
56
  //# sourceMappingURL=spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","names":[],"sources":["../../src/pool/spec.ts"],"sourcesContent":["import type { Branded } from \"../branding\";\nimport type { JoinEntry, PColumn, PColumnLazy, PColumnSpec } from \"../drivers\";\nimport { assertNever } from \"../util\";\nimport type { ResultPoolEntry } from \"./entry\";\n\n/** Any object exported into the result pool by the block always have spec attached to it */\nexport type PObjectSpec = {\n /** PObject kind discriminator */\n readonly kind: string;\n\n /** Name is common part of PObject identity */\n readonly name: string;\n\n /** Domain is a set of key-value pairs that can be used to identify the object */\n readonly domain?: Record<string, string>;\n\n /** Context domain provides additional axis/column identity that is matched\n * by kinship rules (subset/superset/overlap) rather than exact equality */\n readonly contextDomain?: Record<string, string>;\n\n /** Additional information attached to the object */\n readonly annotations?: Record<string, string>;\n};\n\n/** Stable PObject id */\nexport type PObjectId = Branded<string, \"PColumnId\">;\n\n/**\n * Full PObject representation.\n *\n * @template Data type of the object referencing or describing the \"data\" part of the PObject\n * */\nexport interface PObject<Data> {\n /** Fully rendered PObjects are assigned a stable identifier. */\n readonly id: PObjectId;\n\n /** PObject spec, allowing it to be found among other PObjects */\n readonly spec: PObjectSpec;\n\n /** A handle to data object */\n readonly data: Data;\n}\n\nexport function isPColumnSpec(spec: PObjectSpec): spec is PColumnSpec {\n return spec.kind === \"PColumn\";\n}\n\nexport function isPColumn<T>(obj: PObject<T>): obj is PColumn<T> {\n return isPColumnSpec(obj.spec);\n}\n\nexport function isPColumnSpecResult(\n r: ResultPoolEntry<PObjectSpec>,\n): r is ResultPoolEntry<PColumnSpec> {\n return isPColumnSpec(r.obj);\n}\n\nexport function isPColumnResult<T>(\n r: ResultPoolEntry<PObject<T>>,\n): r is ResultPoolEntry<PColumn<T>> {\n return isPColumnSpec(r.obj.spec);\n}\n\nexport function ensurePColumn<T>(obj: PObject<T>): PColumn<T> {\n if (!isPColumn(obj)) throw new Error(`not a PColumn (kind = ${obj.spec.kind})`);\n return obj;\n}\n\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | PColumnLazy<D1>,\n cb: (d: D1) => D2,\n): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(pObj: PColumn<D1>, cb: (d: D1) => D2): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | undefined,\n cb: (d: D1) => D2,\n): PColumn<D2> | undefined;\nexport function mapPObjectData<D1, D2>(pObj: PObject<D1>, cb: (d: D1) => D2): PObject<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined {\n return pObj === undefined\n ? undefined\n : {\n ...pObj,\n data: cb(typeof pObj.data === \"function\" ? pObj.data() : pObj.data),\n };\n}\n\nexport function extractAllColumns<D>(entry: JoinEntry<PColumn<D>>): PColumn<D>[] {\n const columns = new Map<PObjectId, PColumn<D>>();\n const addAllColumns = (entry: JoinEntry<PColumn<D>>) => {\n switch (entry.type) {\n case \"column\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"slicedColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"artificialColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"inlineColumn\":\n return;\n case \"full\":\n case \"inner\":\n for (const e of entry.entries) addAllColumns(e);\n return;\n case \"outer\":\n addAllColumns(entry.primary);\n for (const e of entry.secondary) addAllColumns(e);\n return;\n default:\n assertNever(entry);\n }\n };\n addAllColumns(entry);\n return [...columns.values()];\n}\n"],"mappings":";;;AA2CA,SAAgB,cAAc,MAAwC;AACpE,QAAO,KAAK,SAAS;;AAGvB,SAAgB,UAAa,KAAoC;AAC/D,QAAO,cAAc,IAAI,KAAK;;AAGhC,SAAgB,oBACd,GACmC;AACnC,QAAO,cAAc,EAAE,IAAI;;AAG7B,SAAgB,gBACd,GACkC;AAClC,QAAO,cAAc,EAAE,IAAI,KAAK;;AAGlC,SAAgB,cAAiB,KAA6B;AAC5D,KAAI,CAAC,UAAU,IAAI,CAAE,OAAM,IAAI,MAAM,yBAAyB,IAAI,KAAK,KAAK,GAAG;AAC/E,QAAO;;AAiBT,SAAgB,eACd,MACA,IACyB;AACzB,QAAO,SAAS,SACZ,SACA;EACE,GAAG;EACH,MAAM,GAAG,OAAO,KAAK,SAAS,aAAa,KAAK,MAAM,GAAG,KAAK,KAAK;EACpE;;AAGP,SAAgB,kBAAqB,OAA4C;CAC/E,MAAM,0BAAU,IAAI,KAA4B;CAChD,MAAM,iBAAiB,UAAiC;AACtD,UAAQ,MAAM,MAAd;GACE,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK,eACH;GACF,KAAK;GACL,KAAK;AACH,SAAK,MAAM,KAAK,MAAM,QAAS,eAAc,EAAE;AAC/C;GACF,KAAK;AACH,kBAAc,MAAM,QAAQ;AAC5B,SAAK,MAAM,KAAK,MAAM,UAAW,eAAc,EAAE;AACjD;GACF,QACE,aAAY,MAAM;;;AAGxB,eAAc,MAAM;AACpB,QAAO,CAAC,GAAG,QAAQ,QAAQ,CAAC"}
1
+ {"version":3,"file":"spec.js","names":[],"sources":["../../src/pool/spec.ts"],"sourcesContent":["import type { Branded } from \"../branding\";\nimport type { JoinEntry, PColumn, PColumnLazy, PColumnSpec } from \"../drivers\";\nimport { assertNever } from \"../util\";\nimport type { ResultPoolEntry } from \"./entry\";\n\n/** Any object exported into the result pool by the block always have spec attached to it */\nexport type PObjectSpec = {\n /** PObject kind discriminator */\n readonly kind: string;\n\n /** Name is common part of PObject identity */\n readonly name: string;\n\n /** Domain is a set of key-value pairs that can be used to identify the object */\n readonly domain?: Record<string, string>;\n\n /** Context domain provides additional axis/column identity that is matched\n * by kinship rules (subset/superset/overlap) rather than exact equality */\n readonly contextDomain?: Record<string, string>;\n\n /** Additional information attached to the object */\n readonly annotations?: Record<string, string>;\n};\n\n/** Stable PObject id */\nexport type PObjectId = Branded<string, \"PColumnId\">;\n\n/**\n * Full PObject representation.\n *\n * @template Data type of the object referencing or describing the \"data\" part of the PObject\n * */\nexport interface PObject<Data> {\n /** Fully rendered PObjects are assigned a stable identifier. */\n readonly id: PObjectId;\n\n /** PObject spec, allowing it to be found among other PObjects */\n readonly spec: PObjectSpec;\n\n /** A handle to data object */\n readonly data: Data;\n}\n\nexport function isPColumnSpec(spec: PObjectSpec): spec is PColumnSpec {\n return spec.kind === \"PColumn\";\n}\n\nexport function isPColumn<T>(obj: PObject<T>): obj is PColumn<T> {\n return isPColumnSpec(obj.spec);\n}\n\nexport function isPColumnSpecResult(\n r: ResultPoolEntry<PObjectSpec>,\n): r is ResultPoolEntry<PColumnSpec> {\n return isPColumnSpec(r.obj);\n}\n\nexport function isPColumnResult<T>(\n r: ResultPoolEntry<PObject<T>>,\n): r is ResultPoolEntry<PColumn<T>> {\n return isPColumnSpec(r.obj.spec);\n}\n\nexport function ensurePColumn<T>(obj: PObject<T>): PColumn<T> {\n if (!isPColumn(obj)) throw new Error(`not a PColumn (kind = ${obj.spec.kind})`);\n return obj;\n}\n\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | PColumnLazy<D1>,\n cb: (d: D1) => D2,\n): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(pObj: PColumn<D1>, cb: (d: D1) => D2): PColumn<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PColumn<D1> | undefined,\n cb: (d: D1) => D2,\n): PColumn<D2> | undefined;\nexport function mapPObjectData<D1, D2>(pObj: PObject<D1>, cb: (d: D1) => D2): PObject<D2>;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined;\nexport function mapPObjectData<D1, D2>(\n pObj: PObject<D1> | undefined,\n cb: (d: D1) => D2,\n): PObject<D2> | undefined {\n return pObj === undefined\n ? undefined\n : {\n ...pObj,\n data: cb(typeof pObj.data === \"function\" ? pObj.data() : pObj.data),\n };\n}\n\nexport function extractAllColumns<D>(entry: JoinEntry<PColumn<D>>): PColumn<D>[] {\n const columns = new Map<PObjectId, PColumn<D>>();\n const addAllColumns = (entry: JoinEntry<PColumn<D>>) => {\n switch (entry.type) {\n case \"column\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"slicedColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"artificialColumn\":\n columns.set(entry.column.id, entry.column);\n return;\n case \"inlineColumn\":\n return;\n case \"full\":\n case \"inner\":\n for (const e of entry.entries) addAllColumns(e);\n return;\n case \"outer\":\n addAllColumns(entry.primary);\n for (const e of entry.secondary) addAllColumns(e);\n return;\n default:\n assertNever(entry);\n }\n };\n addAllColumns(entry);\n return [...columns.values()];\n}\n"],"mappings":";;AA2CA,SAAgB,cAAc,MAAwC;AACpE,QAAO,KAAK,SAAS;;AAGvB,SAAgB,UAAa,KAAoC;AAC/D,QAAO,cAAc,IAAI,KAAK;;AAGhC,SAAgB,oBACd,GACmC;AACnC,QAAO,cAAc,EAAE,IAAI;;AAG7B,SAAgB,gBACd,GACkC;AAClC,QAAO,cAAc,EAAE,IAAI,KAAK;;AAGlC,SAAgB,cAAiB,KAA6B;AAC5D,KAAI,CAAC,UAAU,IAAI,CAAE,OAAM,IAAI,MAAM,yBAAyB,IAAI,KAAK,KAAK,GAAG;AAC/E,QAAO;;AAiBT,SAAgB,eACd,MACA,IACyB;AACzB,QAAO,SAAS,KAAA,IACZ,KAAA,IACA;EACE,GAAG;EACH,MAAM,GAAG,OAAO,KAAK,SAAS,aAAa,KAAK,MAAM,GAAG,KAAK,KAAK;EACpE;;AAGP,SAAgB,kBAAqB,OAA4C;CAC/E,MAAM,0BAAU,IAAI,KAA4B;CAChD,MAAM,iBAAiB,UAAiC;AACtD,UAAQ,MAAM,MAAd;GACE,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK;AACH,YAAQ,IAAI,MAAM,OAAO,IAAI,MAAM,OAAO;AAC1C;GACF,KAAK,eACH;GACF,KAAK;GACL,KAAK;AACH,SAAK,MAAM,KAAK,MAAM,QAAS,eAAc,EAAE;AAC/C;GACF,KAAK;AACH,kBAAc,MAAM,QAAQ;AAC5B,SAAK,MAAM,KAAK,MAAM,UAAW,eAAc,EAAE;AACjD;GACF,QACE,aAAY,MAAM;;;AAGxB,eAAc,MAAM;AACpB,QAAO,CAAC,GAAG,QAAQ,QAAQ,CAAC"}
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/pool_entry.ts
3
2
  /**
4
3
  * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope
@@ -24,7 +23,7 @@ var PoolEntryGuard = class {
24
23
  if (!this.kept) this.entry.unref();
25
24
  }
26
25
  };
27
-
28
26
  //#endregion
29
27
  exports.PoolEntryGuard = PoolEntryGuard;
28
+
30
29
  //# sourceMappingURL=pool_entry.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pool_entry.cjs","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;;AAmBA,IAAa,iBAAb,MAAgG;CAC9F,AAAQ,OAAO;CAEf,YAAY,AAAS,OAAwB;EAAxB;;CAErB,IAAI,MAAS;AACX,SAAO,KAAK,MAAM;;CAGpB,IAAI,WAAc;AAChB,SAAO,KAAK,MAAM;;;CAIpB,OAAwB;AACtB,OAAK,OAAO;AACZ,SAAO,KAAK;;CAGd,CAAC,OAAO,WAAiB;AACvB,MAAI,CAAC,KAAK,KAAM,MAAK,MAAM,OAAO"}
1
+ {"version":3,"file":"pool_entry.cjs","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;AAmBA,IAAa,iBAAb,MAAgG;CAC9F,OAAe;CAEf,YAAY,OAAiC;AAAxB,OAAA,QAAA;;CAErB,IAAI,MAAS;AACX,SAAO,KAAK,MAAM;;CAGpB,IAAI,WAAc;AAChB,SAAO,KAAK,MAAM;;;CAIpB,OAAwB;AACtB,OAAK,OAAO;AACZ,SAAO,KAAK;;CAGd,CAAC,OAAO,WAAiB;AACvB,MAAI,CAAC,KAAK,KAAM,MAAK,MAAM,OAAO"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool_entry.d.ts","names":[],"sources":["../src/pool_entry.ts"],"mappings":";UAAiB,SAAA,uDAAgE,UAAA;EAAhE;EAAA,SAEN,GAAA,EAAK,CAAA;EAFU;EAAA,SAKf,QAAA,EAAU,CAAA;EAAA;;;;;EAAA,SAOV,KAAA;AAAA;;;;;cAOE,cAAA,0DAAwE,UAAA;EAAA,SAG9D,KAAA,EAAO,SAAA,CAAU,CAAA,EAAG,CAAA;EAAA,QAFjC,IAAA;cAEa,KAAA,EAAO,SAAA,CAAU,CAAA,EAAG,CAAA;EAAA,IAErC,GAAA,CAAA,GAAO,CAAA;EAAA,IAIP,QAAA,CAAA,GAAY,CAAA;EANsB;EAWtC,IAAA,CAAA,GAAQ,SAAA,CAAU,CAAA,EAAG,CAAA;EAAA,CAKpB,MAAA,CAAO,OAAA;AAAA"}
@@ -23,7 +23,7 @@ var PoolEntryGuard = class {
23
23
  if (!this.kept) this.entry.unref();
24
24
  }
25
25
  };
26
-
27
26
  //#endregion
28
27
  export { PoolEntryGuard };
28
+
29
29
  //# sourceMappingURL=pool_entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pool_entry.js","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;AAmBA,IAAa,iBAAb,MAAgG;CAC9F,AAAQ,OAAO;CAEf,YAAY,AAAS,OAAwB;EAAxB;;CAErB,IAAI,MAAS;AACX,SAAO,KAAK,MAAM;;CAGpB,IAAI,WAAc;AAChB,SAAO,KAAK,MAAM;;;CAIpB,OAAwB;AACtB,OAAK,OAAO;AACZ,SAAO,KAAK;;CAGd,CAAC,OAAO,WAAiB;AACvB,MAAI,CAAC,KAAK,KAAM,MAAK,MAAM,OAAO"}
1
+ {"version":3,"file":"pool_entry.js","names":[],"sources":["../src/pool_entry.ts"],"sourcesContent":["export interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /**\n * Release the reference. Idempotent.\n * Same as `[Symbol.dispose]()` — provided as a named function\n * for use in callbacks (e.g. `addOnDestroy(entry.unref)`).\n */\n readonly unref: () => void;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n"],"mappings":";;;;;AAmBA,IAAa,iBAAb,MAAgG;CAC9F,OAAe;CAEf,YAAY,OAAiC;AAAxB,OAAA,QAAA;;CAErB,IAAI,MAAS;AACX,SAAO,KAAK,MAAM;;CAGpB,IAAI,WAAc;AAChB,SAAO,KAAK,MAAM;;;CAIpB,OAAwB;AACtB,OAAK,OAAO;AACZ,SAAO,KAAK;;CAGd,CAAC,OAAO,WAAiB;AACvB,MAAI,CAAC,KAAK,KAAM,MAAK,MAAM,OAAO"}
package/dist/ref.cjs CHANGED
@@ -1,6 +1,5 @@
1
- const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
1
+ require("./_virtual/_rolldown/runtime.cjs");
2
2
  let zod = require("zod");
3
-
4
3
  //#region src/ref.ts
5
4
  const PlRef = zod.z.object({
6
5
  __isRef: zod.z.literal(true).describe("Crucial marker for the block dependency tree reconstruction"),
@@ -60,11 +59,11 @@ function withEnrichments(ref, requireEnrichments = true) {
60
59
  function plRefsEqual(ref1, ref2, ignoreEnrichments = false) {
61
60
  return ref1.blockId === ref2.blockId && ref1.name === ref2.name && (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments);
62
61
  }
63
-
64
62
  //#endregion
65
63
  exports.PlRef = PlRef;
66
64
  exports.createPlRef = createPlRef;
67
65
  exports.isPlRef = isPlRef;
68
66
  exports.plRefsEqual = plRefsEqual;
69
67
  exports.withEnrichments = withEnrichments;
68
+
70
69
  //# sourceMappingURL=ref.cjs.map
package/dist/ref.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ref.cjs","names":["z"],"sources":["../src/ref.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const PlRef = z\n .object({\n __isRef: z\n .literal(true)\n .describe(\"Crucial marker for the block dependency tree reconstruction\"),\n blockId: z.string().describe(\"Upstream block id\"),\n name: z.string().describe(\"Name of the output provided to the upstream block's output context\"),\n requireEnrichments: z\n .literal(true)\n .optional()\n .describe(\n \"True if current block that stores this reference in its args, may need enrichments \" +\n \"for the references value originating from the blocks in between current and referenced block\",\n ),\n })\n .describe(\n \"Universal reference type, allowing to set block connections. It is crucial that \" +\n \"{@link __isRef} is present and equal to true, internal logic relies on this marker \" +\n \"to build block dependency trees.\",\n )\n .readonly();\nexport type PlRef = z.infer<typeof PlRef>;\n/** @deprecated use {@link PlRef} */\nexport type Ref = PlRef;\n\n/**\n * Type guard to check if a value is a PlRef.\n *\n * @param value - The value to check.\n * @returns True if the value is a PlRef, false otherwise.\n */\nexport function isPlRef(value: unknown): value is PlRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"__isRef\" in value &&\n (value as { __isRef: unknown }).__isRef === true &&\n \"blockId\" in value &&\n \"name\" in value\n );\n}\n\n/** Standard way how to communicate possible connections given specific\n * requirements for incoming data. */\nexport type Option = {\n /** Fully rendered reference to be assigned for the intended field in block's\n * args */\n readonly ref: PlRef;\n\n /** Label to be present for the user in i.e. drop-down list */\n readonly label: string;\n};\n\n/**\n * Creates a PlRef with the given blockId and name.\n *\n * @param blockId - The blockId of the reference.\n * @param name - The name of the reference.\n * @param requireEnrichments - Whether the reference requires enrichments.\n */\nexport function createPlRef(blockId: string, name: string, requireEnrichments: boolean = false) {\n if (requireEnrichments)\n return {\n __isRef: true,\n blockId,\n name,\n requireEnrichments: true,\n };\n else\n return {\n __isRef: true,\n blockId,\n name,\n };\n}\n\n/**\n * Creates a new PlRef based on an existing one, explicitly setting (default) or removing the\n * requireEnrichments property.\n *\n * @param ref - The original PlRef object.\n * @param requireEnrichments - If true, the `requireEnrichments: true` property is added\n * to the returned PlRef. If false, the `requireEnrichments` property is removed. Defaults to true.\n * @returns A new PlRef object with the `requireEnrichments` property set or removed accordingly.\n */\nexport function withEnrichments(ref: PlRef, requireEnrichments: boolean = true): PlRef {\n if (requireEnrichments)\n return {\n ...ref,\n requireEnrichments: true,\n };\n else {\n const { requireEnrichments: _, ...rest } = ref;\n return rest;\n }\n}\n\n/** Compare two PlRefs and returns true if they are qual */\nexport function plRefsEqual(ref1: PlRef, ref2: PlRef, ignoreEnrichments: boolean = false) {\n return (\n ref1.blockId === ref2.blockId &&\n ref1.name === ref2.name &&\n (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments)\n );\n}\n"],"mappings":";;;;AAEA,MAAa,QAAQA,MAClB,OAAO;CACN,SAASA,MACN,QAAQ,KAAK,CACb,SAAS,8DAA8D;CAC1E,SAASA,MAAE,QAAQ,CAAC,SAAS,oBAAoB;CACjD,MAAMA,MAAE,QAAQ,CAAC,SAAS,qEAAqE;CAC/F,oBAAoBA,MACjB,QAAQ,KAAK,CACb,UAAU,CACV,SACC,kLAED;CACJ,CAAC,CACD,SACC,sMAGD,CACA,UAAU;;;;;;;AAWb,SAAgB,QAAQ,OAAgC;AACtD,QACE,OAAO,UAAU,YACjB,UAAU,QACV,aAAa,SACZ,MAA+B,YAAY,QAC5C,aAAa,SACb,UAAU;;;;;;;;;AAsBd,SAAgB,YAAY,SAAiB,MAAc,qBAA8B,OAAO;AAC9F,KAAI,mBACF,QAAO;EACL,SAAS;EACT;EACA;EACA,oBAAoB;EACrB;KAED,QAAO;EACL,SAAS;EACT;EACA;EACD;;;;;;;;;;;AAYL,SAAgB,gBAAgB,KAAY,qBAA8B,MAAa;AACrF,KAAI,mBACF,QAAO;EACL,GAAG;EACH,oBAAoB;EACrB;MACE;EACH,MAAM,EAAE,oBAAoB,GAAG,GAAG,SAAS;AAC3C,SAAO;;;;AAKX,SAAgB,YAAY,MAAa,MAAa,oBAA6B,OAAO;AACxF,QACE,KAAK,YAAY,KAAK,WACtB,KAAK,SAAS,KAAK,SAClB,qBAAqB,KAAK,uBAAuB,KAAK"}
1
+ {"version":3,"file":"ref.cjs","names":["z"],"sources":["../src/ref.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const PlRef = z\n .object({\n __isRef: z\n .literal(true)\n .describe(\"Crucial marker for the block dependency tree reconstruction\"),\n blockId: z.string().describe(\"Upstream block id\"),\n name: z.string().describe(\"Name of the output provided to the upstream block's output context\"),\n requireEnrichments: z\n .literal(true)\n .optional()\n .describe(\n \"True if current block that stores this reference in its args, may need enrichments \" +\n \"for the references value originating from the blocks in between current and referenced block\",\n ),\n })\n .describe(\n \"Universal reference type, allowing to set block connections. It is crucial that \" +\n \"{@link __isRef} is present and equal to true, internal logic relies on this marker \" +\n \"to build block dependency trees.\",\n )\n .readonly();\nexport type PlRef = z.infer<typeof PlRef>;\n/** @deprecated use {@link PlRef} */\nexport type Ref = PlRef;\n\n/**\n * Type guard to check if a value is a PlRef.\n *\n * @param value - The value to check.\n * @returns True if the value is a PlRef, false otherwise.\n */\nexport function isPlRef(value: unknown): value is PlRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"__isRef\" in value &&\n (value as { __isRef: unknown }).__isRef === true &&\n \"blockId\" in value &&\n \"name\" in value\n );\n}\n\n/** Standard way how to communicate possible connections given specific\n * requirements for incoming data. */\nexport type Option = {\n /** Fully rendered reference to be assigned for the intended field in block's\n * args */\n readonly ref: PlRef;\n\n /** Label to be present for the user in i.e. drop-down list */\n readonly label: string;\n};\n\n/**\n * Creates a PlRef with the given blockId and name.\n *\n * @param blockId - The blockId of the reference.\n * @param name - The name of the reference.\n * @param requireEnrichments - Whether the reference requires enrichments.\n */\nexport function createPlRef(blockId: string, name: string, requireEnrichments: boolean = false) {\n if (requireEnrichments)\n return {\n __isRef: true,\n blockId,\n name,\n requireEnrichments: true,\n };\n else\n return {\n __isRef: true,\n blockId,\n name,\n };\n}\n\n/**\n * Creates a new PlRef based on an existing one, explicitly setting (default) or removing the\n * requireEnrichments property.\n *\n * @param ref - The original PlRef object.\n * @param requireEnrichments - If true, the `requireEnrichments: true` property is added\n * to the returned PlRef. If false, the `requireEnrichments` property is removed. Defaults to true.\n * @returns A new PlRef object with the `requireEnrichments` property set or removed accordingly.\n */\nexport function withEnrichments(ref: PlRef, requireEnrichments: boolean = true): PlRef {\n if (requireEnrichments)\n return {\n ...ref,\n requireEnrichments: true,\n };\n else {\n const { requireEnrichments: _, ...rest } = ref;\n return rest;\n }\n}\n\n/** Compare two PlRefs and returns true if they are qual */\nexport function plRefsEqual(ref1: PlRef, ref2: PlRef, ignoreEnrichments: boolean = false) {\n return (\n ref1.blockId === ref2.blockId &&\n ref1.name === ref2.name &&\n (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments)\n );\n}\n"],"mappings":";;;AAEA,MAAa,QAAQA,IAAAA,EAClB,OAAO;CACN,SAASA,IAAAA,EACN,QAAQ,KAAK,CACb,SAAS,8DAA8D;CAC1E,SAASA,IAAAA,EAAE,QAAQ,CAAC,SAAS,oBAAoB;CACjD,MAAMA,IAAAA,EAAE,QAAQ,CAAC,SAAS,qEAAqE;CAC/F,oBAAoBA,IAAAA,EACjB,QAAQ,KAAK,CACb,UAAU,CACV,SACC,kLAED;CACJ,CAAC,CACD,SACC,sMAGD,CACA,UAAU;;;;;;;AAWb,SAAgB,QAAQ,OAAgC;AACtD,QACE,OAAO,UAAU,YACjB,UAAU,QACV,aAAa,SACZ,MAA+B,YAAY,QAC5C,aAAa,SACb,UAAU;;;;;;;;;AAsBd,SAAgB,YAAY,SAAiB,MAAc,qBAA8B,OAAO;AAC9F,KAAI,mBACF,QAAO;EACL,SAAS;EACT;EACA;EACA,oBAAoB;EACrB;KAED,QAAO;EACL,SAAS;EACT;EACA;EACD;;;;;;;;;;;AAYL,SAAgB,gBAAgB,KAAY,qBAA8B,MAAa;AACrF,KAAI,mBACF,QAAO;EACL,GAAG;EACH,oBAAoB;EACrB;MACE;EACH,MAAM,EAAE,oBAAoB,GAAG,GAAG,SAAS;AAC3C,SAAO;;;;AAKX,SAAgB,YAAY,MAAa,MAAa,oBAA6B,OAAO;AACxF,QACE,KAAK,YAAY,KAAK,WACtB,KAAK,SAAS,KAAK,SAClB,qBAAqB,KAAK,uBAAuB,KAAK"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref.d.ts","names":[],"sources":["../src/ref.ts"],"mappings":";;;cAEa,KAAA,EAAK,CAAA,CAAA,WAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;KAqBN,KAAA,GAAQ,CAAA,CAAE,KAAA,QAAa,KAAA;;KAEvB,GAAA,GAAM,KAAA;;;;;;;iBAQF,OAAA,CAAQ,KAAA,YAAiB,KAAA,IAAS,KAAA;;;KAatC,MAAA;;;WAGD,GAAA,EAAK,KAAA;WAGL,KAAA;AAAA;;;;;;;;iBAUK,WAAA,CAAY,OAAA,UAAiB,IAAA,UAAc,kBAAA;;;;;;;;;;;;AArC3D;;;;;AAQA;;;iBAsDgB,eAAA,CAAgB,GAAA,EAAK,KAAA,EAAO,kBAAA,aAAqC,KAAA;;iBAajE,WAAA,CAAY,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,iBAAA"}
package/dist/ref.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { z } from "zod";
2
-
3
2
  //#region src/ref.ts
4
3
  const PlRef = z.object({
5
4
  __isRef: z.literal(true).describe("Crucial marker for the block dependency tree reconstruction"),
@@ -59,7 +58,7 @@ function withEnrichments(ref, requireEnrichments = true) {
59
58
  function plRefsEqual(ref1, ref2, ignoreEnrichments = false) {
60
59
  return ref1.blockId === ref2.blockId && ref1.name === ref2.name && (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments);
61
60
  }
62
-
63
61
  //#endregion
64
62
  export { PlRef, createPlRef, isPlRef, plRefsEqual, withEnrichments };
63
+
65
64
  //# sourceMappingURL=ref.js.map
package/dist/ref.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ref.js","names":[],"sources":["../src/ref.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const PlRef = z\n .object({\n __isRef: z\n .literal(true)\n .describe(\"Crucial marker for the block dependency tree reconstruction\"),\n blockId: z.string().describe(\"Upstream block id\"),\n name: z.string().describe(\"Name of the output provided to the upstream block's output context\"),\n requireEnrichments: z\n .literal(true)\n .optional()\n .describe(\n \"True if current block that stores this reference in its args, may need enrichments \" +\n \"for the references value originating from the blocks in between current and referenced block\",\n ),\n })\n .describe(\n \"Universal reference type, allowing to set block connections. It is crucial that \" +\n \"{@link __isRef} is present and equal to true, internal logic relies on this marker \" +\n \"to build block dependency trees.\",\n )\n .readonly();\nexport type PlRef = z.infer<typeof PlRef>;\n/** @deprecated use {@link PlRef} */\nexport type Ref = PlRef;\n\n/**\n * Type guard to check if a value is a PlRef.\n *\n * @param value - The value to check.\n * @returns True if the value is a PlRef, false otherwise.\n */\nexport function isPlRef(value: unknown): value is PlRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"__isRef\" in value &&\n (value as { __isRef: unknown }).__isRef === true &&\n \"blockId\" in value &&\n \"name\" in value\n );\n}\n\n/** Standard way how to communicate possible connections given specific\n * requirements for incoming data. */\nexport type Option = {\n /** Fully rendered reference to be assigned for the intended field in block's\n * args */\n readonly ref: PlRef;\n\n /** Label to be present for the user in i.e. drop-down list */\n readonly label: string;\n};\n\n/**\n * Creates a PlRef with the given blockId and name.\n *\n * @param blockId - The blockId of the reference.\n * @param name - The name of the reference.\n * @param requireEnrichments - Whether the reference requires enrichments.\n */\nexport function createPlRef(blockId: string, name: string, requireEnrichments: boolean = false) {\n if (requireEnrichments)\n return {\n __isRef: true,\n blockId,\n name,\n requireEnrichments: true,\n };\n else\n return {\n __isRef: true,\n blockId,\n name,\n };\n}\n\n/**\n * Creates a new PlRef based on an existing one, explicitly setting (default) or removing the\n * requireEnrichments property.\n *\n * @param ref - The original PlRef object.\n * @param requireEnrichments - If true, the `requireEnrichments: true` property is added\n * to the returned PlRef. If false, the `requireEnrichments` property is removed. Defaults to true.\n * @returns A new PlRef object with the `requireEnrichments` property set or removed accordingly.\n */\nexport function withEnrichments(ref: PlRef, requireEnrichments: boolean = true): PlRef {\n if (requireEnrichments)\n return {\n ...ref,\n requireEnrichments: true,\n };\n else {\n const { requireEnrichments: _, ...rest } = ref;\n return rest;\n }\n}\n\n/** Compare two PlRefs and returns true if they are qual */\nexport function plRefsEqual(ref1: PlRef, ref2: PlRef, ignoreEnrichments: boolean = false) {\n return (\n ref1.blockId === ref2.blockId &&\n ref1.name === ref2.name &&\n (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments)\n );\n}\n"],"mappings":";;;AAEA,MAAa,QAAQ,EAClB,OAAO;CACN,SAAS,EACN,QAAQ,KAAK,CACb,SAAS,8DAA8D;CAC1E,SAAS,EAAE,QAAQ,CAAC,SAAS,oBAAoB;CACjD,MAAM,EAAE,QAAQ,CAAC,SAAS,qEAAqE;CAC/F,oBAAoB,EACjB,QAAQ,KAAK,CACb,UAAU,CACV,SACC,kLAED;CACJ,CAAC,CACD,SACC,sMAGD,CACA,UAAU;;;;;;;AAWb,SAAgB,QAAQ,OAAgC;AACtD,QACE,OAAO,UAAU,YACjB,UAAU,QACV,aAAa,SACZ,MAA+B,YAAY,QAC5C,aAAa,SACb,UAAU;;;;;;;;;AAsBd,SAAgB,YAAY,SAAiB,MAAc,qBAA8B,OAAO;AAC9F,KAAI,mBACF,QAAO;EACL,SAAS;EACT;EACA;EACA,oBAAoB;EACrB;KAED,QAAO;EACL,SAAS;EACT;EACA;EACD;;;;;;;;;;;AAYL,SAAgB,gBAAgB,KAAY,qBAA8B,MAAa;AACrF,KAAI,mBACF,QAAO;EACL,GAAG;EACH,oBAAoB;EACrB;MACE;EACH,MAAM,EAAE,oBAAoB,GAAG,GAAG,SAAS;AAC3C,SAAO;;;;AAKX,SAAgB,YAAY,MAAa,MAAa,oBAA6B,OAAO;AACxF,QACE,KAAK,YAAY,KAAK,WACtB,KAAK,SAAS,KAAK,SAClB,qBAAqB,KAAK,uBAAuB,KAAK"}
1
+ {"version":3,"file":"ref.js","names":[],"sources":["../src/ref.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const PlRef = z\n .object({\n __isRef: z\n .literal(true)\n .describe(\"Crucial marker for the block dependency tree reconstruction\"),\n blockId: z.string().describe(\"Upstream block id\"),\n name: z.string().describe(\"Name of the output provided to the upstream block's output context\"),\n requireEnrichments: z\n .literal(true)\n .optional()\n .describe(\n \"True if current block that stores this reference in its args, may need enrichments \" +\n \"for the references value originating from the blocks in between current and referenced block\",\n ),\n })\n .describe(\n \"Universal reference type, allowing to set block connections. It is crucial that \" +\n \"{@link __isRef} is present and equal to true, internal logic relies on this marker \" +\n \"to build block dependency trees.\",\n )\n .readonly();\nexport type PlRef = z.infer<typeof PlRef>;\n/** @deprecated use {@link PlRef} */\nexport type Ref = PlRef;\n\n/**\n * Type guard to check if a value is a PlRef.\n *\n * @param value - The value to check.\n * @returns True if the value is a PlRef, false otherwise.\n */\nexport function isPlRef(value: unknown): value is PlRef {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"__isRef\" in value &&\n (value as { __isRef: unknown }).__isRef === true &&\n \"blockId\" in value &&\n \"name\" in value\n );\n}\n\n/** Standard way how to communicate possible connections given specific\n * requirements for incoming data. */\nexport type Option = {\n /** Fully rendered reference to be assigned for the intended field in block's\n * args */\n readonly ref: PlRef;\n\n /** Label to be present for the user in i.e. drop-down list */\n readonly label: string;\n};\n\n/**\n * Creates a PlRef with the given blockId and name.\n *\n * @param blockId - The blockId of the reference.\n * @param name - The name of the reference.\n * @param requireEnrichments - Whether the reference requires enrichments.\n */\nexport function createPlRef(blockId: string, name: string, requireEnrichments: boolean = false) {\n if (requireEnrichments)\n return {\n __isRef: true,\n blockId,\n name,\n requireEnrichments: true,\n };\n else\n return {\n __isRef: true,\n blockId,\n name,\n };\n}\n\n/**\n * Creates a new PlRef based on an existing one, explicitly setting (default) or removing the\n * requireEnrichments property.\n *\n * @param ref - The original PlRef object.\n * @param requireEnrichments - If true, the `requireEnrichments: true` property is added\n * to the returned PlRef. If false, the `requireEnrichments` property is removed. Defaults to true.\n * @returns A new PlRef object with the `requireEnrichments` property set or removed accordingly.\n */\nexport function withEnrichments(ref: PlRef, requireEnrichments: boolean = true): PlRef {\n if (requireEnrichments)\n return {\n ...ref,\n requireEnrichments: true,\n };\n else {\n const { requireEnrichments: _, ...rest } = ref;\n return rest;\n }\n}\n\n/** Compare two PlRefs and returns true if they are qual */\nexport function plRefsEqual(ref1: PlRef, ref2: PlRef, ignoreEnrichments: boolean = false) {\n return (\n ref1.blockId === ref2.blockId &&\n ref1.name === ref2.name &&\n (ignoreEnrichments || ref1.requireEnrichments === ref2.requireEnrichments)\n );\n}\n"],"mappings":";;AAEA,MAAa,QAAQ,EAClB,OAAO;CACN,SAAS,EACN,QAAQ,KAAK,CACb,SAAS,8DAA8D;CAC1E,SAAS,EAAE,QAAQ,CAAC,SAAS,oBAAoB;CACjD,MAAM,EAAE,QAAQ,CAAC,SAAS,qEAAqE;CAC/F,oBAAoB,EACjB,QAAQ,KAAK,CACb,UAAU,CACV,SACC,kLAED;CACJ,CAAC,CACD,SACC,sMAGD,CACA,UAAU;;;;;;;AAWb,SAAgB,QAAQ,OAAgC;AACtD,QACE,OAAO,UAAU,YACjB,UAAU,QACV,aAAa,SACZ,MAA+B,YAAY,QAC5C,aAAa,SACb,UAAU;;;;;;;;;AAsBd,SAAgB,YAAY,SAAiB,MAAc,qBAA8B,OAAO;AAC9F,KAAI,mBACF,QAAO;EACL,SAAS;EACT;EACA;EACA,oBAAoB;EACrB;KAED,QAAO;EACL,SAAS;EACT;EACA;EACD;;;;;;;;;;;AAYL,SAAgB,gBAAgB,KAAY,qBAA8B,MAAa;AACrF,KAAI,mBACF,QAAO;EACL,GAAG;EACH,oBAAoB;EACrB;MACE;EACH,MAAM,EAAE,oBAAoB,GAAG,GAAG,SAAS;AAC3C,SAAO;;;;AAKX,SAAgB,YAAY,MAAa,MAAa,oBAA6B,OAAO;AACxF,QACE,KAAK,YAAY,KAAK,WACtB,KAAK,SAAS,KAAK,SAClB,qBAAqB,KAAK,uBAAuB,KAAK"}