@backblaze-labs/b2-sdk 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +110 -5
- package/README.md +144 -33
- package/dist/_virtual/_b2-sdk-version-json.cjs +4 -0
- package/dist/_virtual/_b2-sdk-version-json.js +4 -0
- package/dist/auth/account-info.d.cts +32 -0
- package/dist/auth/account-info.d.cts.map +1 -1
- package/dist/auth/account-info.d.ts +32 -0
- package/dist/auth/account-info.d.ts.map +1 -1
- package/dist/auth/file.cjs +408 -207
- package/dist/auth/file.cjs.map +1 -1
- package/dist/auth/file.d.cts +77 -3
- package/dist/auth/file.d.cts.map +1 -1
- package/dist/auth/file.d.ts +77 -3
- package/dist/auth/file.d.ts.map +1 -1
- package/dist/auth/file.js +407 -207
- package/dist/auth/file.js.map +1 -1
- package/dist/auth/in-memory.cjs +212 -183
- package/dist/auth/in-memory.cjs.map +1 -1
- package/dist/auth/in-memory.d.cts +8 -0
- package/dist/auth/in-memory.d.cts.map +1 -1
- package/dist/auth/in-memory.d.ts +8 -0
- package/dist/auth/in-memory.d.ts.map +1 -1
- package/dist/auth/in-memory.js +211 -182
- package/dist/auth/in-memory.js.map +1 -1
- package/dist/auth/index.cjs +7 -9
- package/dist/auth/index.d.cts +3 -2
- package/dist/auth/index.d.cts.map +1 -1
- package/dist/auth/index.d.ts +3 -2
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +2 -8
- package/dist/auth/realms.cjs +80 -7
- package/dist/auth/realms.cjs.map +1 -1
- package/dist/auth/realms.d.cts +27 -4
- package/dist/auth/realms.d.cts.map +1 -1
- package/dist/auth/realms.d.ts +27 -4
- package/dist/auth/realms.d.ts.map +1 -1
- package/dist/auth/realms.js +80 -9
- package/dist/auth/realms.js.map +1 -1
- package/dist/auth/upload-url-pool.cjs +55 -51
- package/dist/auth/upload-url-pool.cjs.map +1 -1
- package/dist/auth/upload-url-pool.js +55 -51
- package/dist/auth/upload-url-pool.js.map +1 -1
- package/dist/bucket.cjs +785 -787
- package/dist/bucket.cjs.map +1 -1
- package/dist/bucket.d.cts +35 -47
- package/dist/bucket.d.cts.map +1 -1
- package/dist/bucket.d.ts +35 -47
- package/dist/bucket.d.ts.map +1 -1
- package/dist/bucket.js +780 -782
- package/dist/bucket.js.map +1 -1
- package/dist/client.cjs +246 -228
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.cts +25 -17
- package/dist/client.d.cts.map +1 -1
- package/dist/client.d.ts +25 -17
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +243 -225
- package/dist/client.js.map +1 -1
- package/dist/copy/large.cjs +114 -71
- package/dist/copy/large.cjs.map +1 -1
- package/dist/copy/large.d.cts +6 -0
- package/dist/copy/large.d.cts.map +1 -1
- package/dist/copy/large.d.ts +6 -0
- package/dist/copy/large.d.ts.map +1 -1
- package/dist/copy/large.js +112 -69
- package/dist/copy/large.js.map +1 -1
- package/dist/download/checksum.cjs +89 -0
- package/dist/download/checksum.cjs.map +1 -0
- package/dist/download/checksum.d.cts +40 -0
- package/dist/download/checksum.d.cts.map +1 -0
- package/dist/download/checksum.d.ts +40 -0
- package/dist/download/checksum.d.ts.map +1 -0
- package/dist/download/checksum.js +87 -0
- package/dist/download/checksum.js.map +1 -0
- package/dist/download/parallel.cjs +214 -118
- package/dist/download/parallel.cjs.map +1 -1
- package/dist/download/parallel.d.cts +5 -1
- package/dist/download/parallel.d.cts.map +1 -1
- package/dist/download/parallel.d.ts +5 -1
- package/dist/download/parallel.d.ts.map +1 -1
- package/dist/download/parallel.js +212 -116
- package/dist/download/parallel.js.map +1 -1
- package/dist/download/single.cjs +188 -97
- package/dist/download/single.cjs.map +1 -1
- package/dist/download/single.d.cts +6 -1
- package/dist/download/single.d.cts.map +1 -1
- package/dist/download/single.d.ts +6 -1
- package/dist/download/single.d.ts.map +1 -1
- package/dist/download/single.js +186 -98
- package/dist/download/single.js.map +1 -1
- package/dist/errors/index.cjs +699 -243
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.d.cts +285 -82
- package/dist/errors/index.d.cts.map +1 -1
- package/dist/errors/index.d.ts +285 -82
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +678 -261
- package/dist/errors/index.js.map +1 -1
- package/dist/http/retry.cjs +45 -28
- package/dist/http/retry.cjs.map +1 -1
- package/dist/http/retry.d.cts +15 -2
- package/dist/http/retry.d.cts.map +1 -1
- package/dist/http/retry.d.ts +15 -2
- package/dist/http/retry.d.ts.map +1 -1
- package/dist/http/retry.js +46 -31
- package/dist/http/retry.js.map +1 -1
- package/dist/http/transport.cjs +438 -140
- package/dist/http/transport.cjs.map +1 -1
- package/dist/http/transport.d.cts +21 -2
- package/dist/http/transport.d.cts.map +1 -1
- package/dist/http/transport.d.ts +21 -2
- package/dist/http/transport.d.ts.map +1 -1
- package/dist/http/transport.js +437 -140
- package/dist/http/transport.js.map +1 -1
- package/dist/http/url-guard.cjs +154 -89
- package/dist/http/url-guard.cjs.map +1 -1
- package/dist/http/url-guard.d.cts +25 -3
- package/dist/http/url-guard.d.cts.map +1 -1
- package/dist/http/url-guard.d.ts +25 -3
- package/dist/http/url-guard.d.ts.map +1 -1
- package/dist/http/url-guard.js +152 -90
- package/dist/http/url-guard.js.map +1 -1
- package/dist/http/user-agent.cjs +84 -44
- package/dist/http/user-agent.cjs.map +1 -1
- package/dist/http/user-agent.js +84 -46
- package/dist/http/user-agent.js.map +1 -1
- package/dist/index.cjs +101 -77
- package/dist/index.d.cts +27 -21
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +27 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -71
- package/dist/internal/b2-naming.cjs +66 -0
- package/dist/internal/b2-naming.cjs.map +1 -0
- package/dist/internal/b2-naming.d.cts +43 -0
- package/dist/internal/b2-naming.d.cts.map +1 -0
- package/dist/internal/b2-naming.d.ts +43 -0
- package/dist/internal/b2-naming.d.ts.map +1 -0
- package/dist/internal/b2-naming.js +60 -0
- package/dist/internal/b2-naming.js.map +1 -0
- package/dist/internal/upload-retry-options.cjs +21 -0
- package/dist/internal/upload-retry-options.cjs.map +1 -0
- package/dist/internal/upload-retry-options.d.cts +12 -0
- package/dist/internal/upload-retry-options.d.cts.map +1 -0
- package/dist/internal/upload-retry-options.d.ts +12 -0
- package/dist/internal/upload-retry-options.d.ts.map +1 -0
- package/dist/internal/upload-retry-options.js +21 -0
- package/dist/internal/upload-retry-options.js.map +1 -0
- package/dist/internal/url-redaction.cjs +31 -0
- package/dist/internal/url-redaction.cjs.map +1 -0
- package/dist/internal/url-redaction.d.cts +17 -0
- package/dist/internal/url-redaction.d.cts.map +1 -0
- package/dist/internal/url-redaction.d.ts +17 -0
- package/dist/internal/url-redaction.d.ts.map +1 -0
- package/dist/internal/url-redaction.js +31 -0
- package/dist/internal/url-redaction.js.map +1 -0
- package/dist/notifications/index.cjs +4 -6
- package/dist/notifications/index.d.cts +1 -1
- package/dist/notifications/index.d.cts.map +1 -1
- package/dist/notifications/index.d.ts +1 -1
- package/dist/notifications/index.d.ts.map +1 -1
- package/dist/notifications/index.js +1 -6
- package/dist/notifications/webhook.cjs +195 -85
- package/dist/notifications/webhook.cjs.map +1 -1
- package/dist/notifications/webhook.d.cts.map +1 -1
- package/dist/notifications/webhook.d.ts.map +1 -1
- package/dist/notifications/webhook.js +195 -87
- package/dist/notifications/webhook.js.map +1 -1
- package/dist/object.cjs +253 -210
- package/dist/object.cjs.map +1 -1
- package/dist/object.d.cts +9 -55
- package/dist/object.d.cts.map +1 -1
- package/dist/object.d.ts +9 -55
- package/dist/object.d.ts.map +1 -1
- package/dist/object.js +249 -206
- package/dist/object.js.map +1 -1
- package/dist/raw/encoding.cjs +74 -35
- package/dist/raw/encoding.cjs.map +1 -1
- package/dist/raw/encoding.js +74 -38
- package/dist/raw/encoding.js.map +1 -1
- package/dist/raw/index.cjs +678 -587
- package/dist/raw/index.cjs.map +1 -1
- package/dist/raw/index.d.cts +121 -18
- package/dist/raw/index.d.cts.map +1 -1
- package/dist/raw/index.d.ts +121 -18
- package/dist/raw/index.d.ts.map +1 -1
- package/dist/raw/index.js +674 -589
- package/dist/raw/index.js.map +1 -1
- package/dist/s3/index.cjs +355 -18
- package/dist/s3/index.cjs.map +1 -1
- package/dist/s3/index.d.cts +233 -5
- package/dist/s3/index.d.cts.map +1 -1
- package/dist/s3/index.d.ts +233 -5
- package/dist/s3/index.d.ts.map +1 -1
- package/dist/s3/index.js +351 -22
- package/dist/s3/index.js.map +1 -1
- package/dist/s3/sigv4.cjs +149 -0
- package/dist/s3/sigv4.cjs.map +1 -0
- package/dist/s3/sigv4.d.cts +43 -0
- package/dist/s3/sigv4.d.cts.map +1 -0
- package/dist/s3/sigv4.d.ts +43 -0
- package/dist/s3/sigv4.d.ts.map +1 -0
- package/dist/s3/sigv4.js +148 -0
- package/dist/s3/sigv4.js.map +1 -0
- package/dist/s3/validation.cjs +69 -0
- package/dist/s3/validation.cjs.map +1 -0
- package/dist/s3/validation.d.cts +43 -0
- package/dist/s3/validation.d.cts.map +1 -0
- package/dist/s3/validation.d.ts +43 -0
- package/dist/s3/validation.d.ts.map +1 -0
- package/dist/s3/validation.js +66 -0
- package/dist/s3/validation.js.map +1 -0
- package/dist/simulator/capabilities.cjs +63 -48
- package/dist/simulator/capabilities.cjs.map +1 -1
- package/dist/simulator/capabilities.js +63 -49
- package/dist/simulator/capabilities.js.map +1 -1
- package/dist/simulator/index.cjs +2124 -1548
- package/dist/simulator/index.cjs.map +1 -1
- package/dist/simulator/index.d.cts +79 -11
- package/dist/simulator/index.d.cts.map +1 -1
- package/dist/simulator/index.d.ts +79 -11
- package/dist/simulator/index.d.ts.map +1 -1
- package/dist/simulator/index.js +2112 -1546
- package/dist/simulator/index.js.map +1 -1
- package/dist/simulator/validation.cjs +191 -153
- package/dist/simulator/validation.cjs.map +1 -1
- package/dist/simulator/validation.d.cts +3 -21
- package/dist/simulator/validation.d.cts.map +1 -1
- package/dist/simulator/validation.d.ts +3 -21
- package/dist/simulator/validation.d.ts.map +1 -1
- package/dist/simulator/validation.js +188 -162
- package/dist/simulator/validation.js.map +1 -1
- package/dist/streams/collect.cjs +74 -24
- package/dist/streams/collect.cjs.map +1 -1
- package/dist/streams/collect.d.cts +14 -1
- package/dist/streams/collect.d.cts.map +1 -1
- package/dist/streams/collect.d.ts +14 -1
- package/dist/streams/collect.d.ts.map +1 -1
- package/dist/streams/collect.js +74 -25
- package/dist/streams/collect.js.map +1 -1
- package/dist/streams/file-source.cjs +287 -0
- package/dist/streams/file-source.cjs.map +1 -0
- package/dist/streams/file-source.d.cts +96 -0
- package/dist/streams/file-source.d.cts.map +1 -0
- package/dist/streams/file-source.d.ts +96 -0
- package/dist/streams/file-source.d.ts.map +1 -0
- package/dist/streams/file-source.js +286 -0
- package/dist/streams/file-source.js.map +1 -0
- package/dist/streams/hash.cjs +207 -115
- package/dist/streams/hash.cjs.map +1 -1
- package/dist/streams/hash.d.cts +5 -4
- package/dist/streams/hash.d.cts.map +1 -1
- package/dist/streams/hash.d.ts +5 -4
- package/dist/streams/hash.d.ts.map +1 -1
- package/dist/streams/hash.js +208 -95
- package/dist/streams/hash.js.map +1 -1
- package/dist/streams/index.cjs +12 -12
- package/dist/streams/index.d.cts +3 -3
- package/dist/streams/index.d.cts.map +1 -1
- package/dist/streams/index.d.ts +3 -3
- package/dist/streams/index.d.ts.map +1 -1
- package/dist/streams/index.js +2 -10
- package/dist/streams/progress.cjs +60 -46
- package/dist/streams/progress.cjs.map +1 -1
- package/dist/streams/progress.js +60 -46
- package/dist/streams/progress.js.map +1 -1
- package/dist/streams/source.cjs +316 -146
- package/dist/streams/source.cjs.map +1 -1
- package/dist/streams/source.d.cts +56 -18
- package/dist/streams/source.d.cts.map +1 -1
- package/dist/streams/source.d.ts +56 -18
- package/dist/streams/source.d.ts.map +1 -1
- package/dist/streams/source.js +312 -149
- package/dist/streams/source.js.map +1 -1
- package/dist/sync/actions/index.cjs +236 -184
- package/dist/sync/actions/index.cjs.map +1 -1
- package/dist/sync/actions/index.d.cts +29 -21
- package/dist/sync/actions/index.d.cts.map +1 -1
- package/dist/sync/actions/index.d.ts +29 -21
- package/dist/sync/actions/index.d.ts.map +1 -1
- package/dist/sync/actions/index.js +236 -190
- package/dist/sync/actions/index.js.map +1 -1
- package/dist/sync/b2-sha1-reader.cjs +148 -0
- package/dist/sync/b2-sha1-reader.cjs.map +1 -0
- package/dist/sync/b2-sha1-reader.d.cts +58 -0
- package/dist/sync/b2-sha1-reader.d.cts.map +1 -0
- package/dist/sync/b2-sha1-reader.d.ts +58 -0
- package/dist/sync/b2-sha1-reader.d.ts.map +1 -0
- package/dist/sync/b2-sha1-reader.js +145 -0
- package/dist/sync/b2-sha1-reader.js.map +1 -0
- package/dist/sync/download-staging.cjs +265 -0
- package/dist/sync/download-staging.cjs.map +1 -0
- package/dist/sync/download-staging.d.cts +54 -0
- package/dist/sync/download-staging.d.cts.map +1 -0
- package/dist/sync/download-staging.d.ts +54 -0
- package/dist/sync/download-staging.d.ts.map +1 -0
- package/dist/sync/download-staging.js +259 -0
- package/dist/sync/download-staging.js.map +1 -0
- package/dist/sync/filesystem-errors.cjs +32 -0
- package/dist/sync/filesystem-errors.cjs.map +1 -0
- package/dist/sync/filesystem-errors.d.cts +8 -0
- package/dist/sync/filesystem-errors.d.cts.map +1 -0
- package/dist/sync/filesystem-errors.d.ts +8 -0
- package/dist/sync/filesystem-errors.d.ts.map +1 -0
- package/dist/sync/filesystem-errors.js +32 -0
- package/dist/sync/filesystem-errors.js.map +1 -0
- package/dist/sync/filters.cjs +217 -0
- package/dist/sync/filters.cjs.map +1 -0
- package/dist/sync/filters.d.cts +51 -0
- package/dist/sync/filters.d.cts.map +1 -0
- package/dist/sync/filters.d.ts +51 -0
- package/dist/sync/filters.d.ts.map +1 -0
- package/dist/sync/filters.js +213 -0
- package/dist/sync/filters.js.map +1 -0
- package/dist/sync/index.cjs +39 -22
- package/dist/sync/index.d.cts +14 -9
- package/dist/sync/index.d.cts.map +1 -1
- package/dist/sync/index.d.ts +14 -9
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +9 -20
- package/dist/sync/local-file-identity.cjs +61 -0
- package/dist/sync/local-file-identity.cjs.map +1 -0
- package/dist/sync/local-file-identity.d.cts +37 -0
- package/dist/sync/local-file-identity.d.cts.map +1 -0
- package/dist/sync/local-file-identity.d.ts +37 -0
- package/dist/sync/local-file-identity.d.ts.map +1 -0
- package/dist/sync/local-file-identity.js +60 -0
- package/dist/sync/local-file-identity.js.map +1 -0
- package/dist/sync/local-file-io.cjs +364 -0
- package/dist/sync/local-file-io.cjs.map +1 -0
- package/dist/sync/local-file-io.d.cts +75 -0
- package/dist/sync/local-file-io.d.cts.map +1 -0
- package/dist/sync/local-file-io.d.ts +75 -0
- package/dist/sync/local-file-io.d.ts.map +1 -0
- package/dist/sync/local-file-io.js +360 -0
- package/dist/sync/local-file-io.js.map +1 -0
- package/dist/sync/local-filesystem-root.cjs +27 -0
- package/dist/sync/local-filesystem-root.cjs.map +1 -0
- package/dist/sync/local-filesystem-root.d.cts +18 -0
- package/dist/sync/local-filesystem-root.d.cts.map +1 -0
- package/dist/sync/local-filesystem-root.d.ts +18 -0
- package/dist/sync/local-filesystem-root.d.ts.map +1 -0
- package/dist/sync/local-filesystem-root.js +26 -0
- package/dist/sync/local-filesystem-root.js.map +1 -0
- package/dist/sync/local-sha1.cjs +119 -0
- package/dist/sync/local-sha1.cjs.map +1 -0
- package/dist/sync/local-sha1.d.cts +39 -0
- package/dist/sync/local-sha1.d.cts.map +1 -0
- package/dist/sync/local-sha1.d.ts +39 -0
- package/dist/sync/local-sha1.d.ts.map +1 -0
- package/dist/sync/local-sha1.js +117 -0
- package/dist/sync/local-sha1.js.map +1 -0
- package/dist/sync/pairing.cjs +118 -29
- package/dist/sync/pairing.cjs.map +1 -1
- package/dist/sync/pairing.d.cts +7 -2
- package/dist/sync/pairing.d.cts.map +1 -1
- package/dist/sync/pairing.d.ts +7 -2
- package/dist/sync/pairing.d.ts.map +1 -1
- package/dist/sync/pairing.js +120 -31
- package/dist/sync/pairing.js.map +1 -1
- package/dist/sync/path-order.cjs +30 -0
- package/dist/sync/path-order.cjs.map +1 -0
- package/dist/sync/path-order.d.cts +28 -0
- package/dist/sync/path-order.d.cts.map +1 -0
- package/dist/sync/path-order.d.ts +28 -0
- package/dist/sync/path-order.d.ts.map +1 -0
- package/dist/sync/path-order.js +29 -0
- package/dist/sync/path-order.js.map +1 -0
- package/dist/sync/path-safety.cjs +111 -0
- package/dist/sync/path-safety.cjs.map +1 -0
- package/dist/sync/path-safety.d.cts +78 -0
- package/dist/sync/path-safety.d.cts.map +1 -0
- package/dist/sync/path-safety.d.ts +78 -0
- package/dist/sync/path-safety.d.ts.map +1 -0
- package/dist/sync/path-safety.js +105 -0
- package/dist/sync/path-safety.js.map +1 -0
- package/dist/sync/paths.d.cts +19 -0
- package/dist/sync/paths.d.cts.map +1 -0
- package/dist/sync/paths.d.ts +19 -0
- package/dist/sync/paths.d.ts.map +1 -0
- package/dist/sync/policies/compare.cjs +389 -11
- package/dist/sync/policies/compare.cjs.map +1 -1
- package/dist/sync/policies/compare.d.cts +100 -2
- package/dist/sync/policies/compare.d.cts.map +1 -1
- package/dist/sync/policies/compare.d.ts +100 -2
- package/dist/sync/policies/compare.d.ts.map +1 -1
- package/dist/sync/policies/compare.js +387 -13
- package/dist/sync/policies/compare.js.map +1 -1
- package/dist/sync/policies/index.cjs +76 -65
- package/dist/sync/policies/index.cjs.map +1 -1
- package/dist/sync/policies/index.d.cts +35 -6
- package/dist/sync/policies/index.d.cts.map +1 -1
- package/dist/sync/policies/index.d.ts +35 -6
- package/dist/sync/policies/index.d.ts.map +1 -1
- package/dist/sync/policies/index.js +76 -65
- package/dist/sync/policies/index.js.map +1 -1
- package/dist/sync/prefix.cjs +96 -0
- package/dist/sync/prefix.cjs.map +1 -0
- package/dist/sync/prefix.d.cts +55 -0
- package/dist/sync/prefix.d.cts.map +1 -0
- package/dist/sync/prefix.d.ts +55 -0
- package/dist/sync/prefix.d.ts.map +1 -0
- package/dist/sync/prefix.js +92 -0
- package/dist/sync/prefix.js.map +1 -0
- package/dist/sync/regexp-safety.cjs +192 -0
- package/dist/sync/regexp-safety.cjs.map +1 -0
- package/dist/sync/regexp-safety.d.cts +29 -0
- package/dist/sync/regexp-safety.d.cts.map +1 -0
- package/dist/sync/regexp-safety.d.ts +29 -0
- package/dist/sync/regexp-safety.d.ts.map +1 -0
- package/dist/sync/regexp-safety.js +190 -0
- package/dist/sync/regexp-safety.js.map +1 -0
- package/dist/sync/scan-events.cjs +33 -0
- package/dist/sync/scan-events.cjs.map +1 -0
- package/dist/sync/scan-events.d.cts +17 -0
- package/dist/sync/scan-events.d.cts.map +1 -0
- package/dist/sync/scan-events.d.ts +17 -0
- package/dist/sync/scan-events.d.ts.map +1 -0
- package/dist/sync/scan-events.js +32 -0
- package/dist/sync/scan-events.js.map +1 -0
- package/dist/sync/scan-limit.cjs +33 -0
- package/dist/sync/scan-limit.cjs.map +1 -0
- package/dist/sync/scan-limit.d.cts +21 -0
- package/dist/sync/scan-limit.d.cts.map +1 -0
- package/dist/sync/scan-limit.d.ts +21 -0
- package/dist/sync/scan-limit.d.ts.map +1 -0
- package/dist/sync/scan-limit.js +31 -0
- package/dist/sync/scan-limit.js.map +1 -0
- package/dist/sync/scanners/b2.cjs +239 -55
- package/dist/sync/scanners/b2.cjs.map +1 -1
- package/dist/sync/scanners/b2.d.cts +26 -7
- package/dist/sync/scanners/b2.d.cts.map +1 -1
- package/dist/sync/scanners/b2.d.ts +26 -7
- package/dist/sync/scanners/b2.d.ts.map +1 -1
- package/dist/sync/scanners/b2.js +239 -55
- package/dist/sync/scanners/b2.js.map +1 -1
- package/dist/sync/scanners/local.cjs +215 -56
- package/dist/sync/scanners/local.cjs.map +1 -1
- package/dist/sync/scanners/local.d.cts +22 -7
- package/dist/sync/scanners/local.d.cts.map +1 -1
- package/dist/sync/scanners/local.d.ts +22 -7
- package/dist/sync/scanners/local.d.ts.map +1 -1
- package/dist/sync/scanners/local.js +216 -57
- package/dist/sync/scanners/local.js.map +1 -1
- package/dist/sync/sha1-metadata.cjs +94 -0
- package/dist/sync/sha1-metadata.cjs.map +1 -0
- package/dist/sync/sha1-metadata.d.cts +82 -0
- package/dist/sync/sha1-metadata.d.cts.map +1 -0
- package/dist/sync/sha1-metadata.d.ts +82 -0
- package/dist/sync/sha1-metadata.d.ts.map +1 -0
- package/dist/sync/sha1-metadata.js +89 -0
- package/dist/sync/sha1-metadata.js.map +1 -0
- package/dist/sync/sha1-options.cjs +23 -0
- package/dist/sync/sha1-options.cjs.map +1 -0
- package/dist/sync/sha1-options.d.cts +14 -0
- package/dist/sync/sha1-options.d.cts.map +1 -0
- package/dist/sync/sha1-options.d.ts +14 -0
- package/dist/sync/sha1-options.d.ts.map +1 -0
- package/dist/sync/sha1-options.js +21 -0
- package/dist/sync/sha1-options.js.map +1 -0
- package/dist/sync/synchronizer.cjs +782 -197
- package/dist/sync/synchronizer.cjs.map +1 -1
- package/dist/sync/synchronizer.d.cts +47 -1
- package/dist/sync/synchronizer.d.cts.map +1 -1
- package/dist/sync/synchronizer.d.ts +47 -1
- package/dist/sync/synchronizer.d.ts.map +1 -1
- package/dist/sync/synchronizer.js +779 -173
- package/dist/sync/synchronizer.js.map +1 -1
- package/dist/sync/types.d.cts +208 -16
- package/dist/sync/types.d.cts.map +1 -1
- package/dist/sync/types.d.ts +208 -16
- package/dist/sync/types.d.ts.map +1 -1
- package/dist/types/auth.cjs +76 -56
- package/dist/types/auth.cjs.map +1 -1
- package/dist/types/auth.d.cts +67 -9
- package/dist/types/auth.d.cts.map +1 -1
- package/dist/types/auth.d.ts +67 -9
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/auth.js +77 -57
- package/dist/types/auth.js.map +1 -1
- package/dist/types/bucket.cjs +74 -38
- package/dist/types/bucket.cjs.map +1 -1
- package/dist/types/bucket.js +75 -41
- package/dist/types/bucket.js.map +1 -1
- package/dist/types/encryption.cjs +364 -327
- package/dist/types/encryption.cjs.map +1 -1
- package/dist/types/encryption.d.cts +16 -0
- package/dist/types/encryption.d.cts.map +1 -1
- package/dist/types/encryption.d.ts +16 -0
- package/dist/types/encryption.d.ts.map +1 -1
- package/dist/types/encryption.js +364 -310
- package/dist/types/encryption.js.map +1 -1
- package/dist/types/errors.cjs +47 -0
- package/dist/types/errors.cjs.map +1 -0
- package/dist/types/errors.d.cts +13 -4
- package/dist/types/errors.d.cts.map +1 -1
- package/dist/types/errors.d.ts +13 -4
- package/dist/types/errors.d.ts.map +1 -1
- package/dist/types/errors.js +47 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/file.cjs +36 -19
- package/dist/types/file.cjs.map +1 -1
- package/dist/types/file.d.cts +2 -2
- package/dist/types/file.d.cts.map +1 -1
- package/dist/types/file.d.ts +2 -2
- package/dist/types/file.d.ts.map +1 -1
- package/dist/types/file.js +37 -21
- package/dist/types/file.js.map +1 -1
- package/dist/types/ids.cjs +53 -9
- package/dist/types/ids.cjs.map +1 -1
- package/dist/types/ids.js +54 -15
- package/dist/types/ids.js.map +1 -1
- package/dist/types/index.d.cts +12 -11
- package/dist/types/index.d.cts.map +1 -1
- package/dist/types/index.d.ts +12 -11
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/key.d.cts +44 -8
- package/dist/types/key.d.cts.map +1 -1
- package/dist/types/key.d.ts +44 -8
- package/dist/types/key.d.ts.map +1 -1
- package/dist/types/lock.cjs +33 -13
- package/dist/types/lock.cjs.map +1 -1
- package/dist/types/lock.js +34 -15
- package/dist/types/lock.js.map +1 -1
- package/dist/types/notifications.cjs +44 -22
- package/dist/types/notifications.cjs.map +1 -1
- package/dist/types/notifications.js +45 -23
- package/dist/types/notifications.js.map +1 -1
- package/dist/types/upload.d.cts +39 -5
- package/dist/types/upload.d.cts.map +1 -1
- package/dist/types/upload.d.ts +39 -5
- package/dist/types/upload.d.ts.map +1 -1
- package/dist/upload/abort-scope.cjs +91 -0
- package/dist/upload/abort-scope.cjs.map +1 -0
- package/dist/upload/abort-scope.d.cts +48 -0
- package/dist/upload/abort-scope.d.cts.map +1 -0
- package/dist/upload/abort-scope.d.ts +48 -0
- package/dist/upload/abort-scope.d.ts.map +1 -0
- package/dist/upload/abort-scope.js +88 -0
- package/dist/upload/abort-scope.js.map +1 -0
- package/dist/upload/cancel.cjs +183 -8
- package/dist/upload/cancel.cjs.map +1 -1
- package/dist/upload/cancel.d.cts +110 -2
- package/dist/upload/cancel.d.cts.map +1 -1
- package/dist/upload/cancel.d.ts +110 -2
- package/dist/upload/cancel.d.ts.map +1 -1
- package/dist/upload/cancel.js +178 -9
- package/dist/upload/cancel.js.map +1 -1
- package/dist/upload/concurrency.cjs +79 -52
- package/dist/upload/concurrency.cjs.map +1 -1
- package/dist/upload/concurrency.js +79 -53
- package/dist/upload/concurrency.js.map +1 -1
- package/dist/upload/finish.cjs +59 -0
- package/dist/upload/finish.cjs.map +1 -0
- package/dist/upload/finish.d.cts +26 -0
- package/dist/upload/finish.d.cts.map +1 -0
- package/dist/upload/finish.d.ts +26 -0
- package/dist/upload/finish.d.ts.map +1 -0
- package/dist/upload/finish.js +59 -0
- package/dist/upload/finish.js.map +1 -0
- package/dist/upload/large.cjs +301 -218
- package/dist/upload/large.cjs.map +1 -1
- package/dist/upload/large.d.cts +76 -9
- package/dist/upload/large.d.cts.map +1 -1
- package/dist/upload/large.d.ts +76 -9
- package/dist/upload/large.d.ts.map +1 -1
- package/dist/upload/large.js +301 -218
- package/dist/upload/large.js.map +1 -1
- package/dist/upload/options.cjs +28 -0
- package/dist/upload/options.cjs.map +1 -0
- package/dist/upload/options.d.cts +104 -0
- package/dist/upload/options.d.cts.map +1 -0
- package/dist/upload/options.d.ts +104 -0
- package/dist/upload/options.d.ts.map +1 -0
- package/dist/upload/options.js +27 -0
- package/dist/upload/options.js.map +1 -0
- package/dist/upload/resume.cjs +333 -33
- package/dist/upload/resume.cjs.map +1 -1
- package/dist/upload/resume.d.cts +82 -12
- package/dist/upload/resume.d.cts.map +1 -1
- package/dist/upload/resume.d.ts +82 -12
- package/dist/upload/resume.d.ts.map +1 -1
- package/dist/upload/resume.js +330 -33
- package/dist/upload/resume.js.map +1 -1
- package/dist/upload/retry.cjs +186 -0
- package/dist/upload/retry.cjs.map +1 -0
- package/dist/upload/retry.d.cts +127 -0
- package/dist/upload/retry.d.cts.map +1 -0
- package/dist/upload/retry.d.ts +127 -0
- package/dist/upload/retry.d.ts.map +1 -0
- package/dist/upload/retry.js +182 -0
- package/dist/upload/retry.js.map +1 -0
- package/dist/upload/single.cjs +68 -44
- package/dist/upload/single.cjs.map +1 -1
- package/dist/upload/single.d.cts +2 -1
- package/dist/upload/single.d.cts.map +1 -1
- package/dist/upload/single.d.ts +2 -1
- package/dist/upload/single.d.ts.map +1 -1
- package/dist/upload/single.js +68 -44
- package/dist/upload/single.js.map +1 -1
- package/dist/upload/stream.cjs +317 -193
- package/dist/upload/stream.cjs.map +1 -1
- package/dist/upload/stream.d.cts +3 -1
- package/dist/upload/stream.d.cts.map +1 -1
- package/dist/upload/stream.d.ts +3 -1
- package/dist/upload/stream.d.ts.map +1 -1
- package/dist/upload/stream.js +316 -192
- package/dist/upload/stream.js.map +1 -1
- package/dist/util/best-effort.cjs +42 -8
- package/dist/util/best-effort.cjs.map +1 -1
- package/dist/util/best-effort.d.cts +2 -1
- package/dist/util/best-effort.d.cts.map +1 -1
- package/dist/util/best-effort.d.ts +2 -1
- package/dist/util/best-effort.d.ts.map +1 -1
- package/dist/util/best-effort.js +43 -9
- package/dist/util/best-effort.js.map +1 -1
- package/dist/util/bytes.cjs +23 -0
- package/dist/util/bytes.cjs.map +1 -0
- package/dist/util/bytes.d.cts +15 -0
- package/dist/util/bytes.d.cts.map +1 -0
- package/dist/util/bytes.d.ts +15 -0
- package/dist/util/bytes.d.ts.map +1 -0
- package/dist/util/bytes.js +23 -0
- package/dist/util/bytes.js.map +1 -0
- package/dist/util/crypto.cjs +68 -0
- package/dist/util/crypto.cjs.map +1 -0
- package/dist/util/crypto.d.cts +26 -0
- package/dist/util/crypto.d.cts.map +1 -0
- package/dist/util/crypto.d.ts +26 -0
- package/dist/util/crypto.d.ts.map +1 -0
- package/dist/util/crypto.js +66 -0
- package/dist/util/crypto.js.map +1 -0
- package/dist/util/defaults.cjs +25 -9
- package/dist/util/defaults.cjs.map +1 -1
- package/dist/util/defaults.js +26 -11
- package/dist/util/defaults.js.map +1 -1
- package/dist/util/error-reason.cjs +41 -0
- package/dist/util/error-reason.cjs.map +1 -0
- package/dist/util/error-reason.d.cts +9 -0
- package/dist/util/error-reason.d.cts.map +1 -0
- package/dist/util/error-reason.d.ts +9 -0
- package/dist/util/error-reason.d.ts.map +1 -0
- package/dist/util/error-reason.js +41 -0
- package/dist/util/error-reason.js.map +1 -0
- package/dist/util/http.cjs +23 -0
- package/dist/util/http.cjs.map +1 -0
- package/dist/util/http.d.cts +13 -0
- package/dist/util/http.d.cts.map +1 -0
- package/dist/util/http.d.ts +13 -0
- package/dist/util/http.d.ts.map +1 -0
- package/dist/util/http.js +23 -0
- package/dist/util/http.js.map +1 -0
- package/dist/util/normalize.cjs +66 -7
- package/dist/util/normalize.cjs.map +1 -1
- package/dist/util/normalize.js +67 -10
- package/dist/util/normalize.js.map +1 -1
- package/dist/util/paginator.cjs +63 -14
- package/dist/util/paginator.cjs.map +1 -1
- package/dist/util/paginator.js +64 -16
- package/dist/util/paginator.js.map +1 -1
- package/dist/util/plan-ranges.cjs +47 -22
- package/dist/util/plan-ranges.cjs.map +1 -1
- package/dist/util/plan-ranges.js +48 -24
- package/dist/util/plan-ranges.js.map +1 -1
- package/dist/util/sha1.cjs +27 -0
- package/dist/util/sha1.cjs.map +1 -0
- package/dist/util/sha1.d.cts +17 -0
- package/dist/util/sha1.d.cts.map +1 -0
- package/dist/util/sha1.d.ts +17 -0
- package/dist/util/sha1.d.ts.map +1 -0
- package/dist/util/sha1.js +26 -0
- package/dist/util/sha1.js.map +1 -0
- package/dist/util/text-codec.cjs +29 -5
- package/dist/util/text-codec.cjs.map +1 -1
- package/dist/util/text-codec.js +30 -7
- package/dist/util/text-codec.js.map +1 -1
- package/dist/util/to-error.cjs +18 -4
- package/dist/util/to-error.cjs.map +1 -1
- package/dist/util/to-error.js +19 -5
- package/dist/util/to-error.js.map +1 -1
- package/dist/version.cjs +17 -5
- package/dist/version.cjs.map +1 -1
- package/dist/version.d.cts +3 -3
- package/dist/version.d.ts +3 -3
- package/dist/version.js +19 -6
- package/dist/version.js.map +1 -1
- package/package.json +19 -16
- package/dist/auth/index.cjs.map +0 -1
- package/dist/auth/index.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/notifications/index.cjs.map +0 -1
- package/dist/notifications/index.js.map +0 -1
- package/dist/package.json.cjs +0 -9
- package/dist/package.json.cjs.map +0 -1
- package/dist/package.json.js +0 -9
- package/dist/package.json.js.map +0 -1
- package/dist/streams/index.cjs.map +0 -1
- package/dist/streams/index.js.map +0 -1
- package/dist/sync/index.cjs.map +0 -1
- package/dist/sync/index.js.map +0 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { FileVersion } from '../types/file.js';
|
|
2
|
+
/** Prefix used to mark SHA-1 metadata that must not prove equality without byte verification. */
|
|
3
|
+
export declare const untrustedSha1Prefix = "unverified:";
|
|
4
|
+
/** SHA-1 has not been computed or populated yet. */
|
|
5
|
+
export interface SyncSha1PendingState {
|
|
6
|
+
/** State discriminator. */
|
|
7
|
+
readonly kind: 'pending';
|
|
8
|
+
}
|
|
9
|
+
/** SHA-1 is known to be unavailable for this path. */
|
|
10
|
+
export interface SyncSha1UnavailableState {
|
|
11
|
+
/** State discriminator. */
|
|
12
|
+
readonly kind: 'unavailable';
|
|
13
|
+
}
|
|
14
|
+
/** SHA-1 is a normalized 40-character digest that may prove equality. */
|
|
15
|
+
export interface SyncSha1VerifiedState {
|
|
16
|
+
/** State discriminator. */
|
|
17
|
+
readonly kind: 'verified';
|
|
18
|
+
/** Normalized lowercase 40-character SHA-1 digest. */
|
|
19
|
+
readonly value: string;
|
|
20
|
+
}
|
|
21
|
+
/** SHA-1 metadata is present but cannot prove equality without verification. */
|
|
22
|
+
export interface SyncSha1UntrustedState {
|
|
23
|
+
/** State discriminator. */
|
|
24
|
+
readonly kind: 'untrusted';
|
|
25
|
+
/** Normalized digest when one can be extracted from the raw metadata. */
|
|
26
|
+
readonly value: string | null;
|
|
27
|
+
/** Original metadata string supplied by the scanner or B2 file version. */
|
|
28
|
+
readonly raw: string;
|
|
29
|
+
}
|
|
30
|
+
/** Public SHA-1 state used by sync scanners and low-level compare helpers. */
|
|
31
|
+
export type SyncSha1State = SyncSha1PendingState | SyncSha1UnavailableState | SyncSha1VerifiedState | SyncSha1UntrustedState;
|
|
32
|
+
/**
|
|
33
|
+
* Marks a verifiable SHA-1 digest as untrusted provider metadata.
|
|
34
|
+
*
|
|
35
|
+
* @param sha1 - Verifiable 40-character hexadecimal SHA-1 digest.
|
|
36
|
+
*
|
|
37
|
+
* @returns The untrusted SHA-1 sentinel value.
|
|
38
|
+
*
|
|
39
|
+
* @throws When the supplied value is not a verifiable SHA-1 digest.
|
|
40
|
+
*/
|
|
41
|
+
export declare function untrustedSha1(sha1: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Extracts the best comparable SHA-1 value from a B2 file version.
|
|
44
|
+
*
|
|
45
|
+
* B2's primary `contentSha1` is authoritative for single-part uploads when it is a verifiable
|
|
46
|
+
* digest. Large/multipart B2 files report `contentSha1: null`; `fileInfo.large_file_sha1` is
|
|
47
|
+
* caller-provided metadata, so it is returned as an untrusted hint that cannot prove equality
|
|
48
|
+
* until the high-level synchronizer hashes the selected version's bytes.
|
|
49
|
+
*
|
|
50
|
+
* @param version - B2 file version metadata.
|
|
51
|
+
*
|
|
52
|
+
* @returns A lowercase comparable SHA-1, an untrusted sentinel, or null when unavailable.
|
|
53
|
+
*/
|
|
54
|
+
export declare function selectB2ComparableSha1(version: FileVersion): string | null;
|
|
55
|
+
/**
|
|
56
|
+
* Returns whether a SHA-1 value is marked as untrusted metadata.
|
|
57
|
+
*
|
|
58
|
+
* @param sha1 - Candidate SHA-1 metadata.
|
|
59
|
+
*
|
|
60
|
+
* @returns True when the value carries B2's unverified sentinel prefix.
|
|
61
|
+
*/
|
|
62
|
+
export declare function isUntrustedSha1(sha1: string | null | undefined): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Parses the public `SyncPath.contentSha1` value into an explicit trust/availability state.
|
|
65
|
+
*
|
|
66
|
+
* @param sha1 - The raw `contentSha1` field from a sync path.
|
|
67
|
+
*
|
|
68
|
+
* @returns A discriminated state so custom scanners do not need to decode sentinels directly.
|
|
69
|
+
*/
|
|
70
|
+
export declare function parseSyncContentSha1(sha1: string | null | undefined): SyncSha1State;
|
|
71
|
+
/**
|
|
72
|
+
* Reads an explicit SHA-1 state when present, otherwise parses the compatibility field.
|
|
73
|
+
*
|
|
74
|
+
* @param path - Object carrying SHA-1 metadata.
|
|
75
|
+
*
|
|
76
|
+
* @returns The explicit or parsed SHA-1 state.
|
|
77
|
+
*/
|
|
78
|
+
export declare function syncSha1StateOf(path: {
|
|
79
|
+
readonly contentSha1?: string | null;
|
|
80
|
+
readonly contentSha1State?: SyncSha1State;
|
|
81
|
+
}): SyncSha1State;
|
|
82
|
+
//# sourceMappingURL=sha1-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sha1-metadata.d.ts","sourceRoot":"","sources":["../../src/sync/sha1-metadata.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,gBAAgB,CAAA;AAEhD,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB;AAED,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAC7B;AAED,yEAAyE;AACzE,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GACrB,oBAAoB,GACpB,wBAAwB,GACxB,qBAAqB,GACrB,sBAAsB,CAAA;AAE1B;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,CAanF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAA;CAC1C,GAAG,aAAa,CAEhB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { FileVersion } from '../types/file.js';
|
|
2
|
+
/** Prefix used to mark SHA-1 metadata that must not prove equality without byte verification. */
|
|
3
|
+
export declare const untrustedSha1Prefix = "unverified:";
|
|
4
|
+
/** SHA-1 has not been computed or populated yet. */
|
|
5
|
+
export interface SyncSha1PendingState {
|
|
6
|
+
/** State discriminator. */
|
|
7
|
+
readonly kind: 'pending';
|
|
8
|
+
}
|
|
9
|
+
/** SHA-1 is known to be unavailable for this path. */
|
|
10
|
+
export interface SyncSha1UnavailableState {
|
|
11
|
+
/** State discriminator. */
|
|
12
|
+
readonly kind: 'unavailable';
|
|
13
|
+
}
|
|
14
|
+
/** SHA-1 is a normalized 40-character digest that may prove equality. */
|
|
15
|
+
export interface SyncSha1VerifiedState {
|
|
16
|
+
/** State discriminator. */
|
|
17
|
+
readonly kind: 'verified';
|
|
18
|
+
/** Normalized lowercase 40-character SHA-1 digest. */
|
|
19
|
+
readonly value: string;
|
|
20
|
+
}
|
|
21
|
+
/** SHA-1 metadata is present but cannot prove equality without verification. */
|
|
22
|
+
export interface SyncSha1UntrustedState {
|
|
23
|
+
/** State discriminator. */
|
|
24
|
+
readonly kind: 'untrusted';
|
|
25
|
+
/** Normalized digest when one can be extracted from the raw metadata. */
|
|
26
|
+
readonly value: string | null;
|
|
27
|
+
/** Original metadata string supplied by the scanner or B2 file version. */
|
|
28
|
+
readonly raw: string;
|
|
29
|
+
}
|
|
30
|
+
/** Public SHA-1 state used by sync scanners and low-level compare helpers. */
|
|
31
|
+
export type SyncSha1State = SyncSha1PendingState | SyncSha1UnavailableState | SyncSha1VerifiedState | SyncSha1UntrustedState;
|
|
32
|
+
/**
|
|
33
|
+
* Marks a verifiable SHA-1 digest as untrusted provider metadata.
|
|
34
|
+
*
|
|
35
|
+
* @param sha1 - Verifiable 40-character hexadecimal SHA-1 digest.
|
|
36
|
+
*
|
|
37
|
+
* @returns The untrusted SHA-1 sentinel value.
|
|
38
|
+
*
|
|
39
|
+
* @throws When the supplied value is not a verifiable SHA-1 digest.
|
|
40
|
+
*/
|
|
41
|
+
export declare function untrustedSha1(sha1: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Extracts the best comparable SHA-1 value from a B2 file version.
|
|
44
|
+
*
|
|
45
|
+
* B2's primary `contentSha1` is authoritative for single-part uploads when it is a verifiable
|
|
46
|
+
* digest. Large/multipart B2 files report `contentSha1: null`; `fileInfo.large_file_sha1` is
|
|
47
|
+
* caller-provided metadata, so it is returned as an untrusted hint that cannot prove equality
|
|
48
|
+
* until the high-level synchronizer hashes the selected version's bytes.
|
|
49
|
+
*
|
|
50
|
+
* @param version - B2 file version metadata.
|
|
51
|
+
*
|
|
52
|
+
* @returns A lowercase comparable SHA-1, an untrusted sentinel, or null when unavailable.
|
|
53
|
+
*/
|
|
54
|
+
export declare function selectB2ComparableSha1(version: FileVersion): string | null;
|
|
55
|
+
/**
|
|
56
|
+
* Returns whether a SHA-1 value is marked as untrusted metadata.
|
|
57
|
+
*
|
|
58
|
+
* @param sha1 - Candidate SHA-1 metadata.
|
|
59
|
+
*
|
|
60
|
+
* @returns True when the value carries B2's unverified sentinel prefix.
|
|
61
|
+
*/
|
|
62
|
+
export declare function isUntrustedSha1(sha1: string | null | undefined): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Parses the public `SyncPath.contentSha1` value into an explicit trust/availability state.
|
|
65
|
+
*
|
|
66
|
+
* @param sha1 - The raw `contentSha1` field from a sync path.
|
|
67
|
+
*
|
|
68
|
+
* @returns A discriminated state so custom scanners do not need to decode sentinels directly.
|
|
69
|
+
*/
|
|
70
|
+
export declare function parseSyncContentSha1(sha1: string | null | undefined): SyncSha1State;
|
|
71
|
+
/**
|
|
72
|
+
* Reads an explicit SHA-1 state when present, otherwise parses the compatibility field.
|
|
73
|
+
*
|
|
74
|
+
* @param path - Object carrying SHA-1 metadata.
|
|
75
|
+
*
|
|
76
|
+
* @returns The explicit or parsed SHA-1 state.
|
|
77
|
+
*/
|
|
78
|
+
export declare function syncSha1StateOf(path: {
|
|
79
|
+
readonly contentSha1?: string | null;
|
|
80
|
+
readonly contentSha1State?: SyncSha1State;
|
|
81
|
+
}): SyncSha1State;
|
|
82
|
+
//# sourceMappingURL=sha1-metadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sha1-metadata.d.ts","sourceRoot":"","sources":["../../src/sync/sha1-metadata.js"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAGnD,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,gBAAgB,CAAA;AAEhD,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB;AAED,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAC7B;AAED,yEAAyE;AACzE,MAAM,WAAW,qBAAqB;IACpC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;IACzB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GACrB,oBAAoB,GACpB,wBAAwB,GACxB,qBAAqB,GACrB,sBAAsB,CAAA;AAE1B;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAExE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,aAAa,CAanF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,aAAa,CAAA;CAC1C,GAAG,aAAa,CAEhB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { normalizeVerifiableSha1 } from "../util/sha1.js";
|
|
2
|
+
//#region src/sync/sha1-metadata.ts
|
|
3
|
+
/** Prefix used to mark SHA-1 metadata that must not prove equality without byte verification. */
|
|
4
|
+
var untrustedSha1Prefix = "unverified:";
|
|
5
|
+
/**
|
|
6
|
+
* Marks a verifiable SHA-1 digest as untrusted provider metadata.
|
|
7
|
+
*
|
|
8
|
+
* @param sha1 - Verifiable 40-character hexadecimal SHA-1 digest.
|
|
9
|
+
*
|
|
10
|
+
* @returns The untrusted SHA-1 sentinel value.
|
|
11
|
+
*
|
|
12
|
+
* @throws When the supplied value is not a verifiable SHA-1 digest.
|
|
13
|
+
*/
|
|
14
|
+
function untrustedSha1(sha1) {
|
|
15
|
+
const normalized = normalizeVerifiableSha1(sha1);
|
|
16
|
+
if (normalized === null) throw new Error("untrusted SHA-1 metadata must be verifiable");
|
|
17
|
+
return `${untrustedSha1Prefix}${normalized}`;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Extracts the best comparable SHA-1 value from a B2 file version.
|
|
21
|
+
*
|
|
22
|
+
* B2's primary `contentSha1` is authoritative for single-part uploads when it is a verifiable
|
|
23
|
+
* digest. Large/multipart B2 files report `contentSha1: null`; `fileInfo.large_file_sha1` is
|
|
24
|
+
* caller-provided metadata, so it is returned as an untrusted hint that cannot prove equality
|
|
25
|
+
* until the high-level synchronizer hashes the selected version's bytes.
|
|
26
|
+
*
|
|
27
|
+
* @param version - B2 file version metadata.
|
|
28
|
+
*
|
|
29
|
+
* @returns A lowercase comparable SHA-1, an untrusted sentinel, or null when unavailable.
|
|
30
|
+
*/
|
|
31
|
+
function selectB2ComparableSha1(version) {
|
|
32
|
+
const originalContentSha1 = version.contentSha1;
|
|
33
|
+
if (typeof originalContentSha1 === "string") {
|
|
34
|
+
if (isUntrustedSha1(originalContentSha1)) return originalContentSha1.toLowerCase();
|
|
35
|
+
return normalizeVerifiableSha1(originalContentSha1) ?? originalContentSha1.toLowerCase();
|
|
36
|
+
}
|
|
37
|
+
const largeFileSha1 = normalizeVerifiableSha1(version.fileInfo["large_file_sha1"]);
|
|
38
|
+
return largeFileSha1 === null ? null : untrustedSha1(largeFileSha1);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Returns whether a SHA-1 value is marked as untrusted metadata.
|
|
42
|
+
*
|
|
43
|
+
* @param sha1 - Candidate SHA-1 metadata.
|
|
44
|
+
*
|
|
45
|
+
* @returns True when the value carries B2's unverified sentinel prefix.
|
|
46
|
+
*/
|
|
47
|
+
function isUntrustedSha1(sha1) {
|
|
48
|
+
return sha1?.toLowerCase().startsWith("unverified:") ?? false;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Parses the public `SyncPath.contentSha1` value into an explicit trust/availability state.
|
|
52
|
+
*
|
|
53
|
+
* @param sha1 - The raw `contentSha1` field from a sync path.
|
|
54
|
+
*
|
|
55
|
+
* @returns A discriminated state so custom scanners do not need to decode sentinels directly.
|
|
56
|
+
*/
|
|
57
|
+
function parseSyncContentSha1(sha1) {
|
|
58
|
+
if (sha1 === void 0) return { kind: "pending" };
|
|
59
|
+
if (sha1 === null) return { kind: "unavailable" };
|
|
60
|
+
if (isUntrustedSha1(sha1)) return {
|
|
61
|
+
kind: "untrusted",
|
|
62
|
+
raw: sha1,
|
|
63
|
+
value: normalizeVerifiableSha1(sha1.slice(11))
|
|
64
|
+
};
|
|
65
|
+
const normalized = normalizeVerifiableSha1(sha1);
|
|
66
|
+
if (normalized === null) return {
|
|
67
|
+
kind: "untrusted",
|
|
68
|
+
raw: sha1,
|
|
69
|
+
value: null
|
|
70
|
+
};
|
|
71
|
+
return {
|
|
72
|
+
kind: "verified",
|
|
73
|
+
value: normalized
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Reads an explicit SHA-1 state when present, otherwise parses the compatibility field.
|
|
78
|
+
*
|
|
79
|
+
* @param path - Object carrying SHA-1 metadata.
|
|
80
|
+
*
|
|
81
|
+
* @returns The explicit or parsed SHA-1 state.
|
|
82
|
+
*/
|
|
83
|
+
function syncSha1StateOf(path) {
|
|
84
|
+
return path.contentSha1State ?? parseSyncContentSha1(path.contentSha1);
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
export { isUntrustedSha1, parseSyncContentSha1, selectB2ComparableSha1, syncSha1StateOf, untrustedSha1, untrustedSha1Prefix };
|
|
88
|
+
|
|
89
|
+
//# sourceMappingURL=sha1-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sha1-metadata.js","names":[],"sources":["../../src/sync/sha1-metadata.ts"],"sourcesContent":["import type { FileVersion } from '../types/file.ts'\nimport { normalizeVerifiableSha1 } from '../util/sha1.ts'\n\n/** Prefix used to mark SHA-1 metadata that must not prove equality without byte verification. */\nexport const untrustedSha1Prefix = 'unverified:'\n\n/** SHA-1 has not been computed or populated yet. */\nexport interface SyncSha1PendingState {\n /** State discriminator. */\n readonly kind: 'pending'\n}\n\n/** SHA-1 is known to be unavailable for this path. */\nexport interface SyncSha1UnavailableState {\n /** State discriminator. */\n readonly kind: 'unavailable'\n}\n\n/** SHA-1 is a normalized 40-character digest that may prove equality. */\nexport interface SyncSha1VerifiedState {\n /** State discriminator. */\n readonly kind: 'verified'\n /** Normalized lowercase 40-character SHA-1 digest. */\n readonly value: string\n}\n\n/** SHA-1 metadata is present but cannot prove equality without verification. */\nexport interface SyncSha1UntrustedState {\n /** State discriminator. */\n readonly kind: 'untrusted'\n /** Normalized digest when one can be extracted from the raw metadata. */\n readonly value: string | null\n /** Original metadata string supplied by the scanner or B2 file version. */\n readonly raw: string\n}\n\n/** Public SHA-1 state used by sync scanners and low-level compare helpers. */\nexport type SyncSha1State =\n | SyncSha1PendingState\n | SyncSha1UnavailableState\n | SyncSha1VerifiedState\n | SyncSha1UntrustedState\n\n/**\n * Marks a verifiable SHA-1 digest as untrusted provider metadata.\n *\n * @param sha1 - Verifiable 40-character hexadecimal SHA-1 digest.\n *\n * @returns The untrusted SHA-1 sentinel value.\n *\n * @throws When the supplied value is not a verifiable SHA-1 digest.\n */\nexport function untrustedSha1(sha1: string): string {\n const normalized = normalizeVerifiableSha1(sha1)\n if (normalized === null) throw new Error('untrusted SHA-1 metadata must be verifiable')\n return `${untrustedSha1Prefix}${normalized}`\n}\n\n/**\n * Extracts the best comparable SHA-1 value from a B2 file version.\n *\n * B2's primary `contentSha1` is authoritative for single-part uploads when it is a verifiable\n * digest. Large/multipart B2 files report `contentSha1: null`; `fileInfo.large_file_sha1` is\n * caller-provided metadata, so it is returned as an untrusted hint that cannot prove equality\n * until the high-level synchronizer hashes the selected version's bytes.\n *\n * @param version - B2 file version metadata.\n *\n * @returns A lowercase comparable SHA-1, an untrusted sentinel, or null when unavailable.\n */\nexport function selectB2ComparableSha1(version: FileVersion): string | null {\n const originalContentSha1 = version.contentSha1\n if (typeof originalContentSha1 === 'string') {\n if (isUntrustedSha1(originalContentSha1)) return originalContentSha1.toLowerCase()\n const contentSha1 = normalizeVerifiableSha1(originalContentSha1)\n return contentSha1 ?? originalContentSha1.toLowerCase()\n }\n\n const largeFileSha1 = normalizeVerifiableSha1(version.fileInfo['large_file_sha1'])\n return largeFileSha1 === null ? null : untrustedSha1(largeFileSha1)\n}\n\n/**\n * Returns whether a SHA-1 value is marked as untrusted metadata.\n *\n * @param sha1 - Candidate SHA-1 metadata.\n *\n * @returns True when the value carries B2's unverified sentinel prefix.\n */\nexport function isUntrustedSha1(sha1: string | null | undefined): boolean {\n return sha1?.toLowerCase().startsWith(untrustedSha1Prefix) ?? false\n}\n\n/**\n * Parses the public `SyncPath.contentSha1` value into an explicit trust/availability state.\n *\n * @param sha1 - The raw `contentSha1` field from a sync path.\n *\n * @returns A discriminated state so custom scanners do not need to decode sentinels directly.\n */\nexport function parseSyncContentSha1(sha1: string | null | undefined): SyncSha1State {\n if (sha1 === undefined) return { kind: 'pending' }\n if (sha1 === null) return { kind: 'unavailable' }\n if (isUntrustedSha1(sha1)) {\n return {\n kind: 'untrusted',\n raw: sha1,\n value: normalizeVerifiableSha1(sha1.slice(untrustedSha1Prefix.length)),\n }\n }\n const normalized = normalizeVerifiableSha1(sha1)\n if (normalized === null) return { kind: 'untrusted', raw: sha1, value: null }\n return { kind: 'verified', value: normalized }\n}\n\n/**\n * Reads an explicit SHA-1 state when present, otherwise parses the compatibility field.\n *\n * @param path - Object carrying SHA-1 metadata.\n *\n * @returns The explicit or parsed SHA-1 state.\n */\nexport function syncSha1StateOf(path: {\n readonly contentSha1?: string | null\n readonly contentSha1State?: SyncSha1State\n}): SyncSha1State {\n return path.contentSha1State ?? parseSyncContentSha1(path.contentSha1)\n}\n"],"mappings":";;;AAIA,IAAa,sBAAsB;;;;;;;;;;AAgDnC,SAAgB,cAAc,MAAsB;CAClD,MAAM,aAAa,wBAAwB,IAAI;CAC/C,IAAI,eAAe,MAAM,MAAM,IAAI,MAAM,6CAA6C;CACtF,OAAO,GAAG,sBAAsB;AAClC;;;;;;;;;;;;;AAcA,SAAgB,uBAAuB,SAAqC;CAC1E,MAAM,sBAAsB,QAAQ;CACpC,IAAI,OAAO,wBAAwB,UAAU;EAC3C,IAAI,gBAAgB,mBAAmB,GAAG,OAAO,oBAAoB,YAAY;EAEjF,OADoB,wBAAwB,mBACrC,KAAe,oBAAoB,YAAY;CACxD;CAEA,MAAM,gBAAgB,wBAAwB,QAAQ,SAAS,kBAAkB;CACjF,OAAO,kBAAkB,OAAO,OAAO,cAAc,aAAa;AACpE;;;;;;;;AASA,SAAgB,gBAAgB,MAA0C;CACxE,OAAO,MAAM,YAAY,CAAC,CAAC,WAAA,aAA8B,KAAK;AAChE;;;;;;;;AASA,SAAgB,qBAAqB,MAAgD;CACnF,IAAI,SAAS,KAAA,GAAW,OAAO,EAAE,MAAM,UAAU;CACjD,IAAI,SAAS,MAAM,OAAO,EAAE,MAAM,cAAc;CAChD,IAAI,gBAAgB,IAAI,GACtB,OAAO;EACL,MAAM;EACN,KAAK;EACL,OAAO,wBAAwB,KAAK,MAAM,EAA0B,CAAC;CACvE;CAEF,MAAM,aAAa,wBAAwB,IAAI;CAC/C,IAAI,eAAe,MAAM,OAAO;EAAE,MAAM;EAAa,KAAK;EAAM,OAAO;CAAK;CAC5E,OAAO;EAAE,MAAM;EAAY,OAAO;CAAW;AAC/C;;;;;;;;AASA,SAAgB,gBAAgB,MAGd;CAChB,OAAO,KAAK,oBAAoB,qBAAqB,KAAK,WAAW;AACvE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/sync/sha1-options.ts
|
|
2
|
+
/** Default idle/no-progress timeout for SHA-1 reads. */
|
|
3
|
+
var DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 3e4;
|
|
4
|
+
/** Default absolute deadline for one untrusted B2 SHA-1 verification read. */
|
|
5
|
+
var DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 3e5;
|
|
6
|
+
/**
|
|
7
|
+
* Normalizes a user-provided SHA-1 timeout value.
|
|
8
|
+
*
|
|
9
|
+
* @param value - Optional timeout in milliseconds.
|
|
10
|
+
* @param defaultValue - Default timeout when the value is missing or invalid.
|
|
11
|
+
*
|
|
12
|
+
* @returns A positive integer timeout in milliseconds.
|
|
13
|
+
*/
|
|
14
|
+
function normalizeSha1TimeoutMillis(value, defaultValue = DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS) {
|
|
15
|
+
if (value === void 0 || !Number.isFinite(value) || value < 1) return defaultValue;
|
|
16
|
+
return Math.floor(value);
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
exports.DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS;
|
|
20
|
+
exports.DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS;
|
|
21
|
+
exports.normalizeSha1TimeoutMillis = normalizeSha1TimeoutMillis;
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=sha1-options.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sha1-options.cjs","names":[],"sources":["../../src/sync/sha1-options.ts"],"sourcesContent":["/** Default idle/no-progress timeout for SHA-1 reads. */\nexport const DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 30_000\n\n/** Default absolute deadline for one untrusted B2 SHA-1 verification read. */\nexport const DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 300_000\n\n/**\n * Normalizes a user-provided SHA-1 timeout value.\n *\n * @param value - Optional timeout in milliseconds.\n * @param defaultValue - Default timeout when the value is missing or invalid.\n *\n * @returns A positive integer timeout in milliseconds.\n */\nexport function normalizeSha1TimeoutMillis(\n value: number | undefined,\n defaultValue = DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS,\n): number {\n if (value === undefined || !Number.isFinite(value) || value < 1) {\n return defaultValue\n }\n return Math.floor(value)\n}\n"],"mappings":";;AACA,IAAa,mCAAmC;;AAGhD,IAAa,2CAA2C;;;;;;;;;AAUxD,SAAgB,2BACd,OACA,eAAe,kCACP;CACR,IAAI,UAAU,KAAA,KAAa,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ,GAC5D,OAAO;CAET,OAAO,KAAK,MAAM,KAAK;AACzB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Default idle/no-progress timeout for SHA-1 reads. */
|
|
2
|
+
export declare const DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 30000;
|
|
3
|
+
/** Default absolute deadline for one untrusted B2 SHA-1 verification read. */
|
|
4
|
+
export declare const DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 300000;
|
|
5
|
+
/**
|
|
6
|
+
* Normalizes a user-provided SHA-1 timeout value.
|
|
7
|
+
*
|
|
8
|
+
* @param value - Optional timeout in milliseconds.
|
|
9
|
+
* @param defaultValue - Default timeout when the value is missing or invalid.
|
|
10
|
+
*
|
|
11
|
+
* @returns A positive integer timeout in milliseconds.
|
|
12
|
+
*/
|
|
13
|
+
export declare function normalizeSha1TimeoutMillis(value: number | undefined, defaultValue?: number): number;
|
|
14
|
+
//# sourceMappingURL=sha1-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sha1-options.d.ts","sourceRoot":"","sources":["../../src/sync/sha1-options.js"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAO,MAAM,gCAAgC,QAAS,CAAA;AAEtD,8EAA8E;AAC9E,eAAO,MAAM,wCAAwC,SAAU,CAAA;AAE/D;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,YAAY,SAAmC,GAC9C,MAAM,CAKR"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Default idle/no-progress timeout for SHA-1 reads. */
|
|
2
|
+
export declare const DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 30000;
|
|
3
|
+
/** Default absolute deadline for one untrusted B2 SHA-1 verification read. */
|
|
4
|
+
export declare const DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 300000;
|
|
5
|
+
/**
|
|
6
|
+
* Normalizes a user-provided SHA-1 timeout value.
|
|
7
|
+
*
|
|
8
|
+
* @param value - Optional timeout in milliseconds.
|
|
9
|
+
* @param defaultValue - Default timeout when the value is missing or invalid.
|
|
10
|
+
*
|
|
11
|
+
* @returns A positive integer timeout in milliseconds.
|
|
12
|
+
*/
|
|
13
|
+
export declare function normalizeSha1TimeoutMillis(value: number | undefined, defaultValue?: number): number;
|
|
14
|
+
//# sourceMappingURL=sha1-options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sha1-options.d.ts","sourceRoot":"","sources":["../../src/sync/sha1-options.js"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,eAAO,MAAM,gCAAgC,QAAS,CAAA;AAEtD,8EAA8E;AAC9E,eAAO,MAAM,wCAAwC,SAAU,CAAA;AAE/D;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,YAAY,SAAmC,GAC9C,MAAM,CAKR"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/sync/sha1-options.ts
|
|
2
|
+
/** Default idle/no-progress timeout for SHA-1 reads. */
|
|
3
|
+
var DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 3e4;
|
|
4
|
+
/** Default absolute deadline for one untrusted B2 SHA-1 verification read. */
|
|
5
|
+
var DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 3e5;
|
|
6
|
+
/**
|
|
7
|
+
* Normalizes a user-provided SHA-1 timeout value.
|
|
8
|
+
*
|
|
9
|
+
* @param value - Optional timeout in milliseconds.
|
|
10
|
+
* @param defaultValue - Default timeout when the value is missing or invalid.
|
|
11
|
+
*
|
|
12
|
+
* @returns A positive integer timeout in milliseconds.
|
|
13
|
+
*/
|
|
14
|
+
function normalizeSha1TimeoutMillis(value, defaultValue = DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS) {
|
|
15
|
+
if (value === void 0 || !Number.isFinite(value) || value < 1) return defaultValue;
|
|
16
|
+
return Math.floor(value);
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS, DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS, normalizeSha1TimeoutMillis };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=sha1-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sha1-options.js","names":[],"sources":["../../src/sync/sha1-options.ts"],"sourcesContent":["/** Default idle/no-progress timeout for SHA-1 reads. */\nexport const DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS = 30_000\n\n/** Default absolute deadline for one untrusted B2 SHA-1 verification read. */\nexport const DEFAULT_SHA1_VERIFICATION_TIMEOUT_MILLIS = 300_000\n\n/**\n * Normalizes a user-provided SHA-1 timeout value.\n *\n * @param value - Optional timeout in milliseconds.\n * @param defaultValue - Default timeout when the value is missing or invalid.\n *\n * @returns A positive integer timeout in milliseconds.\n */\nexport function normalizeSha1TimeoutMillis(\n value: number | undefined,\n defaultValue = DEFAULT_SHA1_IDLE_TIMEOUT_MILLIS,\n): number {\n if (value === undefined || !Number.isFinite(value) || value < 1) {\n return defaultValue\n }\n return Math.floor(value)\n}\n"],"mappings":";;AACA,IAAa,mCAAmC;;AAGhD,IAAa,2CAA2C;;;;;;;;;AAUxD,SAAgB,2BACd,OACA,eAAe,kCACP;CACR,IAAI,UAAU,KAAA,KAAa,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ,GAC5D,OAAO;CAET,OAAO,KAAK,MAAM,KAAK;AACzB"}
|