@tstdl/base 0.78.0-beta10 → 0.78.0-beta11

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.
@@ -14,12 +14,14 @@ class CustomError extends Error {
14
14
  }
15
15
  }
16
16
  exports.CustomError = CustomError;
17
- function init(instance, prototype, { name, message, cause }) {
18
- Object.setPrototypeOf(instance, prototype);
19
- instance.message = instance.message ?? message ?? '';
17
+ function init(instance, prototype, { name, message, cause, fast }) {
18
+ instance.message = instance.message ?? message ?? 'No error message provided.';
20
19
  instance.name = name ?? new.target?.errorName ?? prototype.name;
21
20
  if ((cause != undefined) && (instance.cause == undefined)) {
22
21
  instance.cause = cause;
23
22
  }
23
+ if (fast == true) {
24
+ Object.setPrototypeOf(instance, prototype);
25
+ }
24
26
  }
25
27
  //# sourceMappingURL=custom.error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom.error.js","sourceRoot":"","sources":["../../source/error/custom.error.ts"],"names":[],"mappings":";;;AAsBA,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAA2B;QACrC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;YACxB,MAAM,WAAW,GAAG,EAAE,CAAC;YAEvB,IAAI,CAAC,WAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE1D,iDAAiD;YACjD,OAAO,WAA0B,CAAC;SACnC;QAED,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAfD,kCAeC;AAED,SAAS,IAAI,CAAC,QAAe,EAAE,SAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAsB;IACjG,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE3C,QAAQ,CAAC,OAAO,GAAI,QAAQ,CAAC,OAA8B,IAAI,OAAO,IAAI,EAAE,CAAC;IAC7E,QAAQ,CAAC,IAAI,GAAG,IAAI,IAAK,GAAG,CAAC,MAAmD,EAAE,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC;IAE9G,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE;QACzD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;KACxB;AACH,CAAC"}
1
+ {"version":3,"file":"custom.error.js","sourceRoot":"","sources":["../../source/error/custom.error.ts"],"names":[],"mappings":";;;AAsBA,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAA2B;QACrC,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE;YACxB,MAAM,WAAW,GAAG,EAAE,CAAC;YAEvB,IAAI,CAAC,WAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE1D,iDAAiD;YACjD,OAAO,WAA0B,CAAC;SACnC;QAED,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF;AAfD,kCAeC;AAED,SAAS,IAAI,CAAC,QAAe,EAAE,SAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAsB;IACvG,QAAQ,CAAC,OAAO,GAAI,QAAQ,CAAC,OAA8B,IAAI,OAAO,IAAI,4BAA4B,CAAC;IACvG,QAAQ,CAAC,IAAI,GAAG,IAAI,IAAK,GAAG,CAAC,MAAmD,EAAE,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC;IAE9G,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE;QACzD,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;KACxB;IAED,IAAI,IAAI,IAAI,IAAI,EAAE;QAChB,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KAC5C;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tstdl/base",
3
- "version": "0.78.0-beta10",
3
+ "version": "0.78.0-beta11",
4
4
  "author": "Patrick Hein",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -39,7 +39,7 @@
39
39
  "peerDependencies": {
40
40
  "@elastic/elasticsearch": "^8.2",
41
41
  "@koa/router": "^12.0",
42
- "@tstdl/angular": "^0.11.0-beta10",
42
+ "@tstdl/angular": "^0.11.0-beta11",
43
43
  "chroma-js": "^2.4",
44
44
  "got": "^12.3",
45
45
  "handlebars": "^4.7",
@@ -1,2 +1,3 @@
1
1
  export * from './cancelable-promise';
2
2
  export * from './deferred-promise';
3
+ export * from './lazy-promise';
package/promise/index.js CHANGED
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./cancelable-promise"), exports);
18
18
  __exportStar(require("./deferred-promise"), exports);
19
+ __exportStar(require("./lazy-promise"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/promise/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/promise/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,qDAAmC;AACnC,iDAA+B"}
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.decompress = exports.decompressString = exports.compress = exports.compressString = void 0;
4
4
  const base64_1 = require("./base64");
5
5
  const encoding_1 = require("./encoding");
6
+ const object_1 = require("./object");
6
7
  const z_base32_1 = require("./z-base32");
8
+ const zlib = object_1.ForwardRef.create({ initializer: () => eval('require(\'zlib\')') });
7
9
  function compressString(input, algorithm, options) {
8
10
  const inputBuffer = (0, encoding_1.encodeUtf8)(input);
9
11
  return compress(inputBuffer, algorithm, options);
@@ -21,12 +23,11 @@ function compress(buffer, algorithm, options) {
21
23
  }
22
24
  exports.compress = compress;
23
25
  async function _compress(buffer, algorithm, options) {
24
- const Zlib = await Promise.resolve().then(() => require('zlib'));
25
26
  return new Promise((resolve, reject) => {
26
- const compressor = algorithm == 'gzip' ? Zlib.gzip
27
- : algorithm == 'brotli' ? Zlib.brotliDecompress
28
- : algorithm == 'deflate' ? Zlib.deflate
29
- : algorithm == 'deflate-raw' ? Zlib.deflateRaw // eslint-disable-line @typescript-eslint/no-unnecessary-condition
27
+ const compressor = algorithm == 'gzip' ? zlib.gzip
28
+ : algorithm == 'brotli' ? zlib.brotliDecompress
29
+ : algorithm == 'deflate' ? zlib.deflate
30
+ : algorithm == 'deflate-raw' ? zlib.deflateRaw // eslint-disable-line @typescript-eslint/no-unnecessary-condition
30
31
  : undefined;
31
32
  if (compressor == undefined) {
32
33
  throw new Error(`unsupported algorithm ${algorithm}`);
@@ -65,12 +66,11 @@ function decompress(buffer, algorithm, options) {
65
66
  }
66
67
  exports.decompress = decompress;
67
68
  async function _decompress(buffer, algorithm, options) {
68
- const Zlib = await Promise.resolve().then(() => require('zlib'));
69
69
  return new Promise((resolve, reject) => {
70
- const decompressor = algorithm == 'gzip' ? Zlib.gunzip
71
- : algorithm == 'brotli' ? Zlib.brotliDecompress
72
- : algorithm == 'deflate' ? Zlib.inflate
73
- : algorithm == 'deflate-raw' ? Zlib.inflateRaw // eslint-disable-line @typescript-eslint/no-unnecessary-condition
70
+ const decompressor = algorithm == 'gzip' ? zlib.gunzip
71
+ : algorithm == 'brotli' ? zlib.brotliDecompress
72
+ : algorithm == 'deflate' ? zlib.inflate
73
+ : algorithm == 'deflate-raw' ? zlib.inflateRaw // eslint-disable-line @typescript-eslint/no-unnecessary-condition
74
74
  : undefined;
75
75
  if (decompressor == undefined) {
76
76
  throw new Error(`unsupported algorithm ${algorithm}`);
@@ -1 +1 @@
1
- {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../source/utils/compression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../source/utils/compression.ts"],"names":[],"mappings":"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"}