spec-3nweb-server 1.3.6 → 1.4.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.
Files changed (94) hide show
  1. package/build/3nstorage/3nstorage-app.js +4 -4
  2. package/build/3nstorage/owner.js +21 -21
  3. package/build/3nstorage/resources/store.js +25 -24
  4. package/build/3nstorage/resources/users.js +2 -2
  5. package/build/3nstorage/routes/owner/archive-obj-version.d.ts +2 -2
  6. package/build/3nstorage/routes/owner/archive-obj-version.js +3 -2
  7. package/build/3nstorage/routes/owner/cancel-trans.js +1 -1
  8. package/build/3nstorage/routes/owner/delete-obj.js +1 -1
  9. package/build/3nstorage/routes/owner/get-archived-obj-ver.js +2 -2
  10. package/build/3nstorage/routes/owner/get-current-obj.js +2 -2
  11. package/build/3nstorage/routes/owner/list-obj-archive.js +3 -2
  12. package/build/3nstorage/routes/owner/param-getter.js +3 -2
  13. package/build/3nstorage/routes/owner/param-setter.js +3 -2
  14. package/build/3nstorage/routes/owner/put-current-obj.js +12 -10
  15. package/build/3nstorage/routes/owner/session-params.js +4 -3
  16. package/build/admin/admin-app.js +7 -5
  17. package/build/admin/resources/users.d.ts +10 -4
  18. package/build/admin/resources/users.js +90 -37
  19. package/build/admin/routes/add.js +3 -3
  20. package/build/admin/routes/get-available-domains.d.ts +3 -0
  21. package/build/admin/routes/get-available-domains.js +38 -0
  22. package/build/admin/signup-tokens.js +11 -11
  23. package/build/asmail/asmail-app.js +7 -7
  24. package/build/asmail/config.js +9 -8
  25. package/build/asmail/delivery.js +10 -9
  26. package/build/asmail/resources/delivery-sessions.js +4 -3
  27. package/build/asmail/resources/inbox.d.ts +1 -1
  28. package/build/asmail/resources/inbox.js +22 -22
  29. package/build/asmail/resources/recipients.d.ts +2 -1
  30. package/build/asmail/resources/recipients.js +4 -4
  31. package/build/asmail/resources/sessions.js +2 -1
  32. package/build/asmail/retrieval.js +13 -8
  33. package/build/asmail/routes/config/param-getter.js +3 -2
  34. package/build/asmail/routes/config/param-setter.js +3 -2
  35. package/build/asmail/routes/delivery/finalize-delivery.js +3 -2
  36. package/build/asmail/routes/delivery/pre-flight.js +5 -4
  37. package/build/asmail/routes/delivery/provide-recipient-pubkey.js +3 -2
  38. package/build/asmail/routes/delivery/put-metadata.js +3 -2
  39. package/build/asmail/routes/delivery/put-obj.js +4 -4
  40. package/build/asmail/routes/delivery/restart-session.js +4 -3
  41. package/build/asmail/routes/delivery/sender-authorization.d.ts +1 -3
  42. package/build/asmail/routes/delivery/sender-authorization.js +3 -2
  43. package/build/asmail/routes/delivery/start-session.js +5 -4
  44. package/build/asmail/routes/retrieval/get-message-meta.js +3 -2
  45. package/build/asmail/routes/retrieval/get-message-obj.js +4 -3
  46. package/build/asmail/routes/retrieval/list-messages.js +3 -2
  47. package/build/asmail/routes/retrieval/remove-message.js +3 -2
  48. package/build/lib-common/admin-api/signup.d.ts +9 -0
  49. package/build/lib-common/admin-api/signup.js +11 -2
  50. package/build/lib-common/async-fs-node.js +13 -13
  51. package/build/lib-common/byte-streaming/common.js +9 -9
  52. package/build/lib-common/canonical-address.js +1 -1
  53. package/build/lib-common/ipc/generic-ipc.js +12 -12
  54. package/build/lib-common/ipc/ws-ipc.js +2 -2
  55. package/build/lib-common/mid-sigs-NaCl-Ed.js +14 -14
  56. package/build/lib-common/objs-on-disk/file-layout.js +10 -10
  57. package/build/lib-common/objs-on-disk/obj-file.js +11 -11
  58. package/build/lib-common/objs-on-disk/utils.js +3 -3
  59. package/build/lib-common/processes.js +1 -1
  60. package/build/lib-common/random-node.js +7 -7
  61. package/build/lib-common/service-api/3nstorage/owner.d.ts +5 -4
  62. package/build/lib-common/service-api/3nstorage/owner.js +11 -10
  63. package/build/lib-common/service-api/asmail/delivery.js +2 -2
  64. package/build/lib-common/service-api/asmail/retrieval.js +1 -1
  65. package/build/lib-server/conf-util.js +2 -1
  66. package/build/lib-server/middleware/body-parsers.js +16 -16
  67. package/build/lib-server/middleware/error-handler.js +1 -1
  68. package/build/lib-server/resources/mailerid-authorizer.js +3 -3
  69. package/build/lib-server/resources/mem-backed-sessions-factory.js +3 -3
  70. package/build/lib-server/resources/server-data-folders.js +23 -23
  71. package/build/lib-server/resources/sessions.js +5 -5
  72. package/build/lib-server/resources/user-files.js +8 -8
  73. package/build/lib-server/routes/pub-key-login/complete-exchange.js +4 -3
  74. package/build/lib-server/routes/pub-key-login/start-exchange.js +7 -6
  75. package/build/lib-server/routes/sessions/mid-auth.js +6 -5
  76. package/build/lib-server/routes/sessions/start.js +4 -3
  77. package/build/lib-server/web-sockets/app.js +6 -5
  78. package/build/lib-server/web-sockets/server-events.js +5 -4
  79. package/build/mailerId/mailerId-app.js +7 -7
  80. package/build/mailerId/resources/certifier.d.ts +4 -6
  81. package/build/mailerId/resources/certifier.js +8 -7
  82. package/build/mailerId/resources/compute-login-dhshared-key.js +2 -1
  83. package/build/mailerId/resources/sessions.js +2 -1
  84. package/build/mailerId/resources/users.js +4 -4
  85. package/build/mailerId/routes/certify.js +1 -1
  86. package/build/main.js +10 -10
  87. package/build/mock/dns.js +1 -1
  88. package/build/mock/mock-as-child-proc.js +10 -10
  89. package/build/mock/node-child-ipc.js +2 -2
  90. package/build/mock/run-in-proc.js +7 -7
  91. package/build/run-config.js +10 -10
  92. package/build/run.js +4 -4
  93. package/build/services.js +5 -5
  94. package/package.json +9 -6
