@milaboratories/pl-drivers 1.9.0 → 1.9.1
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.
- package/dist/clients/constructors.cjs +45 -0
- package/dist/clients/constructors.cjs.map +1 -0
- package/dist/clients/constructors.d.ts +0 -1
- package/dist/clients/constructors.js +39 -0
- package/dist/clients/constructors.js.map +1 -0
- package/dist/clients/download.cjs +149 -0
- package/dist/clients/download.cjs.map +1 -0
- package/dist/clients/download.d.ts +0 -1
- package/dist/clients/download.js +121 -0
- package/dist/clients/download.js.map +1 -0
- package/dist/clients/logs.cjs +44 -0
- package/dist/clients/logs.cjs.map +1 -0
- package/dist/clients/logs.d.ts +0 -1
- package/dist/clients/logs.js +42 -0
- package/dist/clients/logs.js.map +1 -0
- package/dist/clients/ls_api.cjs +23 -0
- package/dist/clients/ls_api.cjs.map +1 -0
- package/dist/clients/ls_api.d.ts +0 -1
- package/dist/clients/ls_api.js +21 -0
- package/dist/clients/ls_api.js.map +1 -0
- package/dist/clients/progress.cjs +58 -0
- package/dist/clients/progress.cjs.map +1 -0
- package/dist/clients/progress.d.ts +1 -3
- package/dist/clients/progress.js +56 -0
- package/dist/clients/progress.js.map +1 -0
- package/dist/clients/upload.cjs +188 -0
- package/dist/clients/upload.cjs.map +1 -0
- package/dist/clients/upload.d.ts +1 -3
- package/dist/clients/upload.js +163 -0
- package/dist/clients/upload.js.map +1 -0
- package/dist/drivers/download_blob/blob_key.cjs +34 -0
- package/dist/drivers/download_blob/blob_key.cjs.map +1 -0
- package/dist/drivers/download_blob/blob_key.d.ts +0 -1
- package/dist/drivers/download_blob/blob_key.js +12 -0
- package/dist/drivers/download_blob/blob_key.js.map +1 -0
- package/dist/drivers/download_blob/download_blob.cjs +442 -0
- package/dist/drivers/download_blob/download_blob.cjs.map +1 -0
- package/dist/drivers/download_blob/download_blob.d.ts +0 -1
- package/dist/drivers/download_blob/download_blob.js +417 -0
- package/dist/drivers/download_blob/download_blob.js.map +1 -0
- package/dist/drivers/download_blob/download_blob_task.cjs +170 -0
- package/dist/drivers/download_blob/download_blob_task.cjs.map +1 -0
- package/dist/drivers/download_blob/download_blob_task.d.ts +0 -1
- package/dist/drivers/download_blob/download_blob_task.js +146 -0
- package/dist/drivers/download_blob/download_blob_task.js.map +1 -0
- package/dist/drivers/download_blob/sparse_cache/cache.cjs +202 -0
- package/dist/drivers/download_blob/sparse_cache/cache.cjs.map +1 -0
- package/dist/drivers/download_blob/sparse_cache/cache.d.ts +0 -1
- package/dist/drivers/download_blob/sparse_cache/cache.js +197 -0
- package/dist/drivers/download_blob/sparse_cache/cache.js.map +1 -0
- package/dist/drivers/download_blob/sparse_cache/file.cjs +61 -0
- package/dist/drivers/download_blob/sparse_cache/file.cjs.map +1 -0
- package/dist/drivers/download_blob/sparse_cache/file.d.ts +0 -1
- package/dist/drivers/download_blob/sparse_cache/file.js +39 -0
- package/dist/drivers/download_blob/sparse_cache/file.js.map +1 -0
- package/dist/drivers/download_blob/sparse_cache/ranges.cjs +104 -0
- package/dist/drivers/download_blob/sparse_cache/ranges.cjs.map +1 -0
- package/dist/drivers/download_blob/sparse_cache/ranges.d.ts +0 -1
- package/dist/drivers/download_blob/sparse_cache/ranges.js +76 -0
- package/dist/drivers/download_blob/sparse_cache/ranges.js.map +1 -0
- package/dist/drivers/download_blob_url/driver.cjs +169 -0
- package/dist/drivers/download_blob_url/driver.cjs.map +1 -0
- package/dist/drivers/download_blob_url/driver.d.ts +0 -1
- package/dist/drivers/download_blob_url/driver.js +148 -0
- package/dist/drivers/download_blob_url/driver.js.map +1 -0
- package/dist/drivers/download_blob_url/driver_id.cjs +9 -0
- package/dist/drivers/download_blob_url/driver_id.cjs.map +1 -0
- package/dist/drivers/download_blob_url/driver_id.d.ts +0 -1
- package/dist/drivers/download_blob_url/driver_id.js +7 -0
- package/dist/drivers/download_blob_url/driver_id.js.map +1 -0
- package/dist/drivers/download_blob_url/snapshot.cjs +18 -0
- package/dist/drivers/download_blob_url/snapshot.cjs.map +1 -0
- package/dist/drivers/download_blob_url/snapshot.d.ts +2 -3
- package/dist/drivers/download_blob_url/snapshot.js +15 -0
- package/dist/drivers/download_blob_url/snapshot.js.map +1 -0
- package/dist/drivers/download_blob_url/task.cjs +209 -0
- package/dist/drivers/download_blob_url/task.cjs.map +1 -0
- package/dist/drivers/download_blob_url/task.d.ts +0 -1
- package/dist/drivers/download_blob_url/task.js +184 -0
- package/dist/drivers/download_blob_url/task.js.map +1 -0
- package/dist/drivers/download_blob_url/url.d.ts +1 -1
- package/dist/drivers/download_url/driver.cjs +149 -0
- package/dist/drivers/download_url/driver.cjs.map +1 -0
- package/dist/drivers/download_url/driver.d.ts +0 -1
- package/dist/drivers/download_url/driver.js +128 -0
- package/dist/drivers/download_url/driver.js.map +1 -0
- package/dist/drivers/download_url/task.cjs +150 -0
- package/dist/drivers/download_url/task.cjs.map +1 -0
- package/dist/drivers/download_url/task.d.ts +0 -1
- package/dist/drivers/download_url/task.js +124 -0
- package/dist/drivers/download_url/task.js.map +1 -0
- package/dist/drivers/helpers/download_local_handle.cjs +26 -0
- package/dist/drivers/helpers/download_local_handle.cjs.map +1 -0
- package/dist/drivers/helpers/download_local_handle.d.ts +0 -1
- package/dist/drivers/helpers/download_local_handle.js +22 -0
- package/dist/drivers/helpers/download_local_handle.js.map +1 -0
- package/dist/drivers/helpers/download_remote_handle.cjs +36 -0
- package/dist/drivers/helpers/download_remote_handle.cjs.map +1 -0
- package/dist/drivers/helpers/download_remote_handle.d.ts +0 -1
- package/dist/drivers/helpers/download_remote_handle.js +32 -0
- package/dist/drivers/helpers/download_remote_handle.js.map +1 -0
- package/dist/drivers/helpers/files_cache.cjs +68 -0
- package/dist/drivers/helpers/files_cache.cjs.map +1 -0
- package/dist/drivers/helpers/files_cache.d.ts +0 -1
- package/dist/drivers/helpers/files_cache.js +66 -0
- package/dist/drivers/helpers/files_cache.js.map +1 -0
- package/dist/drivers/helpers/helpers.cjs +34 -0
- package/dist/drivers/helpers/helpers.cjs.map +1 -0
- package/dist/drivers/helpers/helpers.d.ts +0 -1
- package/dist/drivers/helpers/helpers.js +31 -0
- package/dist/drivers/helpers/helpers.js.map +1 -0
- package/dist/drivers/helpers/logs_handle.cjs +50 -0
- package/dist/drivers/helpers/logs_handle.cjs.map +1 -0
- package/dist/drivers/helpers/logs_handle.d.ts +0 -1
- package/dist/drivers/helpers/logs_handle.js +43 -0
- package/dist/drivers/helpers/logs_handle.js.map +1 -0
- package/dist/drivers/helpers/ls_remote_import_handle.cjs +34 -0
- package/dist/drivers/helpers/ls_remote_import_handle.cjs.map +1 -0
- package/dist/drivers/helpers/ls_remote_import_handle.d.ts +0 -1
- package/dist/drivers/helpers/ls_remote_import_handle.js +29 -0
- package/dist/drivers/helpers/ls_remote_import_handle.js.map +1 -0
- package/dist/drivers/helpers/ls_storage_entry.cjs +64 -0
- package/dist/drivers/helpers/ls_storage_entry.cjs.map +1 -0
- package/dist/drivers/helpers/ls_storage_entry.d.ts +0 -1
- package/dist/drivers/helpers/ls_storage_entry.js +58 -0
- package/dist/drivers/helpers/ls_storage_entry.js.map +1 -0
- package/dist/drivers/helpers/polling_ops.d.ts +0 -1
- package/dist/drivers/helpers/read_file.cjs +54 -0
- package/dist/drivers/helpers/read_file.cjs.map +1 -0
- package/dist/drivers/helpers/read_file.d.ts +0 -1
- package/dist/drivers/helpers/read_file.js +33 -0
- package/dist/drivers/helpers/read_file.js.map +1 -0
- package/dist/drivers/helpers/test_helpers.d.ts +0 -1
- package/dist/drivers/logs.cjs +118 -0
- package/dist/drivers/logs.cjs.map +1 -0
- package/dist/drivers/logs.d.ts +0 -1
- package/dist/drivers/logs.js +116 -0
- package/dist/drivers/logs.js.map +1 -0
- package/dist/drivers/logs_stream.cjs +238 -0
- package/dist/drivers/logs_stream.cjs.map +1 -0
- package/dist/drivers/logs_stream.d.ts +0 -1
- package/dist/drivers/logs_stream.js +236 -0
- package/dist/drivers/logs_stream.js.map +1 -0
- package/dist/drivers/ls.cjs +236 -0
- package/dist/drivers/ls.cjs.map +1 -0
- package/dist/drivers/ls.d.ts +0 -1
- package/dist/drivers/ls.js +214 -0
- package/dist/drivers/ls.js.map +1 -0
- package/dist/drivers/types.cjs +72 -0
- package/dist/drivers/types.cjs.map +1 -0
- package/dist/drivers/types.d.ts +4 -5
- package/dist/drivers/types.js +64 -0
- package/dist/drivers/types.js.map +1 -0
- package/dist/drivers/upload.cjs +154 -0
- package/dist/drivers/upload.cjs.map +1 -0
- package/dist/drivers/upload.d.ts +0 -1
- package/dist/drivers/upload.js +151 -0
- package/dist/drivers/upload.js.map +1 -0
- package/dist/drivers/upload_task.cjs +293 -0
- package/dist/drivers/upload_task.cjs.map +1 -0
- package/dist/drivers/upload_task.d.ts +0 -1
- package/dist/drivers/upload_task.js +285 -0
- package/dist/drivers/upload_task.js.map +1 -0
- package/dist/drivers/urls/url.cjs +59 -0
- package/dist/drivers/urls/url.cjs.map +1 -0
- package/dist/drivers/urls/url.d.ts +0 -1
- package/dist/drivers/urls/url.js +54 -0
- package/dist/drivers/urls/url.js.map +1 -0
- package/dist/drivers/virtual_storages.cjs +53 -0
- package/dist/drivers/virtual_storages.cjs.map +1 -0
- package/dist/drivers/virtual_storages.d.ts +0 -1
- package/dist/drivers/virtual_storages.js +51 -0
- package/dist/drivers/virtual_storages.js.map +1 -0
- package/dist/helpers/download.cjs +63 -0
- package/dist/helpers/download.cjs.map +1 -0
- package/dist/helpers/download.d.ts +0 -1
- package/dist/helpers/download.js +60 -0
- package/dist/helpers/download.js.map +1 -0
- package/dist/helpers/validate.cjs +12 -0
- package/dist/helpers/validate.cjs.map +1 -0
- package/dist/helpers/validate.d.ts +0 -1
- package/dist/helpers/validate.js +10 -0
- package/dist/helpers/validate.js.map +1 -0
- package/dist/index.cjs +72 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +19 -2
- package/dist/index.js.map +1 -1
- package/dist/proto/github.com/googleapis/googleapis/google/rpc/status.d.ts +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.cjs +261 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.cjs.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.cjs +31 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.cjs.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.d.ts +3 -5
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.js +29 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.js.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.d.ts +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.js +256 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.js.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.cjs +301 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.cjs.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.cjs +34 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.cjs.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.d.ts +3 -5
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.js +32 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.js.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.d.ts +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.js +296 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.js.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.cjs +410 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.cjs.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.cjs +38 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.cjs.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.d.ts +3 -5
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.js +36 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.js.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.d.ts +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.js +403 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.js.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.cjs +486 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.cjs.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.cjs +86 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.cjs.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.d.ts +3 -5
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.js +84 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.js.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.d.ts +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.js +478 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.js.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.cjs +712 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.cjs.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.cjs +71 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.cjs.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.d.ts +3 -5
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.js +69 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.js.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.d.ts +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.js +701 -0
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.js.map +1 -0
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts +3 -5
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts +0 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts +0 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts +0 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/import.d.ts +0 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts +0 -1
- package/dist/proto/google/api/http.d.ts +0 -1
- package/dist/proto/google/protobuf/any.d.ts +0 -1
- package/dist/proto/google/protobuf/descriptor.d.ts +0 -1
- package/dist/proto/google/protobuf/duration.cjs +105 -0
- package/dist/proto/google/protobuf/duration.cjs.map +1 -0
- package/dist/proto/google/protobuf/duration.d.ts +0 -1
- package/dist/proto/google/protobuf/duration.js +103 -0
- package/dist/proto/google/protobuf/duration.js.map +1 -0
- package/dist/proto/google/protobuf/empty.d.ts +0 -1
- package/dist/proto/google/protobuf/struct.d.ts +0 -1
- package/dist/proto/google/protobuf/timestamp.cjs +133 -0
- package/dist/proto/google/protobuf/timestamp.cjs.map +1 -0
- package/dist/proto/google/protobuf/timestamp.d.ts +0 -1
- package/dist/proto/google/protobuf/timestamp.js +131 -0
- package/dist/proto/google/protobuf/timestamp.js.map +1 -0
- package/dist/proto/google/protobuf/wrappers.d.ts +0 -1
- package/dist/test_env.d.ts +0 -1
- package/package.json +16 -15
- package/dist/clients/constructors.d.ts.map +0 -1
- package/dist/clients/download.d.ts.map +0 -1
- package/dist/clients/logs.d.ts.map +0 -1
- package/dist/clients/ls_api.d.ts.map +0 -1
- package/dist/clients/progress.d.ts.map +0 -1
- package/dist/clients/upload.d.ts.map +0 -1
- package/dist/drivers/download_blob/blob_key.d.ts.map +0 -1
- package/dist/drivers/download_blob/download_blob.d.ts.map +0 -1
- package/dist/drivers/download_blob/download_blob_task.d.ts.map +0 -1
- package/dist/drivers/download_blob/sparse_cache/cache.d.ts.map +0 -1
- package/dist/drivers/download_blob/sparse_cache/file.d.ts.map +0 -1
- package/dist/drivers/download_blob/sparse_cache/ranges.d.ts.map +0 -1
- package/dist/drivers/download_blob_url/driver.d.ts.map +0 -1
- package/dist/drivers/download_blob_url/driver_id.d.ts.map +0 -1
- package/dist/drivers/download_blob_url/snapshot.d.ts.map +0 -1
- package/dist/drivers/download_blob_url/task.d.ts.map +0 -1
- package/dist/drivers/download_blob_url/url.d.ts.map +0 -1
- package/dist/drivers/download_url/driver.d.ts.map +0 -1
- package/dist/drivers/download_url/task.d.ts.map +0 -1
- package/dist/drivers/helpers/download_local_handle.d.ts.map +0 -1
- package/dist/drivers/helpers/download_remote_handle.d.ts.map +0 -1
- package/dist/drivers/helpers/files_cache.d.ts.map +0 -1
- package/dist/drivers/helpers/helpers.d.ts.map +0 -1
- package/dist/drivers/helpers/logs_handle.d.ts.map +0 -1
- package/dist/drivers/helpers/ls_remote_import_handle.d.ts.map +0 -1
- package/dist/drivers/helpers/ls_storage_entry.d.ts.map +0 -1
- package/dist/drivers/helpers/polling_ops.d.ts.map +0 -1
- package/dist/drivers/helpers/read_file.d.ts.map +0 -1
- package/dist/drivers/helpers/test_helpers.d.ts.map +0 -1
- package/dist/drivers/logs.d.ts.map +0 -1
- package/dist/drivers/logs_stream.d.ts.map +0 -1
- package/dist/drivers/ls.d.ts.map +0 -1
- package/dist/drivers/types.d.ts.map +0 -1
- package/dist/drivers/upload.d.ts.map +0 -1
- package/dist/drivers/upload_task.d.ts.map +0 -1
- package/dist/drivers/urls/url.d.ts.map +0 -1
- package/dist/drivers/virtual_storages.d.ts.map +0 -1
- package/dist/helpers/download.d.ts.map +0 -1
- package/dist/helpers/validate.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.mjs +0 -4892
- package/dist/index.mjs.map +0 -1
- package/dist/proto/github.com/googleapis/googleapis/google/rpc/status.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.client.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/downloadapi/protocol.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.client.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/lsapi/protocol.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.client.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/progressapi/protocol.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.client.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/streamingapi/protocol.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.client.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/controllers/shared/grpc/uploadapi/protocol.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/import.d.ts.map +0 -1
- package/dist/proto/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts.map +0 -1
- package/dist/proto/google/api/http.d.ts.map +0 -1
- package/dist/proto/google/protobuf/any.d.ts.map +0 -1
- package/dist/proto/google/protobuf/descriptor.d.ts.map +0 -1
- package/dist/proto/google/protobuf/duration.d.ts.map +0 -1
- package/dist/proto/google/protobuf/empty.d.ts.map +0 -1
- package/dist/proto/google/protobuf/struct.d.ts.map +0 -1
- package/dist/proto/google/protobuf/timestamp.d.ts.map +0 -1
- package/dist/proto/google/protobuf/wrappers.d.ts.map +0 -1
- package/dist/test_env.d.ts.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/** Throws when a driver gets a resource with a wrong resource type. */
|
|
4
|
+
class WrongResourceTypeError extends Error {
|
|
5
|
+
name = 'WrongResourceTypeError';
|
|
6
|
+
}
|
|
7
|
+
/** Updater incorporates a pattern when someone wants to run a callback
|
|
8
|
+
* that updates something only when it's not already running. */
|
|
9
|
+
class Updater {
|
|
10
|
+
onUpdate;
|
|
11
|
+
updating;
|
|
12
|
+
constructor(onUpdate) {
|
|
13
|
+
this.onUpdate = onUpdate;
|
|
14
|
+
}
|
|
15
|
+
schedule() {
|
|
16
|
+
if (this.updating == undefined) {
|
|
17
|
+
this.updating = (async () => {
|
|
18
|
+
try {
|
|
19
|
+
await this.onUpdate();
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
console.log(`error while updating in Updater: ${e}`);
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
this.updating = undefined;
|
|
26
|
+
}
|
|
27
|
+
})();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
exports.Updater = Updater;
|
|
33
|
+
exports.WrongResourceTypeError = WrongResourceTypeError;
|
|
34
|
+
//# sourceMappingURL=helpers.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.cjs","sources":["../../../src/drivers/helpers/helpers.ts"],"sourcesContent":["import {\n BasicResourceData,\n getField,\n isNullResourceId,\n PlClient,\n ResourceId,\n valErr,\n} from '@milaboratories/pl-client';\n\n/** Throws when a driver gets a resource with a wrong resource type. */\nexport class WrongResourceTypeError extends Error {\n name = 'WrongResourceTypeError';\n}\n\n/** Updater incorporates a pattern when someone wants to run a callback\n * that updates something only when it's not already running. */\nexport class Updater {\n private updating: Promise<void> | undefined;\n\n constructor(private readonly onUpdate: () => Promise<void>) {}\n\n schedule() {\n if (this.updating == undefined) {\n this.updating = (async () => {\n try {\n await this.onUpdate();\n } catch (e) {\n console.log(`error while updating in Updater: ${e}`);\n } finally {\n this.updating = undefined;\n }\n })();\n }\n }\n}\n"],"names":[],"mappings":";;AASA;AACM,MAAO,sBAAuB,SAAQ,KAAK,CAAA;IAC/C,IAAI,GAAG,wBAAwB;AAChC;AAED;AACgE;MACnD,OAAO,CAAA;AAGW,IAAA,QAAA;AAFrB,IAAA,QAAQ;AAEhB,IAAA,WAAA,CAA6B,QAA6B,EAAA;QAA7B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAwB;IAE7D,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;AAC9B,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,YAAW;AAC1B,gBAAA,IAAI;AACF,oBAAA,MAAM,IAAI,CAAC,QAAQ,EAAE;gBACvB;gBAAE,OAAO,CAAC,EAAE;AACV,oBAAA,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA,CAAE,CAAC;gBACtD;wBAAU;AACR,oBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;gBAC3B;YACF,CAAC,GAAG;QACN;IACF;AACD;;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Throws when a driver gets a resource with a wrong resource type. */
|
|
2
|
+
class WrongResourceTypeError extends Error {
|
|
3
|
+
name = 'WrongResourceTypeError';
|
|
4
|
+
}
|
|
5
|
+
/** Updater incorporates a pattern when someone wants to run a callback
|
|
6
|
+
* that updates something only when it's not already running. */
|
|
7
|
+
class Updater {
|
|
8
|
+
onUpdate;
|
|
9
|
+
updating;
|
|
10
|
+
constructor(onUpdate) {
|
|
11
|
+
this.onUpdate = onUpdate;
|
|
12
|
+
}
|
|
13
|
+
schedule() {
|
|
14
|
+
if (this.updating == undefined) {
|
|
15
|
+
this.updating = (async () => {
|
|
16
|
+
try {
|
|
17
|
+
await this.onUpdate();
|
|
18
|
+
}
|
|
19
|
+
catch (e) {
|
|
20
|
+
console.log(`error while updating in Updater: ${e}`);
|
|
21
|
+
}
|
|
22
|
+
finally {
|
|
23
|
+
this.updating = undefined;
|
|
24
|
+
}
|
|
25
|
+
})();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { Updater, WrongResourceTypeError };
|
|
31
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../src/drivers/helpers/helpers.ts"],"sourcesContent":["import {\n BasicResourceData,\n getField,\n isNullResourceId,\n PlClient,\n ResourceId,\n valErr,\n} from '@milaboratories/pl-client';\n\n/** Throws when a driver gets a resource with a wrong resource type. */\nexport class WrongResourceTypeError extends Error {\n name = 'WrongResourceTypeError';\n}\n\n/** Updater incorporates a pattern when someone wants to run a callback\n * that updates something only when it's not already running. */\nexport class Updater {\n private updating: Promise<void> | undefined;\n\n constructor(private readonly onUpdate: () => Promise<void>) {}\n\n schedule() {\n if (this.updating == undefined) {\n this.updating = (async () => {\n try {\n await this.onUpdate();\n } catch (e) {\n console.log(`error while updating in Updater: ${e}`);\n } finally {\n this.updating = undefined;\n }\n })();\n }\n }\n}\n"],"names":[],"mappings":"AASA;AACM,MAAO,sBAAuB,SAAQ,KAAK,CAAA;IAC/C,IAAI,GAAG,wBAAwB;AAChC;AAED;AACgE;MACnD,OAAO,CAAA;AAGW,IAAA,QAAA;AAFrB,IAAA,QAAQ;AAEhB,IAAA,WAAA,CAA6B,QAA6B,EAAA;QAA7B,IAAA,CAAA,QAAQ,GAAR,QAAQ;IAAwB;IAE7D,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE;AAC9B,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,YAAW;AAC1B,gBAAA,IAAI;AACF,oBAAA,MAAM,IAAI,CAAC,QAAQ,EAAE;gBACvB;gBAAE,OAAO,CAAC,EAAE;AACV,oBAAA,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA,CAAE,CAAC;gBACtD;wBAAU;AACR,oBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;gBAC3B;YACF,CAAC,GAAG;QACN;IACF;AACD;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var plClient = require('@milaboratories/pl-client');
|
|
4
|
+
|
|
5
|
+
/** Handle of logs. This handle should be passed
|
|
6
|
+
* to the driver for retrieving logs. */
|
|
7
|
+
function newLogHandle(live, rInfo) {
|
|
8
|
+
if (live) {
|
|
9
|
+
return `log+live://log/${rInfo.type.name}/${rInfo.type.version}/${BigInt(rInfo.id)}`;
|
|
10
|
+
}
|
|
11
|
+
return `log+ready://log/${rInfo.type.name}/${rInfo.type.version}/${BigInt(rInfo.id)}`;
|
|
12
|
+
}
|
|
13
|
+
/** Handle of the live logs of a program.
|
|
14
|
+
* The resource that represents a log can be deleted,
|
|
15
|
+
* in this case the handle should be refreshed. */
|
|
16
|
+
const liveHandleRegex = /^log\+live:\/\/log\/(?<resourceType>.*)\/(?<resourceVersion>.*)\/(?<resourceId>.*)$/;
|
|
17
|
+
function isLiveLogHandle(handle) {
|
|
18
|
+
return liveHandleRegex.test(handle);
|
|
19
|
+
}
|
|
20
|
+
/** Handle of the ready logs of a program. */
|
|
21
|
+
const readyHandleRegex = /^log\+ready:\/\/log\/(?<resourceType>.*)\/(?<resourceVersion>.*)\/(?<resourceId>.*)$/;
|
|
22
|
+
function isReadyLogHandle(handle) {
|
|
23
|
+
return readyHandleRegex.test(handle);
|
|
24
|
+
}
|
|
25
|
+
function getResourceInfoFromLogHandle(handle) {
|
|
26
|
+
let parsed;
|
|
27
|
+
if (isLiveLogHandle(handle)) {
|
|
28
|
+
parsed = handle.match(liveHandleRegex);
|
|
29
|
+
}
|
|
30
|
+
else if (isReadyLogHandle(handle)) {
|
|
31
|
+
parsed = handle.match(readyHandleRegex);
|
|
32
|
+
}
|
|
33
|
+
else
|
|
34
|
+
throw new Error(`Log handle is malformed: ${handle}`);
|
|
35
|
+
if (parsed == null)
|
|
36
|
+
throw new Error(`Log handle wasn't parsed: ${handle}`);
|
|
37
|
+
const { resourceType, resourceVersion, resourceId } = parsed.groups;
|
|
38
|
+
return {
|
|
39
|
+
id: plClient.bigintToResourceId(BigInt(resourceId)),
|
|
40
|
+
type: { name: resourceType, version: resourceVersion },
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
exports.getResourceInfoFromLogHandle = getResourceInfoFromLogHandle;
|
|
45
|
+
exports.isLiveLogHandle = isLiveLogHandle;
|
|
46
|
+
exports.isReadyLogHandle = isReadyLogHandle;
|
|
47
|
+
exports.liveHandleRegex = liveHandleRegex;
|
|
48
|
+
exports.newLogHandle = newLogHandle;
|
|
49
|
+
exports.readyHandleRegex = readyHandleRegex;
|
|
50
|
+
//# sourceMappingURL=logs_handle.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs_handle.cjs","sources":["../../../src/drivers/helpers/logs_handle.ts"],"sourcesContent":["/** Handle of logs. This handle should be passed\n * to the driver for retrieving logs. */\n\nimport type { ResourceInfo } from '@milaboratories/pl-tree';\nimport type * as sdk from '@milaboratories/pl-model-common';\nimport { bigintToResourceId } from '@milaboratories/pl-client';\n\nexport function newLogHandle(live: boolean, rInfo: ResourceInfo): sdk.AnyLogHandle {\n if (live) {\n return `log+live://log/${rInfo.type.name}/${rInfo.type.version}/${BigInt(rInfo.id)}` as sdk.LiveLogHandle;\n }\n\n return `log+ready://log/${rInfo.type.name}/${rInfo.type.version}/${BigInt(rInfo.id)}` as sdk.ReadyLogHandle;\n}\n\n/** Handle of the live logs of a program.\n * The resource that represents a log can be deleted,\n * in this case the handle should be refreshed. */\n\nexport const liveHandleRegex\n = /^log\\+live:\\/\\/log\\/(?<resourceType>.*)\\/(?<resourceVersion>.*)\\/(?<resourceId>.*)$/;\n\nexport function isLiveLogHandle(handle: string): handle is sdk.LiveLogHandle {\n return liveHandleRegex.test(handle);\n}\n\n/** Handle of the ready logs of a program. */\n\nexport const readyHandleRegex\n = /^log\\+ready:\\/\\/log\\/(?<resourceType>.*)\\/(?<resourceVersion>.*)\\/(?<resourceId>.*)$/;\n\nexport function isReadyLogHandle(handle: string): handle is sdk.ReadyLogHandle {\n return readyHandleRegex.test(handle);\n}\n\nexport function getResourceInfoFromLogHandle(handle: sdk.AnyLogHandle): ResourceInfo {\n let parsed: RegExpMatchArray | null;\n\n if (isLiveLogHandle(handle)) {\n parsed = handle.match(liveHandleRegex);\n } else if (isReadyLogHandle(handle)) {\n parsed = handle.match(readyHandleRegex);\n } else throw new Error(`Log handle is malformed: ${handle}`);\n if (parsed == null) throw new Error(`Log handle wasn't parsed: ${handle}`);\n\n const { resourceType, resourceVersion, resourceId } = parsed.groups!;\n\n return {\n id: bigintToResourceId(BigInt(resourceId)),\n type: { name: resourceType, version: resourceVersion },\n };\n}\n"],"names":["bigintToResourceId"],"mappings":";;;;AAAA;AACwC;AAMlC,SAAU,YAAY,CAAC,IAAa,EAAE,KAAmB,EAAA;IAC7D,IAAI,IAAI,EAAE;QACR,OAAO,CAAA,eAAA,EAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAuB;IAC3G;IAEA,OAAO,CAAA,gBAAA,EAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAwB;AAC7G;AAEA;;AAEkD;AAE3C,MAAM,eAAe,GACxB;AAEE,SAAU,eAAe,CAAC,MAAc,EAAA;AAC5C,IAAA,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;AACrC;AAEA;AAEO,MAAM,gBAAgB,GACzB;AAEE,SAAU,gBAAgB,CAAC,MAAc,EAAA;AAC7C,IAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;AACtC;AAEM,SAAU,4BAA4B,CAAC,MAAwB,EAAA;AACnE,IAAA,IAAI,MAA+B;AAEnC,IAAA,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;AAC3B,QAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;IACxC;AAAO,SAAA,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE;AACnC,QAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACzC;;AAAO,QAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAA,CAAE,CAAC;IAC5D,IAAI,MAAM,IAAI,IAAI;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAA,CAAE,CAAC;IAE1E,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAO;IAEpE,OAAO;AACL,QAAA,EAAE,EAAEA,2BAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE;KACvD;AACH;;;;;;;;;"}
|
|
@@ -10,4 +10,3 @@ export declare function isLiveLogHandle(handle: string): handle is sdk.LiveLogHa
|
|
|
10
10
|
export declare const readyHandleRegex: RegExp;
|
|
11
11
|
export declare function isReadyLogHandle(handle: string): handle is sdk.ReadyLogHandle;
|
|
12
12
|
export declare function getResourceInfoFromLogHandle(handle: sdk.AnyLogHandle): ResourceInfo;
|
|
13
|
-
//# sourceMappingURL=logs_handle.d.ts.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { bigintToResourceId } from '@milaboratories/pl-client';
|
|
2
|
+
|
|
3
|
+
/** Handle of logs. This handle should be passed
|
|
4
|
+
* to the driver for retrieving logs. */
|
|
5
|
+
function newLogHandle(live, rInfo) {
|
|
6
|
+
if (live) {
|
|
7
|
+
return `log+live://log/${rInfo.type.name}/${rInfo.type.version}/${BigInt(rInfo.id)}`;
|
|
8
|
+
}
|
|
9
|
+
return `log+ready://log/${rInfo.type.name}/${rInfo.type.version}/${BigInt(rInfo.id)}`;
|
|
10
|
+
}
|
|
11
|
+
/** Handle of the live logs of a program.
|
|
12
|
+
* The resource that represents a log can be deleted,
|
|
13
|
+
* in this case the handle should be refreshed. */
|
|
14
|
+
const liveHandleRegex = /^log\+live:\/\/log\/(?<resourceType>.*)\/(?<resourceVersion>.*)\/(?<resourceId>.*)$/;
|
|
15
|
+
function isLiveLogHandle(handle) {
|
|
16
|
+
return liveHandleRegex.test(handle);
|
|
17
|
+
}
|
|
18
|
+
/** Handle of the ready logs of a program. */
|
|
19
|
+
const readyHandleRegex = /^log\+ready:\/\/log\/(?<resourceType>.*)\/(?<resourceVersion>.*)\/(?<resourceId>.*)$/;
|
|
20
|
+
function isReadyLogHandle(handle) {
|
|
21
|
+
return readyHandleRegex.test(handle);
|
|
22
|
+
}
|
|
23
|
+
function getResourceInfoFromLogHandle(handle) {
|
|
24
|
+
let parsed;
|
|
25
|
+
if (isLiveLogHandle(handle)) {
|
|
26
|
+
parsed = handle.match(liveHandleRegex);
|
|
27
|
+
}
|
|
28
|
+
else if (isReadyLogHandle(handle)) {
|
|
29
|
+
parsed = handle.match(readyHandleRegex);
|
|
30
|
+
}
|
|
31
|
+
else
|
|
32
|
+
throw new Error(`Log handle is malformed: ${handle}`);
|
|
33
|
+
if (parsed == null)
|
|
34
|
+
throw new Error(`Log handle wasn't parsed: ${handle}`);
|
|
35
|
+
const { resourceType, resourceVersion, resourceId } = parsed.groups;
|
|
36
|
+
return {
|
|
37
|
+
id: bigintToResourceId(BigInt(resourceId)),
|
|
38
|
+
type: { name: resourceType, version: resourceVersion },
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { getResourceInfoFromLogHandle, isLiveLogHandle, isReadyLogHandle, liveHandleRegex, newLogHandle, readyHandleRegex };
|
|
43
|
+
//# sourceMappingURL=logs_handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logs_handle.js","sources":["../../../src/drivers/helpers/logs_handle.ts"],"sourcesContent":["/** Handle of logs. This handle should be passed\n * to the driver for retrieving logs. */\n\nimport type { ResourceInfo } from '@milaboratories/pl-tree';\nimport type * as sdk from '@milaboratories/pl-model-common';\nimport { bigintToResourceId } from '@milaboratories/pl-client';\n\nexport function newLogHandle(live: boolean, rInfo: ResourceInfo): sdk.AnyLogHandle {\n if (live) {\n return `log+live://log/${rInfo.type.name}/${rInfo.type.version}/${BigInt(rInfo.id)}` as sdk.LiveLogHandle;\n }\n\n return `log+ready://log/${rInfo.type.name}/${rInfo.type.version}/${BigInt(rInfo.id)}` as sdk.ReadyLogHandle;\n}\n\n/** Handle of the live logs of a program.\n * The resource that represents a log can be deleted,\n * in this case the handle should be refreshed. */\n\nexport const liveHandleRegex\n = /^log\\+live:\\/\\/log\\/(?<resourceType>.*)\\/(?<resourceVersion>.*)\\/(?<resourceId>.*)$/;\n\nexport function isLiveLogHandle(handle: string): handle is sdk.LiveLogHandle {\n return liveHandleRegex.test(handle);\n}\n\n/** Handle of the ready logs of a program. */\n\nexport const readyHandleRegex\n = /^log\\+ready:\\/\\/log\\/(?<resourceType>.*)\\/(?<resourceVersion>.*)\\/(?<resourceId>.*)$/;\n\nexport function isReadyLogHandle(handle: string): handle is sdk.ReadyLogHandle {\n return readyHandleRegex.test(handle);\n}\n\nexport function getResourceInfoFromLogHandle(handle: sdk.AnyLogHandle): ResourceInfo {\n let parsed: RegExpMatchArray | null;\n\n if (isLiveLogHandle(handle)) {\n parsed = handle.match(liveHandleRegex);\n } else if (isReadyLogHandle(handle)) {\n parsed = handle.match(readyHandleRegex);\n } else throw new Error(`Log handle is malformed: ${handle}`);\n if (parsed == null) throw new Error(`Log handle wasn't parsed: ${handle}`);\n\n const { resourceType, resourceVersion, resourceId } = parsed.groups!;\n\n return {\n id: bigintToResourceId(BigInt(resourceId)),\n type: { name: resourceType, version: resourceVersion },\n };\n}\n"],"names":[],"mappings":";;AAAA;AACwC;AAMlC,SAAU,YAAY,CAAC,IAAa,EAAE,KAAmB,EAAA;IAC7D,IAAI,IAAI,EAAE;QACR,OAAO,CAAA,eAAA,EAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAuB;IAC3G;IAEA,OAAO,CAAA,gBAAA,EAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAwB;AAC7G;AAEA;;AAEkD;AAE3C,MAAM,eAAe,GACxB;AAEE,SAAU,eAAe,CAAC,MAAc,EAAA;AAC5C,IAAA,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;AACrC;AAEA;AAEO,MAAM,gBAAgB,GACzB;AAEE,SAAU,gBAAgB,CAAC,MAAc,EAAA;AAC7C,IAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;AACtC;AAEM,SAAU,4BAA4B,CAAC,MAAwB,EAAA;AACnE,IAAA,IAAI,MAA+B;AAEnC,IAAA,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;AAC3B,QAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;IACxC;AAAO,SAAA,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE;AACnC,QAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACzC;;AAAO,QAAA,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAA,CAAE,CAAC;IAC5D,IAAI,MAAM,IAAI,IAAI;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAA,CAAE,CAAC;IAE1E,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAO;IAEpE,OAAO;AACL,QAAA,EAAE,EAAE,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE;KACvD;AACH;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var types = require('../types.cjs');
|
|
4
|
+
|
|
5
|
+
function createIndexImportHandle(storageName, path) {
|
|
6
|
+
const data = {
|
|
7
|
+
storageId: storageName,
|
|
8
|
+
path: path,
|
|
9
|
+
};
|
|
10
|
+
return `index://index/${encodeURIComponent(JSON.stringify(data))}`;
|
|
11
|
+
}
|
|
12
|
+
function createUploadImportHandle(localPath, signer, sizeBytes, modificationTimeSeconds) {
|
|
13
|
+
const data = {
|
|
14
|
+
localPath,
|
|
15
|
+
pathSignature: signer.sign(localPath),
|
|
16
|
+
sizeBytes: String(sizeBytes),
|
|
17
|
+
modificationTime: String(modificationTimeSeconds),
|
|
18
|
+
};
|
|
19
|
+
return `upload://upload/${encodeURIComponent(JSON.stringify(data))}`;
|
|
20
|
+
}
|
|
21
|
+
function parseUploadHandle(handle) {
|
|
22
|
+
const url = new URL(handle);
|
|
23
|
+
return types.ImportFileHandleUploadData.parse(JSON.parse(decodeURIComponent(url.pathname.substring(1))));
|
|
24
|
+
}
|
|
25
|
+
function parseIndexHandle(handle) {
|
|
26
|
+
const url = new URL(handle);
|
|
27
|
+
return types.ImportFileHandleIndexData.parse(JSON.parse(decodeURIComponent(url.pathname.substring(1))));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
exports.createIndexImportHandle = createIndexImportHandle;
|
|
31
|
+
exports.createUploadImportHandle = createUploadImportHandle;
|
|
32
|
+
exports.parseIndexHandle = parseIndexHandle;
|
|
33
|
+
exports.parseUploadHandle = parseUploadHandle;
|
|
34
|
+
//# sourceMappingURL=ls_remote_import_handle.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ls_remote_import_handle.cjs","sources":["../../../src/drivers/helpers/ls_remote_import_handle.ts"],"sourcesContent":["import type * as sdk from '@milaboratories/pl-model-common';\nimport type { Signer } from '@milaboratories/ts-helpers';\nimport { ImportFileHandleIndexData, ImportFileHandleUploadData } from '../types';\n\nexport function createIndexImportHandle(\n storageName: string,\n path: string,\n): sdk.ImportFileHandleIndex {\n const data: ImportFileHandleIndexData = {\n storageId: storageName,\n path: path,\n };\n\n return `index://index/${encodeURIComponent(JSON.stringify(data))}`;\n}\n\nexport function createUploadImportHandle(\n localPath: string,\n signer: Signer,\n sizeBytes: bigint,\n modificationTimeSeconds: bigint,\n): sdk.ImportFileHandleUpload {\n const data: ImportFileHandleUploadData = {\n localPath,\n pathSignature: signer.sign(localPath),\n sizeBytes: String(sizeBytes),\n modificationTime: String(modificationTimeSeconds),\n };\n\n return `upload://upload/${encodeURIComponent(JSON.stringify(data))}`;\n}\n\nexport function parseUploadHandle(handle: sdk.ImportFileHandleUpload): ImportFileHandleUploadData {\n const url = new URL(handle);\n return ImportFileHandleUploadData.parse(\n JSON.parse(decodeURIComponent(url.pathname.substring(1))),\n );\n}\n\nexport function parseIndexHandle(handle: sdk.ImportFileHandleIndex): ImportFileHandleIndexData {\n const url = new URL(handle);\n return ImportFileHandleIndexData.parse(JSON.parse(decodeURIComponent(url.pathname.substring(1))));\n}\n"],"names":["ImportFileHandleUploadData","ImportFileHandleIndexData"],"mappings":";;;;AAIM,SAAU,uBAAuB,CACrC,WAAmB,EACnB,IAAY,EAAA;AAEZ,IAAA,MAAM,IAAI,GAA8B;AACtC,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,IAAI,EAAE,IAAI;KACX;IAED,OAAO,CAAA,cAAA,EAAiB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA,CAAE;AACpE;AAEM,SAAU,wBAAwB,CACtC,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,uBAA+B,EAAA;AAE/B,IAAA,MAAM,IAAI,GAA+B;QACvC,SAAS;AACT,QAAA,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AACrC,QAAA,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;AAC5B,QAAA,gBAAgB,EAAE,MAAM,CAAC,uBAAuB,CAAC;KAClD;IAED,OAAO,CAAA,gBAAA,EAAmB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA,CAAE;AACtE;AAEM,SAAU,iBAAiB,CAAC,MAAkC,EAAA;AAClE,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;IAC3B,OAAOA,gCAA0B,CAAC,KAAK,CACrC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1D;AACH;AAEM,SAAU,gBAAgB,CAAC,MAAiC,EAAA;AAChE,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;IAC3B,OAAOC,+BAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG;;;;;;;"}
|
|
@@ -5,4 +5,3 @@ export declare function createIndexImportHandle(storageName: string, path: strin
|
|
|
5
5
|
export declare function createUploadImportHandle(localPath: string, signer: Signer, sizeBytes: bigint, modificationTimeSeconds: bigint): sdk.ImportFileHandleUpload;
|
|
6
6
|
export declare function parseUploadHandle(handle: sdk.ImportFileHandleUpload): ImportFileHandleUploadData;
|
|
7
7
|
export declare function parseIndexHandle(handle: sdk.ImportFileHandleIndex): ImportFileHandleIndexData;
|
|
8
|
-
//# sourceMappingURL=ls_remote_import_handle.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ImportFileHandleIndexData, ImportFileHandleUploadData } from '../types.js';
|
|
2
|
+
|
|
3
|
+
function createIndexImportHandle(storageName, path) {
|
|
4
|
+
const data = {
|
|
5
|
+
storageId: storageName,
|
|
6
|
+
path: path,
|
|
7
|
+
};
|
|
8
|
+
return `index://index/${encodeURIComponent(JSON.stringify(data))}`;
|
|
9
|
+
}
|
|
10
|
+
function createUploadImportHandle(localPath, signer, sizeBytes, modificationTimeSeconds) {
|
|
11
|
+
const data = {
|
|
12
|
+
localPath,
|
|
13
|
+
pathSignature: signer.sign(localPath),
|
|
14
|
+
sizeBytes: String(sizeBytes),
|
|
15
|
+
modificationTime: String(modificationTimeSeconds),
|
|
16
|
+
};
|
|
17
|
+
return `upload://upload/${encodeURIComponent(JSON.stringify(data))}`;
|
|
18
|
+
}
|
|
19
|
+
function parseUploadHandle(handle) {
|
|
20
|
+
const url = new URL(handle);
|
|
21
|
+
return ImportFileHandleUploadData.parse(JSON.parse(decodeURIComponent(url.pathname.substring(1))));
|
|
22
|
+
}
|
|
23
|
+
function parseIndexHandle(handle) {
|
|
24
|
+
const url = new URL(handle);
|
|
25
|
+
return ImportFileHandleIndexData.parse(JSON.parse(decodeURIComponent(url.pathname.substring(1))));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { createIndexImportHandle, createUploadImportHandle, parseIndexHandle, parseUploadHandle };
|
|
29
|
+
//# sourceMappingURL=ls_remote_import_handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ls_remote_import_handle.js","sources":["../../../src/drivers/helpers/ls_remote_import_handle.ts"],"sourcesContent":["import type * as sdk from '@milaboratories/pl-model-common';\nimport type { Signer } from '@milaboratories/ts-helpers';\nimport { ImportFileHandleIndexData, ImportFileHandleUploadData } from '../types';\n\nexport function createIndexImportHandle(\n storageName: string,\n path: string,\n): sdk.ImportFileHandleIndex {\n const data: ImportFileHandleIndexData = {\n storageId: storageName,\n path: path,\n };\n\n return `index://index/${encodeURIComponent(JSON.stringify(data))}`;\n}\n\nexport function createUploadImportHandle(\n localPath: string,\n signer: Signer,\n sizeBytes: bigint,\n modificationTimeSeconds: bigint,\n): sdk.ImportFileHandleUpload {\n const data: ImportFileHandleUploadData = {\n localPath,\n pathSignature: signer.sign(localPath),\n sizeBytes: String(sizeBytes),\n modificationTime: String(modificationTimeSeconds),\n };\n\n return `upload://upload/${encodeURIComponent(JSON.stringify(data))}`;\n}\n\nexport function parseUploadHandle(handle: sdk.ImportFileHandleUpload): ImportFileHandleUploadData {\n const url = new URL(handle);\n return ImportFileHandleUploadData.parse(\n JSON.parse(decodeURIComponent(url.pathname.substring(1))),\n );\n}\n\nexport function parseIndexHandle(handle: sdk.ImportFileHandleIndex): ImportFileHandleIndexData {\n const url = new URL(handle);\n return ImportFileHandleIndexData.parse(JSON.parse(decodeURIComponent(url.pathname.substring(1))));\n}\n"],"names":[],"mappings":";;AAIM,SAAU,uBAAuB,CACrC,WAAmB,EACnB,IAAY,EAAA;AAEZ,IAAA,MAAM,IAAI,GAA8B;AACtC,QAAA,SAAS,EAAE,WAAW;AACtB,QAAA,IAAI,EAAE,IAAI;KACX;IAED,OAAO,CAAA,cAAA,EAAiB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA,CAAE;AACpE;AAEM,SAAU,wBAAwB,CACtC,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,uBAA+B,EAAA;AAE/B,IAAA,MAAM,IAAI,GAA+B;QACvC,SAAS;AACT,QAAA,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AACrC,QAAA,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;AAC5B,QAAA,gBAAgB,EAAE,MAAM,CAAC,uBAAuB,CAAC;KAClD;IAED,OAAO,CAAA,gBAAA,EAAmB,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA,CAAE;AACtE;AAEM,SAAU,iBAAiB,CAAC,MAAkC,EAAA;AAClE,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;IAC3B,OAAO,0BAA0B,CAAC,KAAK,CACrC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1D;AACH;AAEM,SAAU,gBAAgB,CAAC,MAAiC,EAAA;AAChE,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;IAC3B,OAAO,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnG;;;;"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var plClient = require('@milaboratories/pl-client');
|
|
4
|
+
var tsHelpers = require('@milaboratories/ts-helpers');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Gets a storage handle and gives an underlying data from it.
|
|
8
|
+
*/
|
|
9
|
+
function parseStorageHandle(handle) {
|
|
10
|
+
if (isRemoteStorageHandle(handle)) {
|
|
11
|
+
return parseRemoteStorageHandle(handle);
|
|
12
|
+
}
|
|
13
|
+
else if (isLocalStorageHandle(handle)) {
|
|
14
|
+
return parseLocalStorageHandle(handle);
|
|
15
|
+
}
|
|
16
|
+
tsHelpers.assertNever(handle);
|
|
17
|
+
}
|
|
18
|
+
const localHandleRegex = /^local:\/\/(?<name>.*)\/(?<path>.*)$/;
|
|
19
|
+
function isLocalStorageHandle(handle) {
|
|
20
|
+
return localHandleRegex.test(handle);
|
|
21
|
+
}
|
|
22
|
+
function createLocalStorageHandle(name, path) {
|
|
23
|
+
return `local://${name}/${encodeURIComponent(path)}`;
|
|
24
|
+
}
|
|
25
|
+
function parseLocalStorageHandle(handle) {
|
|
26
|
+
const parsed = handle.match(localHandleRegex);
|
|
27
|
+
if (parsed == null)
|
|
28
|
+
throw new Error(`Local list handle wasn't parsed: ${handle}`);
|
|
29
|
+
const { name, path } = parsed.groups;
|
|
30
|
+
return {
|
|
31
|
+
rootPath: decodeURIComponent(path),
|
|
32
|
+
name,
|
|
33
|
+
isRemote: false,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const remoteHandleRegex = /^remote:\/\/(?<name>.*)\/(?<resourceId>.*)$/;
|
|
37
|
+
function isRemoteStorageHandle(handle) {
|
|
38
|
+
return remoteHandleRegex.test(handle);
|
|
39
|
+
}
|
|
40
|
+
function createRemoteStorageHandle(name, rId) {
|
|
41
|
+
return `remote://${name}/${BigInt(rId)}`;
|
|
42
|
+
}
|
|
43
|
+
function parseRemoteStorageHandle(handle) {
|
|
44
|
+
const parsed = handle.match(remoteHandleRegex);
|
|
45
|
+
if (parsed == null)
|
|
46
|
+
throw new Error(`Remote list handle wasn't parsed: ${handle}`);
|
|
47
|
+
const { name, resourceId } = parsed.groups;
|
|
48
|
+
return {
|
|
49
|
+
id: plClient.bigintToResourceId(BigInt(resourceId)),
|
|
50
|
+
type: storageType(name),
|
|
51
|
+
name,
|
|
52
|
+
isRemote: true,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function storageType(name) {
|
|
56
|
+
return { name: `LS/${name}`, version: '1' };
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
exports.createLocalStorageHandle = createLocalStorageHandle;
|
|
60
|
+
exports.createRemoteStorageHandle = createRemoteStorageHandle;
|
|
61
|
+
exports.isLocalStorageHandle = isLocalStorageHandle;
|
|
62
|
+
exports.isRemoteStorageHandle = isRemoteStorageHandle;
|
|
63
|
+
exports.parseStorageHandle = parseStorageHandle;
|
|
64
|
+
//# sourceMappingURL=ls_storage_entry.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ls_storage_entry.cjs","sources":["../../../src/drivers/helpers/ls_storage_entry.ts"],"sourcesContent":["import type * as sdk from '@milaboratories/pl-model-common';\nimport type { ResourceId, ResourceType } from '@milaboratories/pl-client';\nimport { bigintToResourceId } from '@milaboratories/pl-client';\nimport { assertNever } from '@milaboratories/ts-helpers';\n\nexport type StorageHandleData = RemoteStorageHandleData | LocalStorageHandleData;\n\n/**\n * Gets a storage handle and gives an underlying data from it.\n */\nexport function parseStorageHandle(handle: sdk.StorageHandle): StorageHandleData {\n if (isRemoteStorageHandle(handle)) {\n return parseRemoteStorageHandle(handle);\n } else if (isLocalStorageHandle(handle)) {\n return parseLocalStorageHandle(handle);\n }\n\n assertNever(handle);\n}\n\n//\n// Local storage:\n//\n\nexport type LocalStorageHandleData = {\n isRemote: false;\n name: string;\n rootPath: string;\n};\n\nconst localHandleRegex = /^local:\\/\\/(?<name>.*)\\/(?<path>.*)$/;\n\nexport function isLocalStorageHandle(handle: sdk.StorageHandle): handle is sdk.StorageHandleLocal {\n return localHandleRegex.test(handle);\n}\n\nexport function createLocalStorageHandle(name: string, path: string): sdk.StorageHandleLocal {\n return `local://${name}/${encodeURIComponent(path)}`;\n}\n\nfunction parseLocalStorageHandle(handle: string): LocalStorageHandleData {\n const parsed = handle.match(localHandleRegex);\n if (parsed == null) throw new Error(`Local list handle wasn't parsed: ${handle}`);\n\n const { name, path } = parsed.groups!;\n\n return {\n rootPath: decodeURIComponent(path),\n name,\n isRemote: false,\n };\n}\n\n//\n// Remote storage:\n//\n\nexport type RemoteStorageHandleData = {\n isRemote: true;\n name: string;\n id: ResourceId;\n type: ResourceType;\n};\n\nconst remoteHandleRegex = /^remote:\\/\\/(?<name>.*)\\/(?<resourceId>.*)$/;\n\nexport function isRemoteStorageHandle(\n handle: sdk.StorageHandle,\n): handle is sdk.StorageHandleRemote {\n return remoteHandleRegex.test(handle);\n}\n\nexport function createRemoteStorageHandle(name: string, rId: ResourceId): sdk.StorageHandleRemote {\n return `remote://${name}/${BigInt(rId)}`;\n}\n\nfunction parseRemoteStorageHandle(handle: string): RemoteStorageHandleData {\n const parsed = handle.match(remoteHandleRegex);\n if (parsed == null) throw new Error(`Remote list handle wasn't parsed: ${handle}`);\n const { name, resourceId } = parsed.groups!;\n\n return {\n id: bigintToResourceId(BigInt(resourceId)),\n type: storageType(name),\n name,\n isRemote: true,\n };\n}\n\nfunction storageType(name: string): ResourceType {\n return { name: `LS/${name}`, version: '1' };\n}\n"],"names":["assertNever","bigintToResourceId"],"mappings":";;;;;AAOA;;AAEG;AACG,SAAU,kBAAkB,CAAC,MAAyB,EAAA;AAC1D,IAAA,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;AACjC,QAAA,OAAO,wBAAwB,CAAC,MAAM,CAAC;IACzC;AAAO,SAAA,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE;AACvC,QAAA,OAAO,uBAAuB,CAAC,MAAM,CAAC;IACxC;IAEAA,qBAAW,CAAC,MAAM,CAAC;AACrB;AAYA,MAAM,gBAAgB,GAAG,sCAAsC;AAEzD,SAAU,oBAAoB,CAAC,MAAyB,EAAA;AAC5D,IAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;AACtC;AAEM,SAAU,wBAAwB,CAAC,IAAY,EAAE,IAAY,EAAA;IACjE,OAAO,CAAA,QAAA,EAAW,IAAI,CAAA,CAAA,EAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACtD;AAEA,SAAS,uBAAuB,CAAC,MAAc,EAAA;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC7C,IAAI,MAAM,IAAI,IAAI;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAA,CAAE,CAAC;IAEjF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAO;IAErC,OAAO;AACL,QAAA,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAClC,IAAI;AACJ,QAAA,QAAQ,EAAE,KAAK;KAChB;AACH;AAaA,MAAM,iBAAiB,GAAG,6CAA6C;AAEjE,SAAU,qBAAqB,CACnC,MAAyB,EAAA;AAEzB,IAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;AACvC;AAEM,SAAU,yBAAyB,CAAC,IAAY,EAAE,GAAe,EAAA;IACrE,OAAO,CAAA,SAAA,EAAY,IAAI,CAAA,CAAA,EAAI,MAAM,CAAC,GAAG,CAAC,EAAE;AAC1C;AAEA,SAAS,wBAAwB,CAAC,MAAc,EAAA;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAC9C,IAAI,MAAM,IAAI,IAAI;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAA,CAAE,CAAC;IAClF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAO;IAE3C,OAAO;AACL,QAAA,EAAE,EAAEC,2BAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC1C,QAAA,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;QACvB,IAAI;AACJ,QAAA,QAAQ,EAAE,IAAI;KACf;AACH;AAEA,SAAS,WAAW,CAAC,IAAY,EAAA;IAC/B,OAAO,EAAE,IAAI,EAAE,CAAA,GAAA,EAAM,IAAI,CAAA,CAAE,EAAE,OAAO,EAAE,GAAG,EAAE;AAC7C;;;;;;;;"}
|
|
@@ -20,4 +20,3 @@ export type RemoteStorageHandleData = {
|
|
|
20
20
|
};
|
|
21
21
|
export declare function isRemoteStorageHandle(handle: sdk.StorageHandle): handle is sdk.StorageHandleRemote;
|
|
22
22
|
export declare function createRemoteStorageHandle(name: string, rId: ResourceId): sdk.StorageHandleRemote;
|
|
23
|
-
//# sourceMappingURL=ls_storage_entry.d.ts.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { bigintToResourceId } from '@milaboratories/pl-client';
|
|
2
|
+
import { assertNever } from '@milaboratories/ts-helpers';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Gets a storage handle and gives an underlying data from it.
|
|
6
|
+
*/
|
|
7
|
+
function parseStorageHandle(handle) {
|
|
8
|
+
if (isRemoteStorageHandle(handle)) {
|
|
9
|
+
return parseRemoteStorageHandle(handle);
|
|
10
|
+
}
|
|
11
|
+
else if (isLocalStorageHandle(handle)) {
|
|
12
|
+
return parseLocalStorageHandle(handle);
|
|
13
|
+
}
|
|
14
|
+
assertNever(handle);
|
|
15
|
+
}
|
|
16
|
+
const localHandleRegex = /^local:\/\/(?<name>.*)\/(?<path>.*)$/;
|
|
17
|
+
function isLocalStorageHandle(handle) {
|
|
18
|
+
return localHandleRegex.test(handle);
|
|
19
|
+
}
|
|
20
|
+
function createLocalStorageHandle(name, path) {
|
|
21
|
+
return `local://${name}/${encodeURIComponent(path)}`;
|
|
22
|
+
}
|
|
23
|
+
function parseLocalStorageHandle(handle) {
|
|
24
|
+
const parsed = handle.match(localHandleRegex);
|
|
25
|
+
if (parsed == null)
|
|
26
|
+
throw new Error(`Local list handle wasn't parsed: ${handle}`);
|
|
27
|
+
const { name, path } = parsed.groups;
|
|
28
|
+
return {
|
|
29
|
+
rootPath: decodeURIComponent(path),
|
|
30
|
+
name,
|
|
31
|
+
isRemote: false,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
const remoteHandleRegex = /^remote:\/\/(?<name>.*)\/(?<resourceId>.*)$/;
|
|
35
|
+
function isRemoteStorageHandle(handle) {
|
|
36
|
+
return remoteHandleRegex.test(handle);
|
|
37
|
+
}
|
|
38
|
+
function createRemoteStorageHandle(name, rId) {
|
|
39
|
+
return `remote://${name}/${BigInt(rId)}`;
|
|
40
|
+
}
|
|
41
|
+
function parseRemoteStorageHandle(handle) {
|
|
42
|
+
const parsed = handle.match(remoteHandleRegex);
|
|
43
|
+
if (parsed == null)
|
|
44
|
+
throw new Error(`Remote list handle wasn't parsed: ${handle}`);
|
|
45
|
+
const { name, resourceId } = parsed.groups;
|
|
46
|
+
return {
|
|
47
|
+
id: bigintToResourceId(BigInt(resourceId)),
|
|
48
|
+
type: storageType(name),
|
|
49
|
+
name,
|
|
50
|
+
isRemote: true,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function storageType(name) {
|
|
54
|
+
return { name: `LS/${name}`, version: '1' };
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export { createLocalStorageHandle, createRemoteStorageHandle, isLocalStorageHandle, isRemoteStorageHandle, parseStorageHandle };
|
|
58
|
+
//# sourceMappingURL=ls_storage_entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ls_storage_entry.js","sources":["../../../src/drivers/helpers/ls_storage_entry.ts"],"sourcesContent":["import type * as sdk from '@milaboratories/pl-model-common';\nimport type { ResourceId, ResourceType } from '@milaboratories/pl-client';\nimport { bigintToResourceId } from '@milaboratories/pl-client';\nimport { assertNever } from '@milaboratories/ts-helpers';\n\nexport type StorageHandleData = RemoteStorageHandleData | LocalStorageHandleData;\n\n/**\n * Gets a storage handle and gives an underlying data from it.\n */\nexport function parseStorageHandle(handle: sdk.StorageHandle): StorageHandleData {\n if (isRemoteStorageHandle(handle)) {\n return parseRemoteStorageHandle(handle);\n } else if (isLocalStorageHandle(handle)) {\n return parseLocalStorageHandle(handle);\n }\n\n assertNever(handle);\n}\n\n//\n// Local storage:\n//\n\nexport type LocalStorageHandleData = {\n isRemote: false;\n name: string;\n rootPath: string;\n};\n\nconst localHandleRegex = /^local:\\/\\/(?<name>.*)\\/(?<path>.*)$/;\n\nexport function isLocalStorageHandle(handle: sdk.StorageHandle): handle is sdk.StorageHandleLocal {\n return localHandleRegex.test(handle);\n}\n\nexport function createLocalStorageHandle(name: string, path: string): sdk.StorageHandleLocal {\n return `local://${name}/${encodeURIComponent(path)}`;\n}\n\nfunction parseLocalStorageHandle(handle: string): LocalStorageHandleData {\n const parsed = handle.match(localHandleRegex);\n if (parsed == null) throw new Error(`Local list handle wasn't parsed: ${handle}`);\n\n const { name, path } = parsed.groups!;\n\n return {\n rootPath: decodeURIComponent(path),\n name,\n isRemote: false,\n };\n}\n\n//\n// Remote storage:\n//\n\nexport type RemoteStorageHandleData = {\n isRemote: true;\n name: string;\n id: ResourceId;\n type: ResourceType;\n};\n\nconst remoteHandleRegex = /^remote:\\/\\/(?<name>.*)\\/(?<resourceId>.*)$/;\n\nexport function isRemoteStorageHandle(\n handle: sdk.StorageHandle,\n): handle is sdk.StorageHandleRemote {\n return remoteHandleRegex.test(handle);\n}\n\nexport function createRemoteStorageHandle(name: string, rId: ResourceId): sdk.StorageHandleRemote {\n return `remote://${name}/${BigInt(rId)}`;\n}\n\nfunction parseRemoteStorageHandle(handle: string): RemoteStorageHandleData {\n const parsed = handle.match(remoteHandleRegex);\n if (parsed == null) throw new Error(`Remote list handle wasn't parsed: ${handle}`);\n const { name, resourceId } = parsed.groups!;\n\n return {\n id: bigintToResourceId(BigInt(resourceId)),\n type: storageType(name),\n name,\n isRemote: true,\n };\n}\n\nfunction storageType(name: string): ResourceType {\n return { name: `LS/${name}`, version: '1' };\n}\n"],"names":[],"mappings":";;;AAOA;;AAEG;AACG,SAAU,kBAAkB,CAAC,MAAyB,EAAA;AAC1D,IAAA,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;AACjC,QAAA,OAAO,wBAAwB,CAAC,MAAM,CAAC;IACzC;AAAO,SAAA,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE;AACvC,QAAA,OAAO,uBAAuB,CAAC,MAAM,CAAC;IACxC;IAEA,WAAW,CAAC,MAAM,CAAC;AACrB;AAYA,MAAM,gBAAgB,GAAG,sCAAsC;AAEzD,SAAU,oBAAoB,CAAC,MAAyB,EAAA;AAC5D,IAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;AACtC;AAEM,SAAU,wBAAwB,CAAC,IAAY,EAAE,IAAY,EAAA;IACjE,OAAO,CAAA,QAAA,EAAW,IAAI,CAAA,CAAA,EAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;AACtD;AAEA,SAAS,uBAAuB,CAAC,MAAc,EAAA;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAC7C,IAAI,MAAM,IAAI,IAAI;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAA,CAAE,CAAC;IAEjF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,MAAO;IAErC,OAAO;AACL,QAAA,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC;QAClC,IAAI;AACJ,QAAA,QAAQ,EAAE,KAAK;KAChB;AACH;AAaA,MAAM,iBAAiB,GAAG,6CAA6C;AAEjE,SAAU,qBAAqB,CACnC,MAAyB,EAAA;AAEzB,IAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;AACvC;AAEM,SAAU,yBAAyB,CAAC,IAAY,EAAE,GAAe,EAAA;IACrE,OAAO,CAAA,SAAA,EAAY,IAAI,CAAA,CAAA,EAAI,MAAM,CAAC,GAAG,CAAC,EAAE;AAC1C;AAEA,SAAS,wBAAwB,CAAC,MAAc,EAAA;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;IAC9C,IAAI,MAAM,IAAI,IAAI;AAAE,QAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAA,CAAE,CAAC;IAClF,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAO;IAE3C,OAAO;AACL,QAAA,EAAE,EAAE,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAC1C,QAAA,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;QACvB,IAAI;AACJ,QAAA,QAAQ,EAAE,IAAI;KACf;AACH;AAEA,SAAS,WAAW,CAAC,IAAY,EAAA;IAC/B,OAAO,EAAE,IAAI,EAAE,CAAA,GAAA,EAAM,IAAI,CAAA,CAAE,EAAE,OAAO,EAAE,GAAG,EAAE;AAC7C;;;;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tsHelpers = require('@milaboratories/ts-helpers');
|
|
4
|
+
var fs = require('node:fs');
|
|
5
|
+
var consumers = require('node:stream/consumers');
|
|
6
|
+
|
|
7
|
+
function _interopNamespaceDefault(e) {
|
|
8
|
+
var n = Object.create(null);
|
|
9
|
+
if (e) {
|
|
10
|
+
Object.keys(e).forEach(function (k) {
|
|
11
|
+
if (k !== 'default') {
|
|
12
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
13
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return e[k]; }
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
n.default = e;
|
|
21
|
+
return Object.freeze(n);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
|
|
25
|
+
|
|
26
|
+
// Global concurrency limiter for file reads - limit to 32 parallel reads
|
|
27
|
+
const fileReadLimiter = new tsHelpers.ConcurrencyLimitingExecutor(32);
|
|
28
|
+
/**
|
|
29
|
+
* Reads file content with concurrency limiting and proper error handling.
|
|
30
|
+
* Ensures file descriptors are properly cleaned up even in error cases.
|
|
31
|
+
*/
|
|
32
|
+
async function readFileContent(path, range) {
|
|
33
|
+
return await fileReadLimiter.run(async () => {
|
|
34
|
+
const ops = {};
|
|
35
|
+
if (range) {
|
|
36
|
+
ops.start = range.from;
|
|
37
|
+
ops.end = range.to - 1;
|
|
38
|
+
}
|
|
39
|
+
let stream;
|
|
40
|
+
try {
|
|
41
|
+
stream = fs__namespace.createReadStream(path, ops);
|
|
42
|
+
return await consumers.buffer(stream);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (stream && !stream.destroyed) {
|
|
46
|
+
stream.destroy();
|
|
47
|
+
}
|
|
48
|
+
throw error;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
exports.readFileContent = readFileContent;
|
|
54
|
+
//# sourceMappingURL=read_file.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read_file.cjs","sources":["../../../src/drivers/helpers/read_file.ts"],"sourcesContent":["import { ConcurrencyLimitingExecutor } from '@milaboratories/ts-helpers';\nimport type { RangeBytes } from '@milaboratories/pl-model-common';\nimport * as fs from 'node:fs';\nimport { buffer } from 'node:stream/consumers';\n\n// Global concurrency limiter for file reads - limit to 32 parallel reads\nconst fileReadLimiter = new ConcurrencyLimitingExecutor(32);\n\n/**\n * Reads file content with concurrency limiting and proper error handling.\n * Ensures file descriptors are properly cleaned up even in error cases.\n */\nexport async function readFileContent(path: string, range?: RangeBytes): Promise<Uint8Array> {\n return await fileReadLimiter.run(async () => {\n const ops: { start?: number; end?: number } = {};\n if (range) {\n ops.start = range.from;\n ops.end = range.to - 1;\n }\n\n let stream: fs.ReadStream | undefined;\n try {\n stream = fs.createReadStream(path, ops);\n return await buffer(stream);\n } catch (error) {\n if (stream && !stream.destroyed) {\n stream.destroy();\n }\n throw error;\n }\n });\n}\n"],"names":["ConcurrencyLimitingExecutor","fs","buffer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,MAAM,eAAe,GAAG,IAAIA,qCAA2B,CAAC,EAAE,CAAC;AAE3D;;;AAGG;AACI,eAAe,eAAe,CAAC,IAAY,EAAE,KAAkB,EAAA;AACpE,IAAA,OAAO,MAAM,eAAe,CAAC,GAAG,CAAC,YAAW;QAC1C,MAAM,GAAG,GAAqC,EAAE;QAChD,IAAI,KAAK,EAAE;AACT,YAAA,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI;YACtB,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC;QACxB;AAEA,QAAA,IAAI,MAAiC;AACrC,QAAA,IAAI;YACF,MAAM,GAAGC,aAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC;AACvC,YAAA,OAAO,MAAMC,gBAAM,CAAC,MAAM,CAAC;QAC7B;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC/B,MAAM,CAAC,OAAO,EAAE;YAClB;AACA,YAAA,MAAM,KAAK;QACb;AACF,IAAA,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -4,4 +4,3 @@ import { RangeBytes } from '@milaboratories/pl-model-common';
|
|
|
4
4
|
* Ensures file descriptors are properly cleaned up even in error cases.
|
|
5
5
|
*/
|
|
6
6
|
export declare function readFileContent(path: string, range?: RangeBytes): Promise<Uint8Array>;
|
|
7
|
-
//# sourceMappingURL=read_file.d.ts.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ConcurrencyLimitingExecutor } from '@milaboratories/ts-helpers';
|
|
2
|
+
import * as fs from 'node:fs';
|
|
3
|
+
import { buffer } from 'node:stream/consumers';
|
|
4
|
+
|
|
5
|
+
// Global concurrency limiter for file reads - limit to 32 parallel reads
|
|
6
|
+
const fileReadLimiter = new ConcurrencyLimitingExecutor(32);
|
|
7
|
+
/**
|
|
8
|
+
* Reads file content with concurrency limiting and proper error handling.
|
|
9
|
+
* Ensures file descriptors are properly cleaned up even in error cases.
|
|
10
|
+
*/
|
|
11
|
+
async function readFileContent(path, range) {
|
|
12
|
+
return await fileReadLimiter.run(async () => {
|
|
13
|
+
const ops = {};
|
|
14
|
+
if (range) {
|
|
15
|
+
ops.start = range.from;
|
|
16
|
+
ops.end = range.to - 1;
|
|
17
|
+
}
|
|
18
|
+
let stream;
|
|
19
|
+
try {
|
|
20
|
+
stream = fs.createReadStream(path, ops);
|
|
21
|
+
return await buffer(stream);
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
if (stream && !stream.destroyed) {
|
|
25
|
+
stream.destroy();
|
|
26
|
+
}
|
|
27
|
+
throw error;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export { readFileContent };
|
|
33
|
+
//# sourceMappingURL=read_file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read_file.js","sources":["../../../src/drivers/helpers/read_file.ts"],"sourcesContent":["import { ConcurrencyLimitingExecutor } from '@milaboratories/ts-helpers';\nimport type { RangeBytes } from '@milaboratories/pl-model-common';\nimport * as fs from 'node:fs';\nimport { buffer } from 'node:stream/consumers';\n\n// Global concurrency limiter for file reads - limit to 32 parallel reads\nconst fileReadLimiter = new ConcurrencyLimitingExecutor(32);\n\n/**\n * Reads file content with concurrency limiting and proper error handling.\n * Ensures file descriptors are properly cleaned up even in error cases.\n */\nexport async function readFileContent(path: string, range?: RangeBytes): Promise<Uint8Array> {\n return await fileReadLimiter.run(async () => {\n const ops: { start?: number; end?: number } = {};\n if (range) {\n ops.start = range.from;\n ops.end = range.to - 1;\n }\n\n let stream: fs.ReadStream | undefined;\n try {\n stream = fs.createReadStream(path, ops);\n return await buffer(stream);\n } catch (error) {\n if (stream && !stream.destroyed) {\n stream.destroy();\n }\n throw error;\n }\n });\n}\n"],"names":[],"mappings":";;;;AAKA;AACA,MAAM,eAAe,GAAG,IAAI,2BAA2B,CAAC,EAAE,CAAC;AAE3D;;;AAGG;AACI,eAAe,eAAe,CAAC,IAAY,EAAE,KAAkB,EAAA;AACpE,IAAA,OAAO,MAAM,eAAe,CAAC,GAAG,CAAC,YAAW;QAC1C,MAAM,GAAG,GAAqC,EAAE;QAChD,IAAI,KAAK,EAAE;AACT,YAAA,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI;YACtB,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC;QACxB;AAEA,QAAA,IAAI,MAAiC;AACrC,QAAA,IAAI;YACF,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC;AACvC,YAAA,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC;QAC7B;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;gBAC/B,MAAM,CAAC,OAAO,EAAE;YAClB;AACA,YAAA,MAAM,KAAK;QACb;AACF,IAAA,CAAC,CAAC;AACJ;;;;"}
|