@nats-io/obj 3.0.0-9 → 3.0.0-RC2

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/README.md CHANGED
@@ -1,3 +1,14 @@
1
+ [![License](https://img.shields.io/badge/Licence-Apache%202.0-blue.svg)](./LICENSE)
2
+ ![jetstream](https://github.com/nats-io/nats.js/actions/workflows/obj.yml/badge.svg)
3
+ [![JSDoc](https://img.shields.io/badge/JSDoc-reference-blue)](https://nats-io.github.io/nats.js/obj/index.html)
4
+
5
+ [![JSR](https://jsr.io/badges/@nats-io/kv)](https://jsr.io/@nats-io/obj)
6
+ [![JSR](https://jsr.io/badges/@nats-io/kv/score)](https://jsr.io/@nats-io/obj)
7
+
8
+ [![NPM Version](https://img.shields.io/npm/v/%40nats-io%2Fobj)](https://www.npmjs.com/package/@nats-io/obj)
9
+ ![NPM Downloads](https://img.shields.io/npm/dt/%40nats-io%2Fobj)
10
+ ![NPM Downloads](https://img.shields.io/npm/dm/%40nats-io%2Fobj)
11
+
1
12
  # Obj
2
13
 
3
14
  The obj module implements the NATS ObjectStore functionality using JetStream for
@@ -76,7 +87,6 @@ const objm = new Objm(js);
76
87
  ```
77
88
 
78
89
  ```typescript
79
- const sc = StringCodec();
80
90
  // create the named ObjectStore or bind to it if it exists:
81
91
  const objm = new Objm(nc);
82
92
  const os = await objm.create("testing", { storage: StorageType.File });
@@ -0,0 +1,16 @@
1
+ export declare class Base64Codec {
2
+ static encode(bytes: string | Uint8Array): string;
3
+ static decode(s: string, binary?: boolean): Uint8Array | string;
4
+ }
5
+ export declare class Base64UrlCodec {
6
+ static encode(bytes: string | Uint8Array): string;
7
+ static decode(s: string, binary?: boolean): Uint8Array | string;
8
+ static toB64URLEncoding(b64str: string): string;
9
+ static fromB64URLEncoding(b64str: string): string;
10
+ }
11
+ export declare class Base64UrlPaddedCodec {
12
+ static encode(bytes: string | Uint8Array): string;
13
+ static decode(s: string, binary?: boolean): Uint8Array | string;
14
+ static toB64URLEncoding(b64str: string): string;
15
+ static fromB64URLEncoding(b64str: string): string;
16
+ }
package/lib/base64.js ADDED
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Base64UrlPaddedCodec = exports.Base64UrlCodec = exports.Base64Codec = void 0;
4
+ class Base64Codec {
5
+ static encode(bytes) {
6
+ if (typeof bytes === "string") {
7
+ return btoa(bytes);
8
+ }
9
+ const a = Array.from(bytes);
10
+ return btoa(String.fromCharCode(...a));
11
+ }
12
+ static decode(s, binary = false) {
13
+ const bin = atob(s);
14
+ if (!binary) {
15
+ return bin;
16
+ }
17
+ return Uint8Array.from(bin, (c) => c.charCodeAt(0));
18
+ }
19
+ }
20
+ exports.Base64Codec = Base64Codec;
21
+ class Base64UrlCodec {
22
+ static encode(bytes) {
23
+ return Base64UrlCodec.toB64URLEncoding(Base64Codec.encode(bytes));
24
+ }
25
+ static decode(s, binary = false) {
26
+ return Base64Codec.decode(Base64UrlCodec.fromB64URLEncoding(s), binary);
27
+ }
28
+ static toB64URLEncoding(b64str) {
29
+ return b64str
30
+ .replace(/=/g, "")
31
+ .replace(/\+/g, "-")
32
+ .replace(/\//g, "_");
33
+ }
34
+ static fromB64URLEncoding(b64str) {
35
+ // pads are % 4, but not necessary on decoding
36
+ return b64str
37
+ .replace(/_/g, "/")
38
+ .replace(/-/g, "+");
39
+ }
40
+ }
41
+ exports.Base64UrlCodec = Base64UrlCodec;
42
+ class Base64UrlPaddedCodec {
43
+ static encode(bytes) {
44
+ return Base64UrlPaddedCodec.toB64URLEncoding(Base64Codec.encode(bytes));
45
+ }
46
+ static decode(s, binary = false) {
47
+ return Base64UrlCodec.decode(Base64UrlPaddedCodec.fromB64URLEncoding(s), binary);
48
+ }
49
+ static toB64URLEncoding(b64str) {
50
+ return b64str
51
+ .replace(/\+/g, "-")
52
+ .replace(/\//g, "_");
53
+ }
54
+ static fromB64URLEncoding(b64str) {
55
+ // pads are % 4, but not necessary on decoding
56
+ return b64str
57
+ .replace(/_/g, "/")
58
+ .replace(/-/g, "+");
59
+ }
60
+ }
61
+ exports.Base64UrlPaddedCodec = Base64UrlPaddedCodec;
62
+ //# sourceMappingURL=base64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base64.js","sourceRoot":"","sources":["../build/src/base64.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACtB,MAAM,CAAC,MAAM,CAAC,KAA0B;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,CAAS,EAAE,MAAM,GAAG,KAAK;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;CACF;AAhBD,kCAgBC;AAED,MAAa,cAAc;IACzB,MAAM,CAAC,MAAM,CAAC,KAA0B;QACtC,OAAO,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,CAAS,EAAE,MAAM,GAAG,KAAK;QACrC,OAAO,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc;QACpC,OAAO,MAAM;aACV,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;aACjB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAAc;QACtC,8CAA8C;QAC9C,OAAO,MAAM;aACV,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;CACF;AAtBD,wCAsBC;AAED,MAAa,oBAAoB;IAC/B,MAAM,CAAC,MAAM,CAAC,KAA0B;QACtC,OAAO,oBAAoB,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,CAAS,EAAE,MAAM,GAAG,KAAK;QACrC,OAAO,cAAc,CAAC,MAAM,CAC1B,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAC1C,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAc;QACpC,OAAO,MAAM;aACV,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;aACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,MAAc;QACtC,8CAA8C;QAC9C,OAAO,MAAM;aACV,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;aAClB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxB,CAAC;CACF;AAxBD,oDAwBC"}
@@ -1,3 +1,4 @@
1
- export type { ObjectInfo, ObjectResult, ObjectStore, ObjectStoreLink, ObjectStoreMeta, ObjectStoreMetaOptions, ObjectStoreOptions, ObjectStorePutOpts, ObjectStoreStatus, Placement, } from "./types";
1
+ export type { ObjectInfo, ObjectResult, ObjectStore, ObjectStoreLink, ObjectStoreMeta, ObjectStoreMetaOptions, ObjectStoreOptions, ObjectStorePutOpts, ObjectStoreStatus, ObjectWatchInfo, Placement, } from "./types";
2
2
  export { StorageType } from "./types";
3
3
  export { Objm } from "./objectstore";
4
+ export { Base64Codec, Base64UrlCodec, Base64UrlPaddedCodec } from "./base64";
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Objm = exports.StorageType = void 0;
3
+ exports.Base64UrlPaddedCodec = exports.Base64UrlCodec = exports.Base64Codec = exports.Objm = exports.StorageType = void 0;
4
4
  var types_1 = require("./types");
5
5
  Object.defineProperty(exports, "StorageType", { enumerable: true, get: function () { return types_1.StorageType; } });
6
6
  var objectstore_1 = require("./objectstore");
7
7
  Object.defineProperty(exports, "Objm", { enumerable: true, get: function () { return objectstore_1.Objm; } });
8
+ var base64_1 = require("./base64");
9
+ Object.defineProperty(exports, "Base64Codec", { enumerable: true, get: function () { return base64_1.Base64Codec; } });
10
+ Object.defineProperty(exports, "Base64UrlCodec", { enumerable: true, get: function () { return base64_1.Base64UrlCodec; } });
11
+ Object.defineProperty(exports, "Base64UrlPaddedCodec", { enumerable: true, get: function () { return base64_1.Base64UrlPaddedCodec; } });
8
12
  //# sourceMappingURL=internal_mod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal_mod.js","sourceRoot":"","sources":["../build/src/internal_mod.ts"],"names":[],"mappings":";;;AAaA,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AAEpB,6CAAqC;AAA5B,mGAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"internal_mod.js","sourceRoot":"","sources":["../build/src/internal_mod.ts"],"names":[],"mappings":";;;AAcA,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AAEpB,6CAAqC;AAA5B,mGAAA,IAAI,OAAA;AAEb,mCAA6E;AAApE,qGAAA,WAAW,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,8GAAA,oBAAoB,OAAA"}
package/lib/mod.d.ts CHANGED
@@ -1,3 +1,4 @@
1
- export type { ObjectInfo, ObjectResult, ObjectStore, ObjectStoreLink, ObjectStoreMeta, ObjectStoreMetaOptions, ObjectStoreOptions, ObjectStorePutOpts, ObjectStoreStatus, Placement, } from "./internal_mod";
1
+ export type { ObjectInfo, ObjectResult, ObjectStore, ObjectStoreLink, ObjectStoreMeta, ObjectStoreMetaOptions, ObjectStoreOptions, ObjectStorePutOpts, ObjectStoreStatus, ObjectWatchInfo, Placement, } from "./internal_mod";
2
2
  export { StorageType } from "./internal_mod";
3
- export { Objm } from "./objectstore";
3
+ export { Objm } from "./internal_mod";
4
+ export { Base64Codec, Base64UrlCodec, Base64UrlPaddedCodec, } from "./internal_mod";
package/lib/mod.js CHANGED
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Objm = exports.StorageType = void 0;
3
+ exports.Base64UrlPaddedCodec = exports.Base64UrlCodec = exports.Base64Codec = exports.Objm = exports.StorageType = void 0;
4
4
  var internal_mod_1 = require("./internal_mod");
5
5
  Object.defineProperty(exports, "StorageType", { enumerable: true, get: function () { return internal_mod_1.StorageType; } });
6
- var objectstore_1 = require("./objectstore");
7
- Object.defineProperty(exports, "Objm", { enumerable: true, get: function () { return objectstore_1.Objm; } });
6
+ var internal_mod_2 = require("./internal_mod");
7
+ Object.defineProperty(exports, "Objm", { enumerable: true, get: function () { return internal_mod_2.Objm; } });
8
+ var internal_mod_3 = require("./internal_mod");
9
+ Object.defineProperty(exports, "Base64Codec", { enumerable: true, get: function () { return internal_mod_3.Base64Codec; } });
10
+ Object.defineProperty(exports, "Base64UrlCodec", { enumerable: true, get: function () { return internal_mod_3.Base64UrlCodec; } });
11
+ Object.defineProperty(exports, "Base64UrlPaddedCodec", { enumerable: true, get: function () { return internal_mod_3.Base64UrlPaddedCodec; } });
8
12
  //# sourceMappingURL=mod.js.map
package/lib/mod.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../build/src/mod.ts"],"names":[],"mappings":";;;AAaA,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,6CAAqC;AAA5B,mGAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../build/src/mod.ts"],"names":[],"mappings":";;;AAcA,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AAEpB,+CAAsC;AAA7B,oGAAA,IAAI,OAAA;AAEb,+CAIwB;AAHtB,2GAAA,WAAW,OAAA;AACX,8GAAA,cAAc,OAAA;AACd,oHAAA,oBAAoB,OAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { NatsConnection, QueuedIterator } from "@nats-io/nats-core/internal";
2
2
  import type { JetStreamClient, JetStreamClientImpl, JetStreamManager, Lister, PubAck, PurgeResponse, StorageType, StreamInfo, StreamInfoRequestOptions } from "@nats-io/jetstream/internal";
3
- import type { ObjectInfo, ObjectResult, ObjectStore, ObjectStoreMeta, ObjectStoreMetaOptions, ObjectStoreOptions, ObjectStorePutOpts, ObjectStoreStatus } from "./types";
3
+ import type { ObjectInfo, ObjectResult, ObjectStore, ObjectStoreMeta, ObjectStoreMetaOptions, ObjectStoreOptions, ObjectStorePutOpts, ObjectStoreStatus, ObjectWatchInfo } from "./types";
4
4
  export declare const osPrefix = "OBJ_";
5
5
  export declare const digestType = "SHA-256=";
6
6
  export declare function objectStoreStreamName(bucket: string): string;
@@ -19,13 +19,20 @@ export declare class Objm {
19
19
  */
20
20
  constructor(nc: JetStreamClient | NatsConnection);
21
21
  /**
22
- * Creates and opens the specified ObjectStore. If the Object already exists, it opens the existing ObjectStore.
22
+ * Creates and opens the specified ObjectStore. If the ObjectStore already exists,
23
+ * it opens the existing ObjectStore.
23
24
  * @param name
24
25
  * @param opts
25
26
  */
26
27
  create(name: string, opts?: Partial<ObjectStoreOptions>): Promise<ObjectStore>;
27
28
  /**
28
- * Returns a list of ObjectStoreInfo for all streams that are identified as
29
+ * Opens the specified ObjectStore
30
+ * @param name
31
+ * @param check - if set to false, it will not check if the ObjectStore exists.
32
+ */
33
+ open(name: string, check?: boolean): Promise<ObjectStore>;
34
+ /**
35
+ * Returns a list of ObjectStoreStatus for all streams that are identified as
29
36
  * being a ObjectStore (that is having names that have the prefix `OBJ_`)
30
37
  */
31
38
  list(): Lister<ObjectStoreStatus>;
@@ -92,7 +99,7 @@ export declare class ObjectStoreImpl implements ObjectStore {
92
99
  watch(opts?: Partial<{
93
100
  ignoreDeletes?: boolean;
94
101
  includeHistory?: boolean;
95
- }>): Promise<QueuedIterator<ObjectInfo | null>>;
102
+ }>): Promise<QueuedIterator<ObjectWatchInfo>>;
96
103
  _chunkSubject(id: string): string;
97
104
  _metaSubject(n: string): string;
98
105
  _metaSubjectAll(): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /*
3
- * Copyright 2022-2024 The NATS Authors
3
+ * Copyright 2022-2025 The NATS Authors
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
5
5
  * you may not use this file except in compliance with the License.
6
6
  * You may obtain a copy of the License at
@@ -20,6 +20,9 @@ exports.objectStoreBucketName = objectStoreBucketName;
20
20
  exports.validateBucket = validateBucket;
21
21
  const internal_1 = require("@nats-io/nats-core/internal");
22
22
  const internal_2 = require("@nats-io/jetstream/internal");
23
+ const base64_1 = require("./base64");
24
+ const js_sha256_1 = require("js-sha256");
25
+ const sha_digest_parser_1 = require("./sha_digest.parser");
23
26
  exports.osPrefix = "OBJ_";
24
27
  exports.digestType = "SHA-256=";
25
28
  function objectStoreStreamName(bucket) {
@@ -47,13 +50,28 @@ class Objm {
47
50
  this.js = (0, internal_2.toJetStreamClient)(nc);
48
51
  }
49
52
  /**
50
- * Creates and opens the specified ObjectStore. If the Object already exists, it opens the existing ObjectStore.
53
+ * Creates and opens the specified ObjectStore. If the ObjectStore already exists,
54
+ * it opens the existing ObjectStore.
51
55
  * @param name
52
56
  * @param opts
53
57
  */
54
58
  create(name, opts = {}) {
55
59
  return this.#maybeCreate(name, opts);
56
60
  }
61
+ /**
62
+ * Opens the specified ObjectStore
63
+ * @param name
64
+ * @param check - if set to false, it will not check if the ObjectStore exists.
65
+ */
66
+ async open(name, check = true) {
67
+ const jsm = await this.js.jetstreamManager();
68
+ const os = new ObjectStoreImpl(name, jsm, this.js);
69
+ os.stream = objectStoreStreamName(name);
70
+ if (check) {
71
+ await os.status();
72
+ }
73
+ return Promise.resolve(os);
74
+ }
57
75
  #maybeCreate(name, opts = {}) {
58
76
  if (typeof crypto?.subtle?.digest !== "function") {
59
77
  return Promise.reject(new Error("objectstore: unable to calculate hashes - crypto.subtle.digest with sha256 support is required"));
@@ -65,7 +83,7 @@ class Objm {
65
83
  return ObjectStoreImpl.create(this.js, name, opts);
66
84
  }
67
85
  /**
68
- * Returns a list of ObjectStoreInfo for all streams that are identified as
86
+ * Returns a list of ObjectStoreStatus for all streams that are identified as
69
87
  * being a ObjectStore (that is having names that have the prefix `OBJ_`)
70
88
  */
71
89
  list() {
@@ -236,13 +254,11 @@ class ObjectStoreImpl {
236
254
  const iter = await this.watch({
237
255
  ignoreDeletes: true,
238
256
  includeHistory: true,
257
+ //@ts-ignore: hidden
258
+ historyOnly: true,
239
259
  });
260
+ // historyOnly will stop the iterator
240
261
  for await (const info of iter) {
241
- // watch will give a null when it has initialized
242
- // for us that is the hint we are done
243
- if (info === null) {
244
- break;
245
- }
246
262
  buf.push(info);
247
263
  }
248
264
  return Promise.resolve(buf);
@@ -257,15 +273,14 @@ class ObjectStoreImpl {
257
273
  const m = await this.jsm.streams.getMessage(this.stream, {
258
274
  last_by_subj: meta,
259
275
  });
260
- const jc = (0, internal_1.JSONCodec)();
261
- const soi = jc.decode(m.data);
276
+ if (m === null) {
277
+ return null;
278
+ }
279
+ const soi = m.json();
262
280
  soi.revision = m.seq;
263
281
  return soi;
264
282
  }
265
283
  catch (err) {
266
- if (err.code === "404") {
267
- return null;
268
- }
269
284
  return Promise.reject(err);
270
285
  }
271
286
  }
@@ -274,8 +289,8 @@ class ObjectStoreImpl {
274
289
  return await this.jsm.streams.info(this.stream, opts);
275
290
  }
276
291
  catch (err) {
277
- const nerr = err;
278
- if (nerr.code === "404") {
292
+ if (err instanceof internal_2.JetStreamApiError &&
293
+ err.code === internal_2.JetStreamApiCodes.StreamNotFound) {
279
294
  return null;
280
295
  }
281
296
  return Promise.reject(err);
@@ -332,7 +347,7 @@ class ObjectStoreImpl {
332
347
  const db = new internal_1.DataBuffer();
333
348
  try {
334
349
  const reader = rs ? rs.getReader() : null;
335
- const sha = new internal_1.SHA256();
350
+ const sha = js_sha256_1.sha256.create();
336
351
  while (true) {
337
352
  const { done, value } = reader
338
353
  ? await reader.read()
@@ -351,10 +366,8 @@ class ObjectStoreImpl {
351
366
  proms.length = 0;
352
367
  // prepare the metadata
353
368
  info.mtime = new Date().toISOString();
354
- const digest = sha.digest("base64");
355
- const pad = digest.length % 3;
356
- const padding = pad > 0 ? "=".repeat(pad) : "";
357
- info.digest = `${exports.digestType}${digest}${padding}`;
369
+ const digest = base64_1.Base64UrlPaddedCodec.encode(Uint8Array.from(sha.digest()));
370
+ info.digest = `${exports.digestType}${digest}`;
358
371
  info.deleted = false;
359
372
  // trailing md for the object
360
373
  const h = (0, internal_1.headers)();
@@ -363,7 +376,7 @@ class ObjectStoreImpl {
363
376
  }
364
377
  h.set(internal_2.JsHeaders.RollupHdr, internal_2.JsHeaders.RollupValueSubject);
365
378
  // try to update the metadata
366
- const pa = await this.js.publish(metaSubj, (0, internal_1.JSONCodec)().encode(info), {
379
+ const pa = await this.js.publish(metaSubj, JSON.stringify(info), {
367
380
  headers: h,
368
381
  timeout,
369
382
  });
@@ -469,6 +482,13 @@ class ObjectStoreImpl {
469
482
  : this;
470
483
  return os.get(ln);
471
484
  }
485
+ if (!info.digest.startsWith(exports.digestType)) {
486
+ return Promise.reject(new Error(`unknown digest type: ${info.digest}`));
487
+ }
488
+ const digest = (0, sha_digest_parser_1.parseSha256)(info.digest.substring(8));
489
+ if (digest === null) {
490
+ return Promise.reject(new Error(`unable to parse digest: ${info.digest}`));
491
+ }
472
492
  const d = (0, internal_1.deferred)();
473
493
  const r = {
474
494
  info: new ObjectInfoImpl(info),
@@ -479,7 +499,7 @@ class ObjectStoreImpl {
479
499
  d.resolve(null);
480
500
  return Promise.resolve(r);
481
501
  }
482
- const sha = new internal_1.SHA256();
502
+ const sha = js_sha256_1.sha256.create();
483
503
  let controller;
484
504
  const cc = {};
485
505
  cc.filter_subject = `$O.${this.name}.C.${info.nuid}`;
@@ -492,12 +512,8 @@ class ObjectStoreImpl {
492
512
  controller.enqueue(jm.data);
493
513
  }
494
514
  if (jm.info.pending === 0) {
495
- const hash = sha.digest("base64");
496
- // go pads the hash - which should be multiple of 3 - otherwise pads with '='
497
- const pad = hash.length % 3;
498
- const padding = pad > 0 ? "=".repeat(pad) : "";
499
- const digest = `${exports.digestType}${hash}${padding}`;
500
- if (digest !== info.digest) {
515
+ const digest = Uint8Array.from(sha.digest());
516
+ if (!(0, sha_digest_parser_1.checkSha256)(digest, Uint8Array.from(sha.digest()))) {
501
517
  controller.error(new Error(`received a corrupt object, digests do not match received: ${info.digest} calculated ${digest}`));
502
518
  }
503
519
  else {
@@ -573,10 +589,9 @@ class ObjectStoreImpl {
573
589
  info.size = 0;
574
590
  info.chunks = 0;
575
591
  info.digest = "";
576
- const jc = (0, internal_1.JSONCodec)();
577
592
  const h = (0, internal_1.headers)();
578
593
  h.set(internal_2.JsHeaders.RollupHdr, internal_2.JsHeaders.RollupValueSubject);
579
- await this.js.publish(this._metaSubject(info.name), jc.encode(info), {
594
+ await this.js.publish(this._metaSubject(info.name), JSON.stringify(info), {
580
595
  headers: h,
581
596
  });
582
597
  return this.jsm.streams.purge(this.stream, {
@@ -616,18 +631,15 @@ class ObjectStoreImpl {
616
631
  async watch(opts = {}) {
617
632
  opts.includeHistory = opts.includeHistory ?? false;
618
633
  opts.ignoreDeletes = opts.ignoreDeletes ?? false;
619
- let initialized = false;
634
+ // @ts-ignore: not exposed
635
+ const historyOnly = opts.historyOnly ?? false;
620
636
  const qi = new internal_1.QueuedIteratorImpl();
621
637
  const subj = this._metaSubjectAll();
622
638
  try {
623
639
  await this.jsm.streams.getMessage(this.stream, { last_by_subj: subj });
624
640
  }
625
641
  catch (err) {
626
- if (err.code === "404") {
627
- qi.push(null);
628
- initialized = true;
629
- }
630
- else {
642
+ if (!(0, internal_2.isMessageNotFound)(err)) {
631
643
  qi.stop(err);
632
644
  }
633
645
  }
@@ -640,26 +652,36 @@ class ObjectStoreImpl {
640
652
  else {
641
653
  // FIXME: Go's implementation doesn't seem correct - if history is not desired
642
654
  // the watch should only be giving notifications on new entries
643
- initialized = true;
644
655
  cc.deliver_policy = internal_2.DeliverPolicy.New;
645
656
  }
646
657
  const oc = await this.js.consumers.getPushConsumer(this.stream, cc);
658
+ const info = await oc.info(true);
659
+ const count = info.num_pending;
660
+ let isUpdate = cc.deliver_policy === internal_2.DeliverPolicy.New || count === 0;
647
661
  qi._data = oc;
662
+ let i = 0;
648
663
  const iter = await oc.consume({
649
664
  callback: (jm) => {
665
+ if (!isUpdate) {
666
+ i++;
667
+ isUpdate = i >= count;
668
+ }
650
669
  const oi = jm.json();
670
+ oi.isUpdate = isUpdate;
651
671
  if (oi.deleted && opts.ignoreDeletes === true) {
652
672
  // do nothing
653
673
  }
654
674
  else {
655
675
  qi.push(oi);
656
676
  }
657
- if (jm.info?.pending === 0 && !initialized) {
658
- initialized = true;
659
- qi.push(null);
677
+ if (historyOnly && i === count) {
678
+ iter.stop();
660
679
  }
661
680
  },
662
681
  });
682
+ if (historyOnly && count === 0) {
683
+ iter.stop();
684
+ }
663
685
  iter.closed().then(() => {
664
686
  qi.push(() => {
665
687
  qi.stop();
@@ -674,7 +696,7 @@ class ObjectStoreImpl {
674
696
  return `$O.${this.name}.C.${id}`;
675
697
  }
676
698
  _metaSubject(n) {
677
- return `$O.${this.name}.M.${internal_1.Base64UrlPaddedCodec.encode(n)}`;
699
+ return `$O.${this.name}.M.${base64_1.Base64UrlPaddedCodec.encode(n)}`;
678
700
  }
679
701
  _metaSubjectAll() {
680
702
  return `$O.${this.name}.M.>`;
@@ -1 +1 @@
1
- {"version":3,"file":"objectstore.js","sourceRoot":"","sources":["../build/src/objectstore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectstore.js","sourceRoot":"","sources":["../build/src/objectstore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function parseSha256(s: string): Uint8Array | null;
2
+ export declare function checkSha256(a: string | Uint8Array, b: string | Uint8Array): boolean;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2025 The NATS Authors
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.parseSha256 = parseSha256;
18
+ exports.checkSha256 = checkSha256;
19
+ function parseSha256(s) {
20
+ return toByteArray(s);
21
+ }
22
+ function isHex(s) {
23
+ // contains valid hex characters only
24
+ const hexRegex = /^[0-9A-Fa-f]+$/;
25
+ if (!hexRegex.test(s)) {
26
+ // non-hex characters
27
+ return false;
28
+ }
29
+ // check for mixed-case strings - paranoid base64 sneaked in
30
+ const isAllUpperCase = /^[0-9A-F]+$/.test(s);
31
+ const isAllLowerCase = /^[0-9a-f]+$/.test(s);
32
+ if (!(isAllUpperCase || isAllLowerCase)) {
33
+ return false;
34
+ }
35
+ // ensure the input string length is even
36
+ return s.length % 2 === 0;
37
+ }
38
+ function isBase64(s) {
39
+ // test for padded or normal base64
40
+ return /^[A-Za-z0-9\-_]*(={0,2})?$/.test(s) ||
41
+ /^[A-Za-z0-9+/]*(={0,2})?$/.test(s);
42
+ }
43
+ function detectEncoding(input) {
44
+ // hex is more reliable to flush out...
45
+ if (isHex(input)) {
46
+ return "hex";
47
+ }
48
+ else if (isBase64(input)) {
49
+ return "b64";
50
+ }
51
+ return "";
52
+ }
53
+ function hexToByteArray(s) {
54
+ if (s.length % 2 !== 0) {
55
+ throw new Error("hex string must have an even length");
56
+ }
57
+ const a = new Uint8Array(s.length / 2);
58
+ for (let i = 0; i < s.length; i += 2) {
59
+ // parse hex two chars at a time
60
+ a[i / 2] = parseInt(s.substring(i, i + 2), 16);
61
+ }
62
+ return a;
63
+ }
64
+ function base64ToByteArray(s) {
65
+ // could be url friendly
66
+ s = s.replace(/-/g, "+");
67
+ s = s.replace(/_/g, "/");
68
+ const sbin = atob(s);
69
+ return Uint8Array.from(sbin, (c) => c.charCodeAt(0));
70
+ }
71
+ function toByteArray(input) {
72
+ const encoding = detectEncoding(input);
73
+ switch (encoding) {
74
+ case "hex":
75
+ return hexToByteArray(input);
76
+ case "b64":
77
+ return base64ToByteArray(input);
78
+ }
79
+ return null;
80
+ }
81
+ function checkSha256(a, b) {
82
+ const aBytes = typeof a === "string" ? parseSha256(a) : a;
83
+ const bBytes = typeof b === "string" ? parseSha256(b) : b;
84
+ if (aBytes === null || bBytes === null) {
85
+ return false;
86
+ }
87
+ if (aBytes.length !== bBytes.length) {
88
+ return false;
89
+ }
90
+ for (let i = 0; i < aBytes.length; i++) {
91
+ if (aBytes[i] !== bBytes[i]) {
92
+ return false;
93
+ }
94
+ }
95
+ return true;
96
+ }
97
+ //# sourceMappingURL=sha_digest.parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sha_digest.parser.js","sourceRoot":"","sources":["../build/src/sha_digest.parser.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -31,7 +31,10 @@ export type ObjectStoreMeta = {
31
31
  options?: ObjectStoreMetaOptions;
32
32
  metadata?: Record<string, string>;
33
33
  };
34
- export interface ObjectInfo extends ObjectStoreMeta {
34
+ export type ObjectWatchInfo = ObjectInfo & {
35
+ isUpdate: boolean;
36
+ };
37
+ export type ObjectInfo = ObjectStoreMeta & {
35
38
  /**
36
39
  * The name of the bucket where the object is stored.
37
40
  */
@@ -64,11 +67,11 @@ export interface ObjectInfo extends ObjectStoreMeta {
64
67
  * The revision number for the entry
65
68
  */
66
69
  revision: number;
67
- }
70
+ };
68
71
  /**
69
72
  * A link reference
70
73
  */
71
- export interface ObjectLink {
74
+ export type ObjectLink = {
72
75
  /**
73
76
  * The object store the source data
74
77
  */
@@ -78,7 +81,7 @@ export interface ObjectLink {
78
81
  * set it is a complete object store reference.
79
82
  */
80
83
  name?: string;
81
- }
84
+ };
82
85
  export type ObjectStoreStatus = {
83
86
  /**
84
87
  * The bucket name
@@ -130,10 +133,6 @@ export type ObjectStoreStatus = {
130
133
  */
131
134
  compression: boolean;
132
135
  };
133
- /**
134
- * @deprecated {@link ObjectStoreStatus}
135
- */
136
- export type ObjectStoreInfo = ObjectStoreStatus;
137
136
  export type ObjectStoreOptions = {
138
137
  /**
139
138
  * A description for the object store
@@ -203,7 +202,7 @@ export type ObjectStorePutOpts = {
203
202
  */
204
203
  previousRevision?: number;
205
204
  };
206
- export interface ObjectStore {
205
+ export type ObjectStore = {
207
206
  /**
208
207
  * Returns the ObjectInfo of the named entry. Or null if the
209
208
  * entry doesn't exist.
@@ -267,7 +266,7 @@ export interface ObjectStore {
267
266
  watch(opts?: Partial<{
268
267
  ignoreDeletes?: boolean;
269
268
  includeHistory?: boolean;
270
- }>): Promise<QueuedIterator<ObjectInfo | null>>;
269
+ }>): Promise<QueuedIterator<ObjectWatchInfo>>;
271
270
  /**
272
271
  * Seals the object store preventing any further modifications.
273
272
  */
@@ -288,4 +287,4 @@ export interface ObjectStore {
288
287
  * Destroys the object store and all its entries.
289
288
  */
290
289
  destroy(): Promise<boolean>;
291
- }
290
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nats-io/obj",
3
- "version": "3.0.0-9",
3
+ "version": "3.0.0-RC2",
4
4
  "files": [
5
5
  "lib/",
6
6
  "LICENSE",
@@ -23,8 +23,9 @@
23
23
  "pre-process": "npm run clean && deno run -A ../bin/cjs-fix-imports.ts -o ./build/src ./src",
24
24
  "build-cjs": "npm run pre-process && tsc",
25
25
  "build": "npm run build-cjs",
26
- "doc": "npm run build && node_modules/.bin/typedoc --out ../docs/obj && touch ../docs/obj/.nojekyll",
27
- "prepack": "npm run build"
26
+ "prepack": "npm run build",
27
+ "bump-qualifier": "npm version prerelease --no-commit-hooks --no-git-tag-version",
28
+ "bump-release": "npm version patch --no-commit-hooks --no-git-tag-version"
28
29
  },
29
30
  "keywords": [],
30
31
  "author": {
@@ -32,13 +33,13 @@
32
33
  },
33
34
  "description": "obj library - this library implements all the base functionality for NATS objectstore for javascript clients",
34
35
  "dependencies": {
35
- "@nats-io/jetstream": "~3.0.0-11",
36
- "@nats-io/nats-core": "~3.0.0-27"
36
+ "@nats-io/jetstream": "3.0.0-RC2",
37
+ "@nats-io/nats-core": "3.0.0-RC2",
38
+ "js-sha256": "^0.11.0"
37
39
  },
38
40
  "devDependencies": {
39
- "@types/node": "^22.0.0",
41
+ "@types/node": "^22.10.10",
40
42
  "shx": "^0.3.4",
41
- "typedoc": "^0.26.5",
42
- "typescript": "^5.5.4"
43
+ "typescript": "^5.8.2"
43
44
  }
44
- }
45
+ }