@@ -16,7 +16,7 @@
16
16
  this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
- exports.copyTree = exports.copyFile = exports.streamFromFile = exports.rmDirWithContent = exports.read = exports.streamToExistingFile = exports.append = exports.write = exports.getFolderContentSize = exports.getFileSize = exports.existsFolderSync = exports.createEmptyFile = exports.writeFromBuf = exports.readToBuf = exports.ftruncate = exports.truncate = exports.rename = exports.unlink = exports.rmdir = exports.readdir = exports.fstat = exports.stat = exports.lstat = exports.readlink = exports.symlink = exports.close = exports.open = exports.mkdir = exports.writeFile = exports.readFile = void 0;
19
+ exports.copyTree = exports.copyFile = exports.streamFromFile = exports.rmDirWithContent = exports.read = exports.streamToExistingFile = exports.append = exports.write = exports.getFolderContentSize = exports.getFileSize = exports.existsFolderSync = exports.createEmptyFile = exports.writeFromBuf = exports.readToBuf = exports.ftruncate = exports.truncate = exports.rename = exports.unlink = exports.rmdir = exports.readdir = exports.fstat = exports.stat = exports.lstat = exports.readlink = exports.symlink = exports.close = exports.open = exports.mkdir = exports.writeFile = exports.readFile = exports.Stats = void 0;
20
20
  const fs = require("fs");
21
21
  const fs_1 = require("fs");
22
22
  const file_1 = require("./exceptions/file");
@@ -27,7 +27,7 @@ const path_1 = require("path");
27
27
  var fs_2 = require("fs");
28
28
  Object.defineProperty(exports, "Stats", { enumerable: true, get: function () { return fs_2.Stats; } });
29
29
  function makeFileExceptionFromNodes(nodeExc) {
30
- return file_1.makeFileException(nodeExc.code, nodeExc.path);
30
+ return (0, file_1.makeFileException)(nodeExc.code, nodeExc.path);
31
31
  }
32
32
  function readFile(path, options) {
33
33
  return new Promise((resolve, reject) => {
@@ -292,7 +292,7 @@ async function readToBuf(fd, pos, buf) {
292
292
  while (bytesRead < buf.length) {
293
293
  const bNum = await readOrig(fd, buf, bytesRead, buf.length - bytesRead, pos);
294
294
  if (bNum === 0) {
295
- throw file_1.makeFileException(file_1.Code.endOfFile, '<file descriptor>');
295
+ throw (0, file_1.makeFileException)(file_1.Code.endOfFile, '<file descriptor>');
296
296
  }
297
297
  bytesRead += bNum;
298
298
  pos += bNum;
@@ -358,11 +358,11 @@ exports.createEmptyFile = createEmptyFile;
358
358
  */
359
359
  function existsFolderSync(path) {
360
360
  try {
361
- if (fs_1.statSync(path).isDirectory()) {
361
+ if ((0, fs_1.statSync)(path).isDirectory()) {
362
362
  return true;
363
363
  }
364
364
  else {
365
- throw file_1.makeFileException(file_1.Code.notDirectory, path);
365
+ throw (0, file_1.makeFileException)(file_1.Code.notDirectory, path);
366
366
  }
367
367
  }
368
368
  catch (e) {
@@ -473,7 +473,7 @@ async function streamToExistingFile(filePath, pos, len, src, bufSize) {
473
473
  let bytesWritten = 0;
474
474
  let bytesRead = 0;
475
475
  const buf = new common_1.BytesFIFOBuffer();
476
- let deferred = processes_1.defer();
476
+ let deferred = (0, processes_1.defer)();
477
477
  let doneReading = false;
478
478
  const complete = (err) => {
479
479
  if (!deferred) {
@@ -510,7 +510,7 @@ async function streamToExistingFile(filePath, pos, len, src, bufSize) {
510
510
  if (!bytesToWrite) {
511
511
  return;
512
512
  }
513
- await writeToExistingFile(filePath, pos, buffer_utils_1.toBuffer(bytesToWrite));
513
+ await writeToExistingFile(filePath, pos, (0, buffer_utils_1.toBuffer)(bytesToWrite));
514
514
  pos += bytesToWrite.length;
515
515
  bytesWritten += bytesToWrite.length;
516
516
  if (bytesWritten < len) {
@@ -527,7 +527,7 @@ async function streamToExistingFile(filePath, pos, len, src, bufSize) {
527
527
  if (doneReading) {
528
528
  return;
529
529
  }
530
- complete(file_1.makeFileException(file_1.Code.endOfFile, '<input stream>'));
530
+ complete((0, file_1.makeFileException)(file_1.Code.endOfFile, '<input stream>'));
531
531
  });
532
532
  src.on('error', (err) => {
533
533
  complete(err);
@@ -555,7 +555,7 @@ async function read(fd, pos, buf) {
555
555
  while (bytesRead < buf.length) {
556
556
  const bNum = await readOrig(fd, buf, bytesRead, buf.length - bytesRead, pos);
557
557
  if (bNum === 0) {
558
- throw file_1.makeFileException(file_1.Code.endOfFile, '<file descriptor>');
558
+ throw (0, file_1.makeFileException)(file_1.Code.endOfFile, '<file descriptor>');
559
559
  }
560
560
  bytesRead += bNum;
561
561
  pos += bNum;
@@ -670,8 +670,8 @@ exports.streamFromFile = streamFromFile;
670
670
  */
671
671
  function copyFile(src, dst, overwrite = false, dstMode = '660') {
672
672
  return new Promise((resolve, reject) => {
673
- const srcStream = fs_1.createReadStream(src);
674
- const dstStream = fs_1.createWriteStream(dst, {
673
+ const srcStream = (0, fs_1.createReadStream)(src);
674
+ const dstStream = (0, fs_1.createWriteStream)(dst, {
675
675
  mode: parseInt(dstMode, 8),
676
676
  flags: (overwrite ? 'w' : 'wx')
677
677
  });
@@ -713,8 +713,8 @@ async function copyTree(src, dst, fileOverwrite = false) {
713
713
  const srcFNames = await readdir(src);
714
714
  const cpTasks = [];
715
715
  for (const fName of srcFNames) {
716
- const srcPath = path_1.join(src, fName);
717
- const dstPath = path_1.join(dst, fName);
716
+ const srcPath = (0, path_1.join)(src, fName);
717
+ const dstPath = (0, path_1.join)(dst, fName);
718
718
  const task = stat(srcPath)
719
719
  .then((stats) => {
720
720
  if (stats.isFile()) {
@@ -19,12 +19,12 @@ exports.sourceFromArray = exports.BytesFIFOBuffer = exports.wrapByteSinkImplemen
19
19
  const binding_1 = require("../binding");
20
20
  function wrapByteSourceImplementation(src) {
21
21
  const wrap = {
22
- read: binding_1.bind(src, src.read),
23
- getSize: binding_1.bind(src, src.getSize)
22
+ read: (0, binding_1.bind)(src, src.read),
23
+ getSize: (0, binding_1.bind)(src, src.getSize)
24
24
  };
25
25
  if (src.seek) {
26
- wrap.seek = binding_1.bind(src, src.seek);
27
- wrap.getPosition = binding_1.bind(src, src.getPosition);
26
+ wrap.seek = (0, binding_1.bind)(src, src.seek);
27
+ wrap.getPosition = (0, binding_1.bind)(src, src.getPosition);
28
28
  }
29
29
  wrap.$_transferrable_type_id_$ = 'ByteSource';
30
30
  return wrap;
@@ -32,13 +32,13 @@ function wrapByteSourceImplementation(src) {
32
32
  exports.wrapByteSourceImplementation = wrapByteSourceImplementation;
33
33
  function wrapByteSinkImplementation(sink) {
34
34
  const wrap = {
35
- setSize: binding_1.bind(sink, sink.setSize),
36
- write: binding_1.bind(sink, sink.write),
37
- getSize: binding_1.bind(sink, sink.getSize)
35
+ setSize: (0, binding_1.bind)(sink, sink.setSize),
36
+ write: (0, binding_1.bind)(sink, sink.write),
37
+ getSize: (0, binding_1.bind)(sink, sink.getSize)
38
38
  };
39
39
  if (sink.seek) {
40
- wrap.seek = binding_1.bind(sink, sink.seek);
41
- wrap.getPosition = binding_1.bind(sink, sink.getPosition);
40
+ wrap.seek = (0, binding_1.bind)(sink, sink.seek);
41
+ wrap.getPosition = (0, binding_1.bind)(sink, sink.getPosition);
42
42
  }
43
43
  wrap.$_transferrable_type_id_$ = 'ByteSink';
44
44
  return wrap;
@@ -50,7 +50,7 @@ function checkDomainString(d, addrForErrMsg) {
50
50
  }
51
51
  let ascii;
52
52
  try {
53
- ascii = punycode_1.toASCII(d);
53
+ ascii = (0, punycode_1.toASCII)(d);
54
54
  }
55
55
  catch (err) {
56
56
  throw makeParseExc(addrForErrMsg, err);
@@ -159,8 +159,8 @@ class RequestingSide extends MessageHandler {
159
159
  wrap() {
160
160
  const w = {
161
161
  makeRequest: this.makeRequest.bind(this),
162
- close: binding_1.bind(this, this.close),
163
- on: binding_1.bind(this, this.on)
162
+ close: (0, binding_1.bind)(this, this.close),
163
+ on: (0, binding_1.bind)(this, this.on)
164
164
  };
165
165
  return Object.freeze(w);
166
166
  }
@@ -261,10 +261,10 @@ class ReplyingSide extends MessageHandler {
261
261
  }
262
262
  wrap() {
263
263
  const w = {
264
- addHandler: binding_1.bind(this, this.addHandler),
265
- notifyOfProgressOnRequest: binding_1.bind(this, this.notifyOfProgressOnRequest),
266
- close: binding_1.bind(this, this.close),
267
- on: binding_1.bind(this, this.on)
264
+ addHandler: (0, binding_1.bind)(this, this.addHandler),
265
+ notifyOfProgressOnRequest: (0, binding_1.bind)(this, this.notifyOfProgressOnRequest),
266
+ close: (0, binding_1.bind)(this, this.close),
267
+ on: (0, binding_1.bind)(this, this.on)
268
268
  };
269
269
  return Object.freeze(w);
270
270
  }
@@ -287,8 +287,8 @@ class EventsSendingSide extends ReplyingSide {
287
287
  super(channel, comm);
288
288
  this.subscriptionGroups = [];
289
289
  this.subscribedEvents = new Set();
290
- this.addHandler(ipc_api_1.events.subscribe.REQ_NAME, binding_1.bind(this, this.handleSubscribe));
291
- this.addHandler(ipc_api_1.events.unsubscribe.REQ_NAME, binding_1.bind(this, this.handleUnsubscribe));
290
+ this.addHandler(ipc_api_1.events.subscribe.REQ_NAME, (0, binding_1.bind)(this, this.handleSubscribe));
291
+ this.addHandler(ipc_api_1.events.unsubscribe.REQ_NAME, (0, binding_1.bind)(this, this.handleUnsubscribe));
292
292
  }
293
293
  findGroup(eventChannel) {
294
294
  for (const gr of this.subscriptionGroups) {
@@ -373,9 +373,9 @@ class EventsSendingSide extends ReplyingSide {
373
373
  notifyOfProgressOnRequest: reqServer.notifyOfProgressOnRequest,
374
374
  close: reqServer.close,
375
375
  on: reqServer.on,
376
- addEventGroup: binding_1.bind(this, this.addEventGroup),
377
- sendEvent: binding_1.bind(this, this.sendEvent),
378
- endEvent: binding_1.bind(this, this.endEvent)
376
+ addEventGroup: (0, binding_1.bind)(this, this.addEventGroup),
377
+ sendEvent: (0, binding_1.bind)(this, this.sendEvent),
378
+ endEvent: (0, binding_1.bind)(this, this.endEvent)
379
379
  };
380
380
  return Object.freeze(w);
381
381
  }
@@ -536,7 +536,7 @@ class EventsReceivingSide extends RequestingSide {
536
536
  makeRequest: reqClient.makeRequest,
537
537
  close: reqClient.close,
538
538
  on: reqClient.on,
539
- subscribe: binding_1.bind(this, this.subscribe)
539
+ subscribe: (0, binding_1.bind)(this, this.subscribe)
540
540
  };
541
541
  return Object.freeze(w);
542
542
  }
@@ -15,7 +15,7 @@
15
15
  You should have received a copy of the GNU General Public License along with
16
16
  this program. If not, see <http://www.gnu.org/licenses/>. */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.makeSubscriber = exports.makeJsonCommPoint = void 0;
18
+ exports.makeSubscriber = exports.makeJsonCommPoint = exports.makeEventfulServer = void 0;
19
19
  const generic_ipc_1 = require("./generic-ipc");
20
20
  var generic_ipc_2 = require("./generic-ipc");
21
21
  Object.defineProperty(exports, "makeEventfulServer", { enumerable: true, get: function () { return generic_ipc_2.makeEventfulServer; } });
@@ -93,7 +93,7 @@ function onError(ws, observers) {
93
93
  }
94
94
  function makeSubscriber(ws, ipcChannel) {
95
95
  const comm = makeJsonCommPoint(ws);
96
- return generic_ipc_1.makeSubscribingClient(ipcChannel, comm);
96
+ return (0, generic_ipc_1.makeSubscribingClient)(ipcChannel, comm);
97
97
  }
98
98
  exports.makeSubscriber = makeSubscriber;
99
99
  Object.freeze(exports);
@@ -131,7 +131,7 @@ var idProvider;
131
131
  idProvider.KID_BYTES_LENGTH = 9;
132
132
  idProvider.MAX_USER_CERT_VALIDITY = 24 * 60 * 60;
133
133
  function makeSelfSignedCert(address, validityPeriod, sjkey, arrFactory) {
134
- const skey = jwkeys_1.keyFromJson(sjkey, exports.KEY_USE.ROOT, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
134
+ const skey = (0, jwkeys_1.keyFromJson)(sjkey, exports.KEY_USE.ROOT, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
135
135
  const pkey = {
136
136
  use: sjkey.use,
137
137
  alg: sjkey.alg,
@@ -160,7 +160,7 @@ var idProvider;
160
160
  const rootPair = genSignKeyPair(exports.KEY_USE.ROOT, idProvider.KID_BYTES_LENGTH, random, arrFactory);
161
161
  const now = Math.floor(Date.now() / 1000);
162
162
  const rootCert = makeCert(rootPair.pkey, address, address, now, now + validityPeriod, rootPair.skey, arrFactory);
163
- return { cert: rootCert, skey: jwkeys_1.keyToJson(rootPair.skey) };
163
+ return { cert: rootCert, skey: (0, jwkeys_1.keyToJson)(rootPair.skey) };
164
164
  }
165
165
  idProvider.generateRootKey = generateRootKey;
166
166
  /**
@@ -177,11 +177,11 @@ var idProvider;
177
177
  if (validityPeriod < 1) {
178
178
  throw new Error(`Illegal validity period: ${validityPeriod}`);
179
179
  }
180
- const rootKey = jwkeys_1.keyFromJson(rootJKey, exports.KEY_USE.ROOT, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
180
+ const rootKey = (0, jwkeys_1.keyFromJson)(rootJKey, exports.KEY_USE.ROOT, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
181
181
  const provPair = genSignKeyPair(exports.KEY_USE.PROVIDER, idProvider.KID_BYTES_LENGTH, random, arrFactory);
182
182
  const now = Math.floor(Date.now() / 1000);
183
183
  const rootCert = makeCert(provPair.pkey, address, address, now, now + validityPeriod, rootKey, arrFactory);
184
- return { cert: rootCert, skey: jwkeys_1.keyToJson(provPair.skey) };
184
+ return { cert: rootCert, skey: (0, jwkeys_1.keyToJson)(provPair.skey) };
185
185
  }
186
186
  idProvider.generateProviderKey = generateProviderKey;
187
187
  /**
@@ -201,7 +201,7 @@ var idProvider;
201
201
  if ((validityPeriod < 1) || (validityPeriod > idProvider.MAX_USER_CERT_VALIDITY)) {
202
202
  throw new Error(`Given certificate validity is illegal: ${validityPeriod}`);
203
203
  }
204
- let signKey = jwkeys_1.keyFromJson(signJKey, exports.KEY_USE.PROVIDER, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
204
+ let signKey = (0, jwkeys_1.keyFromJson)(signJKey, exports.KEY_USE.PROVIDER, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.SECRET_KEY_LENGTH);
205
205
  signJKey = undefined;
206
206
  if (!arrFactory) {
207
207
  arrFactory = ecma_nacl_1.arrays.makeFactory();
@@ -246,7 +246,7 @@ var relyingParty;
246
246
  (function (relyingParty) {
247
247
  const minValidityPeriodForCert = 20 * 60;
248
248
  function verifyCertAndGetPubKey(signedCert, use, validAt, arrFactory, issuer, issuerPKey) {
249
- const cert = jwkeys_1.getKeyCert(signedCert);
249
+ const cert = (0, jwkeys_1.getKeyCert)(signedCert);
250
250
  if ((validAt < (cert.issuedAt - minValidityPeriodForCert))
251
251
  || (cert.expiresAt <= validAt)) {
252
252
  throw makeTimeMismatchException(`Certificate is not valid at a given moment ${validAt}, cause it is issued at ${cert.issuedAt}, and expires at ${cert.expiresAt}`);
@@ -264,7 +264,7 @@ var relyingParty;
264
264
  let sig;
265
265
  let load;
266
266
  try {
267
- pkey = jwkeys_1.keyFromJson(cert.cert.publicKey, use, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.PUBLIC_KEY_LENGTH);
267
+ pkey = (0, jwkeys_1.keyFromJson)(cert.cert.publicKey, use, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.PUBLIC_KEY_LENGTH);
268
268
  sig = buffer_utils_1.base64.open(signedCert.sig);
269
269
  load = buffer_utils_1.base64.open(signedCert.load);
270
270
  }
@@ -291,7 +291,7 @@ var relyingParty;
291
291
  // root certificate must be valid when provider's certificate was issued
292
292
  let rootValidityMoment;
293
293
  try {
294
- rootValidityMoment = jwkeys_1.getKeyCert(certs.prov).issuedAt;
294
+ rootValidityMoment = (0, jwkeys_1.getKeyCert)(certs.prov).issuedAt;
295
295
  }
296
296
  catch (err) {
297
297
  throw makeMalformedCertsException(`Provider's certificate is malformed`, err);
@@ -304,7 +304,7 @@ var relyingParty;
304
304
  // provider's certificate must be valid when user's certificate was issued
305
305
  let provValidityMoment;
306
306
  try {
307
- provValidityMoment = jwkeys_1.getKeyCert(certs.user).issuedAt;
307
+ provValidityMoment = (0, jwkeys_1.getKeyCert)(certs.user).issuedAt;
308
308
  }
309
309
  catch (err) {
310
310
  throw makeMalformedCertsException(`User's certificate is malformed`, err);
@@ -388,7 +388,7 @@ var relyingParty;
388
388
  }
389
389
  let cert;
390
390
  try {
391
- cert = jwkeys_1.getKeyCert(keyCert);
391
+ cert = (0, jwkeys_1.getKeyCert)(keyCert);
392
392
  }
393
393
  catch (err) {
394
394
  throw makeMalformedCertsException(`Cannot read certificate`, err);
@@ -427,7 +427,7 @@ var relyingParty;
427
427
  // time moment, for which user's certificate chain must be valid
428
428
  let chainValidityMoment;
429
429
  try {
430
- chainValidityMoment = jwkeys_1.getKeyCert(pubKeyCert).issuedAt;
430
+ chainValidityMoment = (0, jwkeys_1.getKeyCert)(pubKeyCert).issuedAt;
431
431
  }
432
432
  catch (err) {
433
433
  throw makeMalformedCertsException(`Cannot read certificate`, err);
@@ -442,11 +442,11 @@ var relyingParty;
442
442
  })(relyingParty = exports.relyingParty || (exports.relyingParty = {}));
443
443
  Object.freeze(relyingParty);
444
444
  function correlateSKeyWithItsCert(skey, cert) {
445
- const pkey = jwkeys_1.keyFromJson(cert.cert.publicKey, skey.use, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.PUBLIC_KEY_LENGTH);
445
+ const pkey = (0, jwkeys_1.keyFromJson)(cert.cert.publicKey, skey.use, ecma_nacl_1.signing.JWK_ALG_NAME, ecma_nacl_1.signing.PUBLIC_KEY_LENGTH);
446
446
  if (!((pkey.kid === skey.kid) &&
447
447
  (pkey.use === skey.use) &&
448
448
  (pkey.alg === skey.alg) &&
449
- ecma_nacl_1.compareVectors(ecma_nacl_1.signing.extract_pkey(skey.k), pkey.k))) {
449
+ (0, ecma_nacl_1.compareVectors)(ecma_nacl_1.signing.extract_pkey(skey.k), pkey.k))) {
450
450
  throw new Error("Key does not correspond to certificate.");
451
451
  }
452
452
  }
@@ -470,7 +470,7 @@ var user;
470
470
  * keys.
471
471
  */
472
472
  function makeMailerIdSigner(signKey, userCert, provCert, assertionValidity = user.MAX_SIG_VALIDITY, arrFactory) {
473
- const certificate = jwkeys_1.getKeyCert(userCert);
473
+ const certificate = (0, jwkeys_1.getKeyCert)(userCert);
474
474
  if (signKey.use !== exports.KEY_USE.SIGN) {
475
475
  throw new Error(`Given key ${signKey.kid} has incorrect use: ${signKey.use}`);
476
476
  }
@@ -89,8 +89,8 @@ class ObjVersionBytesLayout {
89
89
  return this.headerChunk;
90
90
  }
91
91
  segsLocations(thisVerOfs, len) {
92
- assert_1.assert(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
93
- assert_1.assert(Number.isInteger(len) && (len >= 0));
92
+ (0, assert_1.assert)(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
93
+ (0, assert_1.assert)(Number.isInteger(len) && (len >= 0));
94
94
  const segInfos = [];
95
95
  const end = thisVerOfs + len;
96
96
  for (let i = 0; (i < this.segsChunks.length) && (len > 0); i += 1) {
@@ -117,7 +117,7 @@ class ObjVersionBytesLayout {
117
117
  len -= chop.len;
118
118
  }
119
119
  else {
120
- const chop = json_utils_1.copy(chunk);
120
+ const chop = (0, json_utils_1.copy)(chunk);
121
121
  chop.thisVerOfs = thisVerOfs;
122
122
  if (chunk.type === 'new-endless') {
123
123
  chop.type = 'new';
@@ -177,7 +177,7 @@ class ObjVersionBytesLayout {
177
177
  }
178
178
  addHeader(len, fileOfs) {
179
179
  this.ensureExpectedFileOfs(fileOfs);
180
- assert_1.assert(Number.isInteger(len) && (len >= 0));
180
+ (0, assert_1.assert)(Number.isInteger(len) && (len >= 0));
181
181
  if (this.headerChunk) {
182
182
  throw new Error(`Header added second time to obj version bytes layout`);
183
183
  }
@@ -187,8 +187,8 @@ class ObjVersionBytesLayout {
187
187
  }
188
188
  addSegsOnFile(thisVerOfs, len, fileOfs) {
189
189
  this.ensureExpectedFileOfs(fileOfs);
190
- assert_1.assert(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
191
- assert_1.assert(Number.isInteger(len) && (len >= 0));
190
+ (0, assert_1.assert)(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
191
+ (0, assert_1.assert)(Number.isInteger(len) && (len >= 0));
192
192
  const s = {
193
193
  type: 'new-on-disk', thisVerOfs, len, fileOfs
194
194
  };
@@ -197,9 +197,9 @@ class ObjVersionBytesLayout {
197
197
  }
198
198
  addBaseSegsOnFile(thisVerOfs, baseVerOfs, len, fileOfs) {
199
199
  this.ensureExpectedFileOfs(fileOfs);
200
- assert_1.assert(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
201
- assert_1.assert(Number.isInteger(baseVerOfs) && (baseVerOfs >= 0));
202
- assert_1.assert(Number.isInteger(len) && (len >= 0));
200
+ (0, assert_1.assert)(Number.isInteger(thisVerOfs) && (thisVerOfs >= 0));
201
+ (0, assert_1.assert)(Number.isInteger(baseVerOfs) && (baseVerOfs >= 0));
202
+ (0, assert_1.assert)(Number.isInteger(len) && (len >= 0));
203
203
  const s = {
204
204
  type: 'base-on-disk', thisVerOfs, baseVerOfs, len, fileOfs
205
205
  };
@@ -222,7 +222,7 @@ function layoutSectionsToSegsChunks(sections) {
222
222
  }
223
223
  const chunk = layoutSectionToSegsChunk(section);
224
224
  if (chunk.type === 'new-endless') {
225
- assert_1.assert(sections[sections.length - 1] === section, `Infinite layout section must be the last section`);
225
+ (0, assert_1.assert)(sections[sections.length - 1] === section, `Infinite layout section must be the last section`);
226
226
  }
227
227
  else {
228
228
  chunks.push(chunk);
@@ -78,7 +78,7 @@ class ObjVersionFile {
78
78
  return this.writeProc.startOrChain(async () => {
79
79
  const fd = await fs.open(this.path, 'r+')
80
80
  .catch(exc => {
81
- throw error_1.errWithCause(exc, `Can't open obj version file ${this.path}`);
81
+ throw (0, error_1.errWithCause)(exc, `Can't open obj version file ${this.path}`);
82
82
  });
83
83
  try {
84
84
  return await action(fd);
@@ -97,7 +97,7 @@ class ObjVersionFile {
97
97
  saveHeader(header, saveLayout) {
98
98
  return this.withRWFile(async (fd) => {
99
99
  const ofs = this.layout.getLayoutOfs();
100
- await fs.writeFromBuf(fd, ofs, buffer_utils_1.toBuffer(header));
100
+ await fs.writeFromBuf(fd, ofs, (0, buffer_utils_1.toBuffer)(header));
101
101
  this.layout.addHeader(header.length, ofs);
102
102
  if (saveLayout) {
103
103
  await this.recordLayout(fd);
@@ -107,7 +107,7 @@ class ObjVersionFile {
107
107
  saveSegs(segsChunks, thisVerOfs, baseVerOfs, saveLayout) {
108
108
  return this.withRWFile(async (fd) => {
109
109
  const ofs = this.layout.getLayoutOfs();
110
- await fs.writeFromBuf(fd, ofs, buffer_utils_1.toBuffer(segsChunks));
110
+ await fs.writeFromBuf(fd, ofs, (0, buffer_utils_1.toBuffer)(segsChunks));
111
111
  if (baseVerOfs === undefined) {
112
112
  this.layout.addSegsOnFile(thisVerOfs, segsChunks.length, ofs);
113
113
  }
@@ -125,7 +125,7 @@ class ObjVersionFile {
125
125
  async withROFile(action) {
126
126
  const fd = await fs.open(this.path, 'r')
127
127
  .catch(exc => {
128
- throw error_1.errWithCause(exc, `Can't open obj version file ${this.path}`);
128
+ throw (0, error_1.errWithCause)(exc, `Can't open obj version file ${this.path}`);
129
129
  });
130
130
  try {
131
131
  return await action(fd);
@@ -158,7 +158,7 @@ class ObjVersionFile {
158
158
  return;
159
159
  }
160
160
  await this.withROFile(async (fd) => {
161
- const src = fs_1.createReadStream('', {
161
+ const src = (0, fs_1.createReadStream)('', {
162
162
  fd,
163
163
  autoClose: false,
164
164
  start: chunkInfo.fileOfs,
@@ -191,7 +191,7 @@ class ObjVersionFile {
191
191
  for (const chunk of chunks) {
192
192
  if ((chunk.type === 'new-on-disk')
193
193
  || (chunk.type === 'base-on-disk')) {
194
- const src = fs_1.createReadStream('', {
194
+ const src = (0, fs_1.createReadStream)('', {
195
195
  fd,
196
196
  autoClose: false,
197
197
  start: chunk.fileOfs,
@@ -227,7 +227,7 @@ exports.ObjVersionFile = ObjVersionFile;
227
227
  Object.freeze(ObjVersionFile.prototype);
228
228
  Object.freeze(ObjVersionFile);
229
229
  async function pipeBytes(src, sink) {
230
- const deferred = processes_1.defer();
230
+ const deferred = (0, processes_1.defer)();
231
231
  src.pipe(sink, { end: false });
232
232
  src.on('error', (err) => {
233
233
  deferred.reject(err);
@@ -260,8 +260,8 @@ async function parseObjVersionBytesLayout(fd) {
260
260
  throw exc;
261
261
  });
262
262
  const fileStart = fstBytes.slice(0, 4);
263
- if (bytes_equal_1.bytesEqual(fileStart, v1_obj_file_format_1.V1_FILE_START)) {
264
- const layoutOfs = v1_obj_file_format_1.uintFrom8Bytes(fstBytes, 4);
263
+ if ((0, bytes_equal_1.bytesEqual)(fileStart, v1_obj_file_format_1.V1_FILE_START)) {
264
+ const layoutOfs = (0, v1_obj_file_format_1.uintFrom8Bytes)(fstBytes, 4);
265
265
  if (layoutOfs === 0) {
266
266
  throw parsingException(`Obj version file is in incomplete state`);
267
267
  }
@@ -287,10 +287,10 @@ async function createNewV1File(path) {
287
287
  await fs.writeFile(path, initContent, { flag: 'wx' });
288
288
  }
289
289
  async function recordLayoutOffsetInV1(fd, ofs) {
290
- const ofsInBytes = v1_obj_file_format_1.uintTo8Bytes(ofs);
290
+ const ofsInBytes = (0, v1_obj_file_format_1.uintTo8Bytes)(ofs);
291
291
  await fs.writeFromBuf(fd, v1_obj_file_format_1.V1_FILE_START.length, ofsInBytes)
292
292
  .catch(exc => {
293
- throw error_1.errWithCause(exc, `Can't record layout offset in obj file`);
293
+ throw (0, error_1.errWithCause)(exc, `Can't record layout offset in obj file`);
294
294
  });
295
295
  }
296
296
  Object.freeze(exports);
@@ -42,7 +42,7 @@ function diffToLayout(diff) {
42
42
  }
43
43
  exports.diffToLayout = diffToLayout;
44
44
  async function streamToObjFile(file, content, src, maxBufferLen) {
45
- let deferred = processes_1.defer();
45
+ let deferred = (0, processes_1.defer)();
46
46
  const contentIter = content.values();
47
47
  let chunk = undefined;
48
48
  let buf = new common_1.BytesFIFOBuffer();
@@ -111,7 +111,7 @@ async function streamToObjFile(file, content, src, maxBufferLen) {
111
111
  });
112
112
  src.on('end', () => {
113
113
  if (chunk) {
114
- complete(file_1.makeFileException(file_1.Code.endOfFile, '<input stream>'));
114
+ complete((0, file_1.makeFileException)(file_1.Code.endOfFile, '<input stream>'));
115
115
  }
116
116
  else {
117
117
  complete();
@@ -125,7 +125,7 @@ exports.streamToObjFile = streamToObjFile;
125
125
  function chunksInOrderedStream(len, headerLen, segsOfs) {
126
126
  const chunks = [];
127
127
  if (typeof headerLen === 'number') {
128
- assert_1.assert(len >= headerLen);
128
+ (0, assert_1.assert)(len >= headerLen);
129
129
  chunks.push({ type: 'header', len: headerLen });
130
130
  len -= headerLen;
131
131
  }
@@ -439,7 +439,7 @@ class PressureValve {
439
439
  }
440
440
  pressWithError(err) {
441
441
  this.toggle(true);
442
- this.stopper.reject(error_1.errWithCause(err, `Backpressure error`));
442
+ this.stopper.reject((0, error_1.errWithCause)(err, `Backpressure error`));
443
443
  }
444
444
  }
445
445
  exports.PressureValve = PressureValve;
@@ -19,11 +19,11 @@ exports.stringOfB64Chars = exports.stringOfB64UrlSafeChars = exports.stringOfB64
19
19
  const buffer_utils_1 = require("./buffer-utils");
20
20
  const crypto_1 = require("crypto");
21
21
  function bytesSync(numOfBytes) {
22
- return crypto_1.randomBytes(numOfBytes);
22
+ return (0, crypto_1.randomBytes)(numOfBytes);
23
23
  }
24
24
  exports.bytesSync = bytesSync;
25
25
  function bytes(numOfBytes) {
26
- return new Promise((res, rej) => crypto_1.randomBytes(numOfBytes, (err, buf) => {
26
+ return new Promise((res, rej) => (0, crypto_1.randomBytes)(numOfBytes, (err, buf) => {
27
27
  if (err) {
28
28
  rej(err);
29
29
  }
@@ -34,15 +34,15 @@ function bytes(numOfBytes) {
34
34
  }
35
35
  exports.bytes = bytes;
36
36
  function uint8Sync() {
37
- return crypto_1.randomBytes(1)[0];
37
+ return (0, crypto_1.randomBytes)(1)[0];
38
38
  }
39
39
  exports.uint8Sync = uint8Sync;
40
40
  async function uint8() {
41
- return (await crypto_1.randomBytes(1))[0];
41
+ return (await (0, crypto_1.randomBytes)(1))[0];
42
42
  }
43
43
  exports.uint8 = uint8;
44
44
  function uint48Sync() {
45
- const b = crypto_1.randomBytes(6);
45
+ const b = (0, crypto_1.randomBytes)(6);
46
46
  const l = b[0] + (b[1] << 8) + (b[2] << 16) + (b[3] << 24);
47
47
  const h = b[4] + (b[5] << 8);
48
48
  return h * 0x100000000 + l;
@@ -57,13 +57,13 @@ async function uint48() {
57
57
  exports.uint48 = uint48;
58
58
  function stringOfB64UrlSafeCharsSync(numOfChars) {
59
59
  const numOfbytes = 3 * (1 + Math.floor(numOfChars / 4));
60
- const byteArr = crypto_1.randomBytes(numOfbytes);
60
+ const byteArr = (0, crypto_1.randomBytes)(numOfbytes);
61
61
  return buffer_utils_1.base64urlSafe.pack(byteArr).substring(0, numOfChars);
62
62
  }
63
63
  exports.stringOfB64UrlSafeCharsSync = stringOfB64UrlSafeCharsSync;
64
64
  function stringOfB64CharsSync(numOfChars) {
65
65
  const numOfbytes = 3 * (1 + Math.floor(numOfChars / 4));
66
- return crypto_1.randomBytes(numOfbytes).toString('base64').substring(0, numOfChars);
66
+ return (0, crypto_1.randomBytes)(numOfbytes).toString('base64').substring(0, numOfChars);
67
67
  }
68
68
  exports.stringOfB64CharsSync = stringOfB64CharsSync;
69
69
  async function stringOfB64UrlSafeChars(numOfChars) {
@@ -67,10 +67,11 @@ export interface GetObjQueryOpts {
67
67
  }
68
68
  export interface PutObjFirstQueryOpts {
69
69
  /**
70
- * This is a new object version parameter. When it is 1 (one), new object
71
- * should be created. If it is greater than one, changes are accepted only
72
- * when a current version on the server is (ver-1), ensuring that a client
73
- * knows current version on server to advance it.
70
+ * This is a flag to indicate that new object should be created.
71
+ */
72
+ create?: boolean;
73
+ /**
74
+ * This parameter is object's new version.
74
75
  */
75
76
  ver: number;
76
77
  /**