@shad0wz7/nestjs-pdf 2.0.1 → 2.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/dist/index.js CHANGED
@@ -75,7 +75,7 @@ var require_main = __commonJS({
75
75
  }
76
76
  __name(dim, "dim");
77
77
  var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
78
- function parse(src) {
78
+ function parse4(src) {
79
79
  const obj = {};
80
80
  let lines = src.toString();
81
81
  lines = lines.replace(/\r\n?/mg, "\n");
@@ -94,7 +94,7 @@ var require_main = __commonJS({
94
94
  }
95
95
  return obj;
96
96
  }
97
- __name(parse, "parse");
97
+ __name(parse4, "parse");
98
98
  function _parseVault(options) {
99
99
  options = options || {};
100
100
  const vaultPath = _vaultPath(options);
@@ -278,8 +278,8 @@ var require_main = __commonJS({
278
278
  const shortPaths = [];
279
279
  for (const filePath of optionPaths) {
280
280
  try {
281
- const relative2 = path2.relative(process.cwd(), filePath);
282
- shortPaths.push(relative2);
281
+ const relative3 = path2.relative(process.cwd(), filePath);
282
+ shortPaths.push(relative3);
283
283
  } catch (e) {
284
284
  if (debug) {
285
285
  _debug(`failed to load ${filePath} ${e.message}`);
@@ -377,7 +377,7 @@ var require_main = __commonJS({
377
377
  _parseVault,
378
378
  config,
379
379
  decrypt,
380
- parse,
380
+ parse: parse4,
381
381
  populate
382
382
  };
383
383
  module2.exports.configDotenv = DotenvModule.configDotenv;
@@ -472,9 +472,9 @@ var require_main2 = __commonJS({
472
472
  }
473
473
  });
474
474
 
475
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.constants.js
475
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.constants.js
476
476
  var require_config_constants = __commonJS({
477
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.constants.js"(exports2) {
477
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.constants.js"(exports2) {
478
478
  "use strict";
479
479
  Object.defineProperty(exports2, "__esModule", {
480
480
  value: true
@@ -495,8 +495,8 @@ var require_config_constants = __commonJS({
495
495
  var require_isArray = __commonJS({
496
496
  "node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/isArray.js"(exports2, module2) {
497
497
  "use strict";
498
- var isArray = Array.isArray;
499
- module2.exports = isArray;
498
+ var isArray2 = Array.isArray;
499
+ module2.exports = isArray2;
500
500
  }
501
501
  });
502
502
 
@@ -567,11 +567,11 @@ var require_objectToString = __commonJS({
567
567
  "use strict";
568
568
  var objectProto = Object.prototype;
569
569
  var nativeObjectToString = objectProto.toString;
570
- function objectToString(value) {
570
+ function objectToString2(value) {
571
571
  return nativeObjectToString.call(value);
572
572
  }
573
- __name(objectToString, "objectToString");
574
- module2.exports = objectToString;
573
+ __name(objectToString2, "objectToString");
574
+ module2.exports = objectToString2;
575
575
  }
576
576
  });
577
577
 
@@ -581,7 +581,7 @@ var require_baseGetTag = __commonJS({
581
581
  "use strict";
582
582
  var Symbol2 = require_Symbol();
583
583
  var getRawTag = require_getRawTag();
584
- var objectToString = require_objectToString();
584
+ var objectToString2 = require_objectToString();
585
585
  var nullTag = "[object Null]";
586
586
  var undefinedTag = "[object Undefined]";
587
587
  var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
@@ -589,7 +589,7 @@ var require_baseGetTag = __commonJS({
589
589
  if (value == null) {
590
590
  return value === void 0 ? undefinedTag : nullTag;
591
591
  }
592
- return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
592
+ return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString2(value);
593
593
  }
594
594
  __name(baseGetTag, "baseGetTag");
595
595
  module2.exports = baseGetTag;
@@ -627,12 +627,12 @@ var require_isSymbol = __commonJS({
627
627
  var require_isKey = __commonJS({
628
628
  "node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_isKey.js"(exports2, module2) {
629
629
  "use strict";
630
- var isArray = require_isArray();
630
+ var isArray2 = require_isArray();
631
631
  var isSymbol = require_isSymbol();
632
632
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
633
633
  var reIsPlainProp = /^\w*$/;
634
634
  function isKey(value, object) {
635
- if (isArray(value)) {
635
+ if (isArray2(value)) {
636
636
  return false;
637
637
  }
638
638
  var type = typeof value;
@@ -669,15 +669,15 @@ var require_isFunction = __commonJS({
669
669
  var funcTag = "[object Function]";
670
670
  var genTag = "[object GeneratorFunction]";
671
671
  var proxyTag = "[object Proxy]";
672
- function isFunction(value) {
672
+ function isFunction2(value) {
673
673
  if (!isObject(value)) {
674
674
  return false;
675
675
  }
676
676
  var tag = baseGetTag(value);
677
677
  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
678
678
  }
679
- __name(isFunction, "isFunction");
680
- module2.exports = isFunction;
679
+ __name(isFunction2, "isFunction");
680
+ module2.exports = isFunction2;
681
681
  }
682
682
  });
683
683
 
@@ -736,7 +736,7 @@ var require_toSource = __commonJS({
736
736
  var require_baseIsNative = __commonJS({
737
737
  "node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_baseIsNative.js"(exports2, module2) {
738
738
  "use strict";
739
- var isFunction = require_isFunction();
739
+ var isFunction2 = require_isFunction();
740
740
  var isMasked = require_isMasked();
741
741
  var isObject = require_isObject();
742
742
  var toSource = require_toSource();
@@ -751,7 +751,7 @@ var require_baseIsNative = __commonJS({
751
751
  if (!isObject(value) || isMasked(value)) {
752
752
  return false;
753
753
  }
754
- var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
754
+ var pattern = isFunction2(value) ? reIsNative : reIsHostCtor;
755
755
  return pattern.test(toSource(value));
756
756
  }
757
757
  __name(baseIsNative, "baseIsNative");
@@ -1058,8 +1058,8 @@ var require_Map = __commonJS({
1058
1058
  "use strict";
1059
1059
  var getNative = require_getNative();
1060
1060
  var root = require_root();
1061
- var Map = getNative(root, "Map");
1062
- module2.exports = Map;
1061
+ var Map2 = getNative(root, "Map");
1062
+ module2.exports = Map2;
1063
1063
  }
1064
1064
  });
1065
1065
 
@@ -1069,12 +1069,12 @@ var require_mapCacheClear = __commonJS({
1069
1069
  "use strict";
1070
1070
  var Hash = require_Hash();
1071
1071
  var ListCache = require_ListCache();
1072
- var Map = require_Map();
1072
+ var Map2 = require_Map();
1073
1073
  function mapCacheClear() {
1074
1074
  this.size = 0;
1075
1075
  this.__data__ = {
1076
1076
  "hash": new Hash(),
1077
- "map": new (Map || ListCache)(),
1077
+ "map": new (Map2 || ListCache)(),
1078
1078
  "string": new Hash()
1079
1079
  };
1080
1080
  }
@@ -1286,7 +1286,7 @@ var require_baseToString = __commonJS({
1286
1286
  "use strict";
1287
1287
  var Symbol2 = require_Symbol();
1288
1288
  var arrayMap = require_arrayMap();
1289
- var isArray = require_isArray();
1289
+ var isArray2 = require_isArray();
1290
1290
  var isSymbol = require_isSymbol();
1291
1291
  var INFINITY = 1 / 0;
1292
1292
  var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
@@ -1295,7 +1295,7 @@ var require_baseToString = __commonJS({
1295
1295
  if (typeof value == "string") {
1296
1296
  return value;
1297
1297
  }
1298
- if (isArray(value)) {
1298
+ if (isArray2(value)) {
1299
1299
  return arrayMap(value, baseToString) + "";
1300
1300
  }
1301
1301
  if (isSymbol(value)) {
@@ -1326,12 +1326,12 @@ var require_toString = __commonJS({
1326
1326
  var require_castPath = __commonJS({
1327
1327
  "node_modules/.pnpm/lodash@4.18.1/node_modules/lodash/_castPath.js"(exports2, module2) {
1328
1328
  "use strict";
1329
- var isArray = require_isArray();
1329
+ var isArray2 = require_isArray();
1330
1330
  var isKey = require_isKey();
1331
1331
  var stringToPath = require_stringToPath();
1332
1332
  var toString = require_toString();
1333
1333
  function castPath(value, object) {
1334
- if (isArray(value)) {
1334
+ if (isArray2(value)) {
1335
1335
  return value;
1336
1336
  }
1337
1337
  return isKey(value, object) ? [
@@ -1476,7 +1476,7 @@ var require_hasPath = __commonJS({
1476
1476
  "use strict";
1477
1477
  var castPath = require_castPath();
1478
1478
  var isArguments = require_isArguments();
1479
- var isArray = require_isArray();
1479
+ var isArray2 = require_isArray();
1480
1480
  var isIndex = require_isIndex();
1481
1481
  var isLength = require_isLength();
1482
1482
  var toKey = require_toKey();
@@ -1494,7 +1494,7 @@ var require_hasPath = __commonJS({
1494
1494
  return result;
1495
1495
  }
1496
1496
  length = object == null ? 0 : object.length;
1497
- return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));
1497
+ return !!length && isLength(length) && isIndex(key, length) && (isArray2(object) || isArguments(object));
1498
1498
  }
1499
1499
  __name(hasPath, "hasPath");
1500
1500
  module2.exports = hasPath;
@@ -1623,9 +1623,9 @@ var require_set = __commonJS({
1623
1623
  }
1624
1624
  });
1625
1625
 
1626
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.service.js
1626
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.service.js
1627
1627
  var require_config_service = __commonJS({
1628
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.service.js"(exports2) {
1628
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.service.js"(exports2) {
1629
1629
  "use strict";
1630
1630
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
1631
1631
  if (k2 === void 0) k2 = k;
@@ -1858,9 +1858,9 @@ var require_config_service = __commonJS({
1858
1858
  }
1859
1859
  });
1860
1860
 
1861
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config-host.module.js
1861
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config-host.module.js
1862
1862
  var require_config_host_module = __commonJS({
1863
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config-host.module.js"(exports2) {
1863
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config-host.module.js"(exports2) {
1864
1864
  "use strict";
1865
1865
  var __decorate = exports2 && exports2.__decorate || function(decorators, target, key, desc) {
1866
1866
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1903,9 +1903,9 @@ var require_config_host_module = __commonJS({
1903
1903
  }
1904
1904
  });
1905
1905
 
1906
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/get-config-token.util.js
1906
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/get-config-token.util.js
1907
1907
  var require_get_config_token_util = __commonJS({
1908
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/get-config-token.util.js"(exports2) {
1908
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/get-config-token.util.js"(exports2) {
1909
1909
  "use strict";
1910
1910
  Object.defineProperty(exports2, "__esModule", {
1911
1911
  value: true
@@ -1918,9 +1918,9 @@ var require_get_config_token_util = __commonJS({
1918
1918
  }
1919
1919
  });
1920
1920
 
1921
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/create-config-factory.util.js
1921
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/create-config-factory.util.js
1922
1922
  var require_create_config_factory_util = __commonJS({
1923
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/create-config-factory.util.js"(exports2) {
1923
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/create-config-factory.util.js"(exports2) {
1924
1924
  "use strict";
1925
1925
  Object.defineProperty(exports2, "__esModule", {
1926
1926
  value: true
@@ -1939,9 +1939,9 @@ var require_create_config_factory_util = __commonJS({
1939
1939
  }
1940
1940
  });
1941
1941
 
1942
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/get-registration-token.util.js
1942
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/get-registration-token.util.js
1943
1943
  var require_get_registration_token_util = __commonJS({
1944
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/get-registration-token.util.js"(exports2) {
1944
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/get-registration-token.util.js"(exports2) {
1945
1945
  "use strict";
1946
1946
  Object.defineProperty(exports2, "__esModule", {
1947
1947
  value: true
@@ -1955,9 +1955,9 @@ var require_get_registration_token_util = __commonJS({
1955
1955
  }
1956
1956
  });
1957
1957
 
1958
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/merge-configs.util.js
1958
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/merge-configs.util.js
1959
1959
  var require_merge_configs_util = __commonJS({
1960
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/merge-configs.util.js"(exports2) {
1960
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/merge-configs.util.js"(exports2) {
1961
1961
  "use strict";
1962
1962
  var __importDefault = exports2 && exports2.__importDefault || function(mod) {
1963
1963
  return mod && mod.__esModule ? mod : {
@@ -1980,9 +1980,9 @@ var require_merge_configs_util = __commonJS({
1980
1980
  }
1981
1981
  });
1982
1982
 
1983
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.module.js
1983
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.module.js
1984
1984
  var require_config_module = __commonJS({
1985
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.module.js"(exports2) {
1985
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/config.module.js"(exports2) {
1986
1986
  "use strict";
1987
1987
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
1988
1988
  if (k2 === void 0) k2 = k;
@@ -2237,7 +2237,7 @@ var require_config_module = __commonJS({
2237
2237
  }
2238
2238
  };
2239
2239
  exports2.ConfigModule = ConfigModule2;
2240
- ConfigModule2._envVariablesLoaded = new Promise((resolve3) => ConfigModule_1.environmentVariablesLoadedSignal = resolve3);
2240
+ ConfigModule2._envVariablesLoaded = new Promise((resolve5) => ConfigModule_1.environmentVariablesLoadedSignal = resolve5);
2241
2241
  exports2.ConfigModule = ConfigModule2 = ConfigModule_1 = __decorate([
2242
2242
  (0, common_1.Module)({
2243
2243
  imports: [
@@ -2258,9 +2258,9 @@ var require_config_module = __commonJS({
2258
2258
  }
2259
2259
  });
2260
2260
 
2261
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/conditional.module.js
2261
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/conditional.module.js
2262
2262
  var require_conditional_module = __commonJS({
2263
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/conditional.module.js"(exports2) {
2263
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/conditional.module.js"(exports2) {
2264
2264
  "use strict";
2265
2265
  Object.defineProperty(exports2, "__esModule", {
2266
2266
  value: true
@@ -2320,9 +2320,9 @@ var require_conditional_module = __commonJS({
2320
2320
  }
2321
2321
  });
2322
2322
 
2323
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/config-object.type.js
2323
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/config-object.type.js
2324
2324
  var require_config_object_type = __commonJS({
2325
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/config-object.type.js"(exports2) {
2325
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/config-object.type.js"(exports2) {
2326
2326
  "use strict";
2327
2327
  Object.defineProperty(exports2, "__esModule", {
2328
2328
  value: true
@@ -2330,9 +2330,9 @@ var require_config_object_type = __commonJS({
2330
2330
  }
2331
2331
  });
2332
2332
 
2333
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/config.type.js
2333
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/config.type.js
2334
2334
  var require_config_type = __commonJS({
2335
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/config.type.js"(exports2) {
2335
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/config.type.js"(exports2) {
2336
2336
  "use strict";
2337
2337
  Object.defineProperty(exports2, "__esModule", {
2338
2338
  value: true
@@ -2340,9 +2340,9 @@ var require_config_type = __commonJS({
2340
2340
  }
2341
2341
  });
2342
2342
 
2343
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/no-infer.type.js
2343
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/no-infer.type.js
2344
2344
  var require_no_infer_type = __commonJS({
2345
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/no-infer.type.js"(exports2) {
2345
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/no-infer.type.js"(exports2) {
2346
2346
  "use strict";
2347
2347
  Object.defineProperty(exports2, "__esModule", {
2348
2348
  value: true
@@ -2350,9 +2350,9 @@ var require_no_infer_type = __commonJS({
2350
2350
  }
2351
2351
  });
2352
2352
 
2353
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/path-value.type.js
2353
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/path-value.type.js
2354
2354
  var require_path_value_type = __commonJS({
2355
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/path-value.type.js"(exports2) {
2355
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/path-value.type.js"(exports2) {
2356
2356
  "use strict";
2357
2357
  Object.defineProperty(exports2, "__esModule", {
2358
2358
  value: true
@@ -2360,9 +2360,9 @@ var require_path_value_type = __commonJS({
2360
2360
  }
2361
2361
  });
2362
2362
 
2363
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/index.js
2363
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/index.js
2364
2364
  var require_types = __commonJS({
2365
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/index.js"(exports2) {
2365
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/types/index.js"(exports2) {
2366
2366
  "use strict";
2367
2367
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
2368
2368
  if (k2 === void 0) k2 = k;
@@ -2393,9 +2393,9 @@ var require_types = __commonJS({
2393
2393
  }
2394
2394
  });
2395
2395
 
2396
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/register-as.util.js
2396
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/register-as.util.js
2397
2397
  var require_register_as_util = __commonJS({
2398
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/register-as.util.js"(exports2) {
2398
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/register-as.util.js"(exports2) {
2399
2399
  "use strict";
2400
2400
  Object.defineProperty(exports2, "__esModule", {
2401
2401
  value: true
@@ -2430,9 +2430,9 @@ var require_register_as_util = __commonJS({
2430
2430
  }
2431
2431
  });
2432
2432
 
2433
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/index.js
2433
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/index.js
2434
2434
  var require_utils = __commonJS({
2435
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/index.js"(exports2) {
2435
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/utils/index.js"(exports2) {
2436
2436
  "use strict";
2437
2437
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
2438
2438
  if (k2 === void 0) k2 = k;
@@ -2461,9 +2461,9 @@ var require_utils = __commonJS({
2461
2461
  }
2462
2462
  });
2463
2463
 
2464
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-change-event.interface.js
2464
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-change-event.interface.js
2465
2465
  var require_config_change_event_interface = __commonJS({
2466
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-change-event.interface.js"(exports2) {
2466
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-change-event.interface.js"(exports2) {
2467
2467
  "use strict";
2468
2468
  Object.defineProperty(exports2, "__esModule", {
2469
2469
  value: true
@@ -2471,9 +2471,9 @@ var require_config_change_event_interface = __commonJS({
2471
2471
  }
2472
2472
  });
2473
2473
 
2474
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-factory.interface.js
2474
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-factory.interface.js
2475
2475
  var require_config_factory_interface = __commonJS({
2476
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-factory.interface.js"(exports2) {
2476
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-factory.interface.js"(exports2) {
2477
2477
  "use strict";
2478
2478
  Object.defineProperty(exports2, "__esModule", {
2479
2479
  value: true
@@ -2481,9 +2481,9 @@ var require_config_factory_interface = __commonJS({
2481
2481
  }
2482
2482
  });
2483
2483
 
2484
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-module-options.interface.js
2484
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-module-options.interface.js
2485
2485
  var require_config_module_options_interface = __commonJS({
2486
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-module-options.interface.js"(exports2) {
2486
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/config-module-options.interface.js"(exports2) {
2487
2487
  "use strict";
2488
2488
  Object.defineProperty(exports2, "__esModule", {
2489
2489
  value: true
@@ -2491,9 +2491,9 @@ var require_config_module_options_interface = __commonJS({
2491
2491
  }
2492
2492
  });
2493
2493
 
2494
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/index.js
2494
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/index.js
2495
2495
  var require_interfaces = __commonJS({
2496
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/index.js"(exports2) {
2496
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/interfaces/index.js"(exports2) {
2497
2497
  "use strict";
2498
2498
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
2499
2499
  if (k2 === void 0) k2 = k;
@@ -2523,9 +2523,9 @@ var require_interfaces = __commonJS({
2523
2523
  }
2524
2524
  });
2525
2525
 
2526
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/index.js
2526
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/index.js
2527
2527
  var require_dist = __commonJS({
2528
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/index.js"(exports2) {
2528
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/dist/index.js"(exports2) {
2529
2529
  "use strict";
2530
2530
  var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
2531
2531
  if (k2 === void 0) k2 = k;
@@ -2558,9 +2558,9 @@ var require_dist = __commonJS({
2558
2558
  }
2559
2559
  });
2560
2560
 
2561
- // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/index.js
2561
+ // node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/index.js
2562
2562
  var require_config = __commonJS({
2563
- "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.21_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/index.js"(exports2) {
2563
+ "node_modules/.pnpm/@nestjs+config@4.0.4_@nestjs+common@11.1.23_reflect-metadata@0.2.2_rxjs@7.8.2__rxjs@7.8.2/node_modules/@nestjs/config/index.js"(exports2) {
2564
2564
  "use strict";
2565
2565
  function __export2(m) {
2566
2566
  for (var p in m) if (!exports2.hasOwnProperty(p)) exports2[p] = m[p];
@@ -2575,9 +2575,12 @@ var require_config = __commonJS({
2575
2575
  var index_exports = {};
2576
2576
  __export(index_exports, {
2577
2577
  EjsService: () => EjsService,
2578
+ EtaService: () => EtaService,
2578
2579
  MjmlService: () => MjmlService,
2580
+ MustacheService: () => MustacheService,
2579
2581
  NestjsPdfModule: () => NestjsPdfModule,
2580
2582
  NestjsPdfService: () => NestjsPdfService,
2583
+ NunjucksService: () => NunjucksService,
2581
2584
  PugService: () => PugService,
2582
2585
  PuppeteerModule: () => PuppeteerModule,
2583
2586
  PuppeteerService: () => PuppeteerService,
@@ -2586,24 +2589,23 @@ __export(index_exports, {
2586
2589
  module.exports = __toCommonJS(index_exports);
2587
2590
 
2588
2591
  // src/nestjs-pdf.module.ts
2589
- var import_common8 = require("@nestjs/common");
2592
+ var import_common11 = require("@nestjs/common");
2590
2593
 
2591
2594
  // src/nestjs-pdf.service.ts
2592
- var import_common6 = require("@nestjs/common");
2595
+ var import_common9 = require("@nestjs/common");
2593
2596
 
2594
2597
  // src/puppeteer/puppeteer.service.ts
2595
- var import_common5 = require("@nestjs/common");
2598
+ var import_common8 = require("@nestjs/common");
2596
2599
 
2597
- // src/puppeteer/helpers/tokens.ts
2600
+ // src/helpers/tokens.ts
2598
2601
  var PDF_PARAMETERS = "PDF_PARAMETERS";
2599
2602
  var HANDLEBARS_PARAMETERS = "HANDLEBARS_PARAMETERS";
2600
2603
 
2601
- // src/puppeteer/browser.service.ts
2604
+ // src/puppeteer/browser/browser.service.ts
2602
2605
  var import_common = require("@nestjs/common");
2603
- var puppeteerBrowser = __toESM(require("@puppeteer/browsers"));
2604
- var fs = __toESM(require("fs"));
2605
- var path = __toESM(require("path"));
2606
- var import_puppeteer = __toESM(require("puppeteer"));
2606
+ var import_node_fs = require("fs");
2607
+ var import_node_path = require("path");
2608
+ var import_puppeteer = require("puppeteer");
2607
2609
  var import_browsers = require("@puppeteer/browsers");
2608
2610
  function _ts_decorate(decorators, target, key, desc) {
2609
2611
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -2629,7 +2631,7 @@ __name(sleep, "sleep");
2629
2631
  async function rmWithRetries(dir, retries = 5) {
2630
2632
  for (let attempt = 1; attempt <= retries; attempt++) {
2631
2633
  try {
2632
- await fs.promises.rm(dir, {
2634
+ await import_node_fs.promises.rm(dir, {
2633
2635
  recursive: true,
2634
2636
  force: true
2635
2637
  });
@@ -2661,7 +2663,7 @@ var BrowserService = class {
2661
2663
  useLockedBrowser;
2662
2664
  buildId;
2663
2665
  constructor(pdfParams) {
2664
- this.cacheDir = path.resolve(".cache/puppeteer-browser");
2666
+ this.cacheDir = (0, import_node_path.resolve)(".cache/puppeteer-browser");
2665
2667
  this.options = pdfParams;
2666
2668
  if (pdfParams.cleanupBrowserCacheOnExit) {
2667
2669
  this.registerCleanupHooks();
@@ -2684,7 +2686,7 @@ var BrowserService = class {
2684
2686
  async getBrowserInstance(args, headless) {
2685
2687
  if (!this._browserInstance?.connected) {
2686
2688
  const executablePath = await this.getExecutablePath();
2687
- this._browserInstance = await import_puppeteer.default.launch({
2689
+ this._browserInstance = await (0, import_puppeteer.launch)({
2688
2690
  executablePath,
2689
2691
  headless,
2690
2692
  args
@@ -2734,10 +2736,10 @@ var BrowserService = class {
2734
2736
  const logger = new import_common.Logger("NestJsPdf");
2735
2737
  const dir = this.cacheDir;
2736
2738
  try {
2737
- if (!fs.existsSync(dir)) return;
2739
+ if (!(0, import_node_fs.existsSync)(dir)) return;
2738
2740
  logger.log(`Cleanup puppeteer cache on signal: ${dir}`);
2739
2741
  await rmWithRetries(dir, 6);
2740
- if (fs.existsSync(dir)) {
2742
+ if ((0, import_node_fs.existsSync)(dir)) {
2741
2743
  await sleep(100);
2742
2744
  await rmWithRetries(dir, 3);
2743
2745
  }
@@ -2746,7 +2748,7 @@ var BrowserService = class {
2746
2748
  logger.error(`Cleanup failed for ${dir}`, err instanceof Error ? err.stack : String(err));
2747
2749
  }
2748
2750
  try {
2749
- const leftover = await fs.promises.readdir(dir, {
2751
+ const leftover = await import_node_fs.promises.readdir(dir, {
2750
2752
  recursive: true
2751
2753
  });
2752
2754
  logger.warn(`Leftover files: ${leftover.slice(0, 20).join(", ")}...`);
@@ -2757,10 +2759,10 @@ var BrowserService = class {
2757
2759
  async install(lock = false) {
2758
2760
  const browser = this.browser;
2759
2761
  const versionTag = this.browserTag;
2760
- const browserPlatform = puppeteerBrowser.detectBrowserPlatform() ?? puppeteerBrowser.BrowserPlatform.LINUX;
2762
+ const browserPlatform = (0, import_browsers.detectBrowserPlatform)() ?? import_browsers.BrowserPlatform.LINUX;
2761
2763
  let buildId;
2762
2764
  if (this.buildId === void 0) {
2763
- buildId = await puppeteerBrowser.resolveBuildId(browser, browserPlatform, versionTag);
2765
+ buildId = await (0, import_browsers.resolveBuildId)(browser, browserPlatform, versionTag);
2764
2766
  } else {
2765
2767
  buildId = this.buildId;
2766
2768
  }
@@ -2779,9 +2781,9 @@ var BrowserService = class {
2779
2781
  buildId,
2780
2782
  baseUrl: this.options?.browserInstallBaseUrl ?? void 0
2781
2783
  };
2782
- if (await puppeteerBrowser.canDownload(installOption)) {
2784
+ if (await (0, import_browsers.canDownload)(installOption)) {
2783
2785
  import_common.Logger.log(`Installing ${installOption.browser} ${installOption.buildId}`, "NestJsPdf");
2784
- const installedBrowser = await puppeteerBrowser.install(installOption);
2786
+ const installedBrowser = await (0, import_browsers.install)(installOption);
2785
2787
  if (await this.hasBrowserInstalled(browser, buildId)) {
2786
2788
  import_common.Logger.log("Browser installed successfully", "NestJsPdf");
2787
2789
  if (lock) {
@@ -2873,7 +2875,7 @@ var BrowserService = class {
2873
2875
  this.useLockedBrowser = useLockedBrowser;
2874
2876
  }
2875
2877
  async hasBrowserInstalled(browser, buildId) {
2876
- const installedBrowserlist = await puppeteerBrowser.getInstalledBrowsers({
2878
+ const installedBrowserlist = await (0, import_browsers.getInstalledBrowsers)({
2877
2879
  cacheDir: this.cacheDir
2878
2880
  });
2879
2881
  const installedBrowser = installedBrowserlist.find((installedBrowser2) => {
@@ -2884,14 +2886,14 @@ var BrowserService = class {
2884
2886
  async getExecutablePath() {
2885
2887
  const browser = this.browser;
2886
2888
  const versionTag = this.browserTag;
2887
- const browserPlatform = puppeteerBrowser.detectBrowserPlatform() ?? puppeteerBrowser.BrowserPlatform.LINUX;
2889
+ const browserPlatform = (0, import_browsers.detectBrowserPlatform)() ?? import_browsers.BrowserPlatform.LINUX;
2888
2890
  let buildId = null;
2889
2891
  if (this.useLockedBrowser) {
2890
2892
  buildId = this.getLockedBuildId(browser);
2891
2893
  import_common.Logger.log(`Using locked browser ${buildId}`, "NestJsPdf");
2892
2894
  }
2893
- buildId ??= await puppeteerBrowser.resolveBuildId(browser, browserPlatform, versionTag);
2894
- const installedBrowserlist = await puppeteerBrowser.getInstalledBrowsers({
2895
+ buildId ??= await (0, import_browsers.resolveBuildId)(browser, browserPlatform, versionTag);
2896
+ const installedBrowserlist = await (0, import_browsers.getInstalledBrowsers)({
2895
2897
  cacheDir: this.cacheDir
2896
2898
  });
2897
2899
  const installedBrowser = installedBrowserlist.find((installedBrowser2) => {
@@ -2908,19 +2910,19 @@ var BrowserService = class {
2908
2910
  return installedBrowser.executablePath;
2909
2911
  }
2910
2912
  writeLockFile(browser, buildId) {
2911
- const lockFile = path.resolve(this.cacheDir, `${browser}.lock`);
2913
+ const lockFile = (0, import_node_path.resolve)(this.cacheDir, `${browser}.lock`);
2912
2914
  const data = JSON.stringify({
2913
2915
  browser,
2914
2916
  buildId,
2915
2917
  date: (/* @__PURE__ */ new Date()).toISOString()
2916
2918
  });
2917
- fs.writeFileSync(lockFile, data);
2919
+ (0, import_node_fs.writeFileSync)(lockFile, data);
2918
2920
  import_common.Logger.log(`Browser ${browser} locked to build ${buildId}`, "NestJsPdf");
2919
2921
  }
2920
2922
  getLockedBuildId(browser) {
2921
- const lockFile = path.resolve(this.cacheDir, `${browser}.lock`);
2922
- if (fs.existsSync(lockFile)) {
2923
- const data = fs.readFileSync(lockFile);
2923
+ const lockFile = (0, import_node_path.resolve)(this.cacheDir, `${browser}.lock`);
2924
+ if ((0, import_node_fs.existsSync)(lockFile)) {
2925
+ const data = (0, import_node_fs.readFileSync)(lockFile);
2924
2926
  const lock = JSON.parse(data.toString());
2925
2927
  return lock.buildId;
2926
2928
  }
@@ -2952,10 +2954,10 @@ __name(mergePuppeteerParameters, "mergePuppeteerParameters");
2952
2954
  var import_p_limit = __toESM(require("p-limit"));
2953
2955
  var import_nestjs_hbs = require("@gboutte/nestjs-hbs");
2954
2956
 
2955
- // src/puppeteer/services/mjml.service.ts
2957
+ // src/puppeteer/engines/mjml/mjml.service.ts
2956
2958
  var import_common2 = require("@nestjs/common");
2957
2959
  var import_mjml = __toESM(require("mjml"));
2958
- var import_node_fs = require("fs");
2960
+ var import_node_fs2 = require("fs");
2959
2961
  function _ts_decorate2(decorators, target, key, desc) {
2960
2962
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2961
2963
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -2972,7 +2974,7 @@ var MjmlService = class {
2972
2974
  return html;
2973
2975
  }
2974
2976
  async renderFile(filePath, options) {
2975
- const template = (0, import_node_fs.readFileSync)(filePath, "utf-8");
2977
+ const template = (0, import_node_fs2.readFileSync)(filePath, "utf-8");
2976
2978
  return await this.render(template, options);
2977
2979
  }
2978
2980
  };
@@ -2980,10 +2982,10 @@ MjmlService = _ts_decorate2([
2980
2982
  (0, import_common2.Injectable)()
2981
2983
  ], MjmlService);
2982
2984
 
2983
- // src/puppeteer/services/pug.service.ts
2985
+ // src/puppeteer/engines/pug/pug.service.ts
2984
2986
  var import_common3 = require("@nestjs/common");
2985
- var import_pug = __toESM(require("pug"));
2986
- var import_node_fs2 = require("fs");
2987
+ var import_node_fs3 = require("fs");
2988
+ var import_pug = require("pug");
2987
2989
  function _ts_decorate3(decorators, target, key, desc) {
2988
2990
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2989
2991
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -2997,7 +2999,7 @@ var PugService = class {
2997
2999
  }
2998
3000
  render(template, data = {}, options) {
2999
3001
  try {
3000
- const compiledFn = import_pug.default.compile(template, {
3002
+ const compiledFn = (0, import_pug.compile)(template, {
3001
3003
  ...options
3002
3004
  });
3003
3005
  return compiledFn(data);
@@ -3009,7 +3011,7 @@ var PugService = class {
3009
3011
  }
3010
3012
  renderFile(filePath, data = {}, options) {
3011
3013
  try {
3012
- const template = (0, import_node_fs2.readFileSync)(filePath, "utf-8");
3014
+ const template = (0, import_node_fs3.readFileSync)(filePath, "utf-8");
3013
3015
  return this.render(template, data, options);
3014
3016
  } catch (error) {
3015
3017
  throw new Error(`Pug file rendering failed: ${String(error)}`, {
@@ -3022,7 +3024,7 @@ PugService = _ts_decorate3([
3022
3024
  (0, import_common3.Injectable)()
3023
3025
  ], PugService);
3024
3026
 
3025
- // src/puppeteer/services/ejs.service.ts
3027
+ // src/puppeteer/engines/ejs/ejs.service.ts
3026
3028
  var import_common4 = require("@nestjs/common");
3027
3029
  var import_ejs = require("ejs");
3028
3030
  function _ts_decorate4(decorators, target, key, desc) {
@@ -3065,7 +3067,9 @@ EjsService = _ts_decorate4([
3065
3067
  (0, import_common4.Injectable)()
3066
3068
  ], EjsService);
3067
3069
 
3068
- // src/puppeteer/puppeteer.service.ts
3070
+ // src/puppeteer/engines/nunjucks/nunjucks.service.ts
3071
+ var import_common5 = require("@nestjs/common");
3072
+ var import_nunjucks = require("nunjucks");
3069
3073
  function _ts_decorate5(decorators, target, key, desc) {
3070
3074
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3071
3075
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -3077,6 +3081,1224 @@ function _ts_metadata2(k, v) {
3077
3081
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3078
3082
  }
3079
3083
  __name(_ts_metadata2, "_ts_metadata");
3084
+ var NunjucksService = class {
3085
+ static {
3086
+ __name(this, "NunjucksService");
3087
+ }
3088
+ constructor() {
3089
+ (0, import_nunjucks.configure)({
3090
+ noCache: true,
3091
+ trimBlocks: true,
3092
+ lstripBlocks: true
3093
+ });
3094
+ }
3095
+ render(template, data = {}, options) {
3096
+ try {
3097
+ if (options) {
3098
+ const configOptions = {
3099
+ noCache: options.noCache ?? true,
3100
+ watch: options.watch ?? false,
3101
+ throwOnUndefined: options.throwOnUndefined ?? false,
3102
+ trimBlocks: options.trimBlocks ?? true,
3103
+ lstripBlocks: options.lstripBlocks ?? true
3104
+ };
3105
+ (0, import_nunjucks.configure)(configOptions);
3106
+ }
3107
+ return (0, import_nunjucks.renderString)(template, data);
3108
+ } catch (error) {
3109
+ throw new Error(`Nunjucks rendering failed: ${String(error)}`, {
3110
+ cause: error
3111
+ });
3112
+ }
3113
+ }
3114
+ renderFile(filePath, data = {}, options) {
3115
+ try {
3116
+ if (options) {
3117
+ const configOptions = {
3118
+ noCache: options.noCache ?? true,
3119
+ watch: options.watch ?? false,
3120
+ throwOnUndefined: options.throwOnUndefined ?? false,
3121
+ trimBlocks: options.trimBlocks ?? true,
3122
+ lstripBlocks: options.lstripBlocks ?? true
3123
+ };
3124
+ (0, import_nunjucks.configure)(configOptions);
3125
+ }
3126
+ return (0, import_nunjucks.render)(filePath, data);
3127
+ } catch (error) {
3128
+ throw new Error(`Nunjucks file rendering failed: ${String(error)}`, {
3129
+ cause: error
3130
+ });
3131
+ }
3132
+ }
3133
+ };
3134
+ NunjucksService = _ts_decorate5([
3135
+ (0, import_common5.Injectable)(),
3136
+ _ts_metadata2("design:type", Function),
3137
+ _ts_metadata2("design:paramtypes", [])
3138
+ ], NunjucksService);
3139
+
3140
+ // src/puppeteer/engines/eta/eta.service.ts
3141
+ var import_common6 = require("@nestjs/common");
3142
+
3143
+ // node_modules/.pnpm/eta@4.6.0/node_modules/eta/dist/index.mjs
3144
+ var fs = __toESM(require("fs"), 1);
3145
+ var path = __toESM(require("path"), 1);
3146
+ var EtaError = class extends Error {
3147
+ static {
3148
+ __name(this, "EtaError");
3149
+ }
3150
+ constructor(message) {
3151
+ super(message);
3152
+ this.name = "Eta Error";
3153
+ }
3154
+ };
3155
+ var EtaParseError = class extends EtaError {
3156
+ static {
3157
+ __name(this, "EtaParseError");
3158
+ }
3159
+ constructor(message) {
3160
+ super(message);
3161
+ this.name = "EtaParser Error";
3162
+ }
3163
+ };
3164
+ var EtaRuntimeError = class extends EtaError {
3165
+ static {
3166
+ __name(this, "EtaRuntimeError");
3167
+ }
3168
+ constructor(message) {
3169
+ super(message);
3170
+ this.name = "EtaRuntime Error";
3171
+ }
3172
+ };
3173
+ var EtaFileResolutionError = class extends EtaError {
3174
+ static {
3175
+ __name(this, "EtaFileResolutionError");
3176
+ }
3177
+ constructor(message) {
3178
+ super(message);
3179
+ this.name = "EtaFileResolution Error";
3180
+ }
3181
+ };
3182
+ var EtaNameResolutionError = class extends EtaError {
3183
+ static {
3184
+ __name(this, "EtaNameResolutionError");
3185
+ }
3186
+ constructor(message) {
3187
+ super(message);
3188
+ this.name = "EtaNameResolution Error";
3189
+ }
3190
+ };
3191
+ function ParseErr(message, str, indx) {
3192
+ const whitespace = str.slice(0, indx).split(/\n/);
3193
+ const lineNo = whitespace.length;
3194
+ const colNo = whitespace[lineNo - 1].length + 1;
3195
+ message += " at line " + lineNo + " col " + colNo + ":\n\n " + str.split(/\n/)[lineNo - 1] + "\n " + Array(colNo).join(" ") + "^";
3196
+ throw new EtaParseError(message);
3197
+ }
3198
+ __name(ParseErr, "ParseErr");
3199
+ function RuntimeErr(originalError, str, lineNo, path$1) {
3200
+ const lines = str.split("\n");
3201
+ const start = Math.max(lineNo - 3, 0);
3202
+ const end = Math.min(lines.length, lineNo + 3);
3203
+ const filename = path$1;
3204
+ const context = lines.slice(start, end).map((line, i) => {
3205
+ const curr = i + start + 1;
3206
+ return (curr === lineNo ? " >> " : " ") + curr + "| " + line;
3207
+ }).join("\n");
3208
+ const err = new EtaRuntimeError((filename ? filename + ":" + lineNo + "\n" : "line " + lineNo + "\n") + context + "\n\n" + originalError.message);
3209
+ err.name = originalError.name;
3210
+ err.cause = originalError;
3211
+ throw err;
3212
+ }
3213
+ __name(RuntimeErr, "RuntimeErr");
3214
+ function readFile(path$1) {
3215
+ let res = "";
3216
+ try {
3217
+ res = fs.readFileSync(path$1, "utf8");
3218
+ } catch (err) {
3219
+ if (err?.code === "ENOENT") throw new EtaFileResolutionError(`Could not find template: ${path$1}`);
3220
+ else throw err;
3221
+ }
3222
+ return res;
3223
+ }
3224
+ __name(readFile, "readFile");
3225
+ function resolvePath(templatePath, options) {
3226
+ let resolvedFilePath = "";
3227
+ const views = this.config.views;
3228
+ if (!views) throw new EtaFileResolutionError("Views directory is not defined");
3229
+ const baseFilePath = options?.filepath;
3230
+ const defaultExtension = this.config.defaultExtension === void 0 ? ".eta" : this.config.defaultExtension;
3231
+ const cacheIndex = JSON.stringify({
3232
+ filename: baseFilePath,
3233
+ path: templatePath,
3234
+ views: this.config.views
3235
+ });
3236
+ templatePath += path.extname(templatePath) ? "" : defaultExtension;
3237
+ if (baseFilePath) {
3238
+ if (this.config.cacheFilepaths && this.filepathCache[cacheIndex]) return this.filepathCache[cacheIndex];
3239
+ if (absolutePathRegExp.exec(templatePath)?.length) {
3240
+ const formattedPath = templatePath.replace(/^\/*|^\\*/, "");
3241
+ resolvedFilePath = path.join(views, formattedPath);
3242
+ } else resolvedFilePath = path.join(path.dirname(baseFilePath), templatePath);
3243
+ } else resolvedFilePath = path.join(views, templatePath);
3244
+ if (dirIsChild(views, resolvedFilePath)) {
3245
+ if (baseFilePath && this.config.cacheFilepaths) this.filepathCache[cacheIndex] = resolvedFilePath;
3246
+ return resolvedFilePath;
3247
+ } else throw new EtaFileResolutionError(`Template '${templatePath}' is not in the views directory`);
3248
+ }
3249
+ __name(resolvePath, "resolvePath");
3250
+ function dirIsChild(parent, dir) {
3251
+ const relative3 = path.relative(parent, dir);
3252
+ return relative3 && !relative3.startsWith("..") && !path.isAbsolute(relative3);
3253
+ }
3254
+ __name(dirIsChild, "dirIsChild");
3255
+ var absolutePathRegExp = /^\\|^\//;
3256
+ var AsyncFunction = (async () => {
3257
+ }).constructor;
3258
+ function compile2(str, options) {
3259
+ const config = this.config;
3260
+ const ctor = options?.async ? AsyncFunction : Function;
3261
+ try {
3262
+ return new ctor(config.varName, "options", this.compileToString.call(this, str, options));
3263
+ } catch (e) {
3264
+ if (e instanceof SyntaxError) throw new EtaParseError("Bad template syntax\n\n" + e.message + "\n" + Array(e.message.length + 1).join("=") + "\n" + this.compileToString.call(this, str, options) + "\n");
3265
+ else throw e;
3266
+ }
3267
+ }
3268
+ __name(compile2, "compile");
3269
+ function compileToString(str, options) {
3270
+ const config = this.config;
3271
+ const isAsync = options?.async;
3272
+ const compileBody$1 = this.compileBody;
3273
+ const buffer = this.parse.call(this, str);
3274
+ let res = `${config.functionHeader}
3275
+ let include = (__eta_t, __eta_d) => this.render(__eta_t, {...${config.varName}, ...(__eta_d ?? {})}, options);
3276
+ let includeAsync = (__eta_t, __eta_d) => this.renderAsync(__eta_t, {...${config.varName}, ...(__eta_d ?? {})}, options);
3277
+
3278
+ let __eta = {res: "", e: this.config.escapeFunction, f: this.config.filterFunction, blocks: {}${config.debug ? ', line: 1, templateStr: "' + str.replace(/\\|"/g, "\\$&").replace(/\r\n|\n|\r/g, "\\n") + '"' : ""}};
3279
+
3280
+ function layout(path, data) {
3281
+ __eta.layout = path;
3282
+ __eta.layoutData = data;
3283
+ }${config.debug ? "try {" : ""}${config.useWith ? "with(" + config.varName + "||{}){" : ""}
3284
+
3285
+ function ${config.outputFunctionName}(s){__eta.res+=s;}
3286
+ function capture(fn){const s=__eta.res;__eta.res='';try{fn();return __eta.res}finally{__eta.res=s;}}
3287
+ async function captureAsync(fn){const s=__eta.res;__eta.res='';try{await fn();return __eta.res}finally{__eta.res=s;}}
3288
+ function block(name,fn){if(__eta.layout){if(fn){__eta.blocks[name]=capture(fn);}return '';}const b=${config.varName}.__blocks||{};if(name in b){return b[name];}return fn?capture(fn):'';}
3289
+ async function blockAsync(name,fn){if(__eta.layout){if(fn){__eta.blocks[name]=await captureAsync(fn);}return '';}const b=${config.varName}.__blocks||{};if(name in b){return b[name];}return fn?await captureAsync(fn):'';}
3290
+
3291
+ ${compileBody$1.call(this, buffer)}
3292
+ if (__eta.layout) {
3293
+ __eta.res = ${isAsync ? "await includeAsync" : "include"} (__eta.layout, {...${config.varName}, body: __eta.res, ...__eta.layoutData, __blocks: __eta.blocks});
3294
+ }
3295
+ ${config.useWith ? "}" : ""}${config.debug ? "} catch (e) { this.RuntimeErr(e, __eta.templateStr, __eta.line, options.filepath) }" : ""}
3296
+ return __eta.res;
3297
+ `;
3298
+ if (config.plugins) for (let i = 0; i < config.plugins.length; i++) {
3299
+ const plugin = config.plugins[i];
3300
+ if (plugin.processFnString) res = plugin.processFnString(res, config);
3301
+ }
3302
+ return res;
3303
+ }
3304
+ __name(compileToString, "compileToString");
3305
+ function compileBody(buff) {
3306
+ const config = this.config;
3307
+ let i = 0;
3308
+ const buffLength = buff.length;
3309
+ let returnStr = "";
3310
+ for (; i < buffLength; i++) {
3311
+ const currentBlock = buff[i];
3312
+ if (typeof currentBlock === "string") returnStr += "__eta.res+='" + currentBlock + "';\n";
3313
+ else {
3314
+ const type = currentBlock.t;
3315
+ let content = currentBlock.val || "";
3316
+ if (config.debug) returnStr += "__eta.line=" + currentBlock.lineNo + "\n";
3317
+ if (type === "r") {
3318
+ if (config.autoFilter) content = "__eta.f(" + content + ")";
3319
+ returnStr += "__eta.res+=" + content + ";\n";
3320
+ } else if (type === "i") {
3321
+ if (config.autoFilter) content = "__eta.f(" + content + ")";
3322
+ if (config.autoEscape) content = "__eta.e(" + content + ")";
3323
+ returnStr += "__eta.res+=" + content + ";\n";
3324
+ } else if (type === "e") returnStr += content + "\n";
3325
+ else if (Object.hasOwn(config.customTags, type)) returnStr += `__eta.res+=this.config.customTags[${JSON.stringify(type)}](${JSON.stringify(content)},${config.varName});
3326
+ `;
3327
+ }
3328
+ }
3329
+ return returnStr;
3330
+ }
3331
+ __name(compileBody, "compileBody");
3332
+ function trimWS(str, config, wsLeft, wsRight) {
3333
+ let leftTrim;
3334
+ let rightTrim;
3335
+ if (Array.isArray(config.autoTrim)) {
3336
+ leftTrim = config.autoTrim[1];
3337
+ rightTrim = config.autoTrim[0];
3338
+ } else leftTrim = rightTrim = config.autoTrim;
3339
+ if (wsLeft || wsLeft === false) leftTrim = wsLeft;
3340
+ if (wsRight || wsRight === false) rightTrim = wsRight;
3341
+ if (!rightTrim && !leftTrim) return str;
3342
+ if (leftTrim === "slurp" && rightTrim === "slurp") return str.trim();
3343
+ if (leftTrim === "_" || leftTrim === "slurp") str = str.trimStart();
3344
+ else if (leftTrim === "-" || leftTrim === "nl") str = str.replace(/^(?:\r\n|\n|\r)/, "");
3345
+ if (rightTrim === "_" || rightTrim === "slurp") str = str.trimEnd();
3346
+ else if (rightTrim === "-" || rightTrim === "nl") str = str.replace(/(?:\r\n|\n|\r)$/, "");
3347
+ return str;
3348
+ }
3349
+ __name(trimWS, "trimWS");
3350
+ var escMap = {
3351
+ "&": "&amp;",
3352
+ "<": "&lt;",
3353
+ ">": "&gt;",
3354
+ '"': "&quot;",
3355
+ "'": "&#39;"
3356
+ };
3357
+ function replaceChar(s) {
3358
+ return escMap[s];
3359
+ }
3360
+ __name(replaceChar, "replaceChar");
3361
+ function XMLEscape(str) {
3362
+ const newStr = String(str);
3363
+ if (/[&<>"']/.test(newStr)) return newStr.replace(/[&<>"']/g, replaceChar);
3364
+ else return newStr;
3365
+ }
3366
+ __name(XMLEscape, "XMLEscape");
3367
+ var defaultConfig = {
3368
+ autoEscape: true,
3369
+ autoFilter: false,
3370
+ autoTrim: [false, "nl"],
3371
+ cache: false,
3372
+ cacheFilepaths: true,
3373
+ customTags: {},
3374
+ debug: false,
3375
+ escapeFunction: XMLEscape,
3376
+ filterFunction: /* @__PURE__ */ __name((val) => String(val), "filterFunction"),
3377
+ outputFunctionName: "output",
3378
+ functionHeader: "",
3379
+ parse: {
3380
+ exec: "",
3381
+ interpolate: "=",
3382
+ raw: "~"
3383
+ },
3384
+ plugins: [],
3385
+ rmWhitespace: false,
3386
+ tags: ["<%", "%>"],
3387
+ useWith: false,
3388
+ varName: "it",
3389
+ defaultExtension: ".eta"
3390
+ };
3391
+ var templateLitReg = /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g;
3392
+ var singleQuoteReg = /'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g;
3393
+ var doubleQuoteReg = /"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g;
3394
+ function escapeRegExp(string) {
3395
+ return string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&");
3396
+ }
3397
+ __name(escapeRegExp, "escapeRegExp");
3398
+ function getLineNo(str, index) {
3399
+ return str.slice(0, index).split("\n").length;
3400
+ }
3401
+ __name(getLineNo, "getLineNo");
3402
+ function parse(str) {
3403
+ const config = this.config;
3404
+ let buffer = [];
3405
+ let trimLeftOfNextStr = false;
3406
+ let lastIndex = 0;
3407
+ const parseOptions = config.parse;
3408
+ const customTagPrefixes = Object.keys(config.customTags);
3409
+ if (config.plugins) for (let i = 0; i < config.plugins.length; i++) {
3410
+ const plugin = config.plugins[i];
3411
+ if (plugin.processTemplate) str = plugin.processTemplate(str, config);
3412
+ }
3413
+ if (config.rmWhitespace) str = str.replace(/[\r\n]+/g, "\n").replace(/^\s+|\s+$/gm, "");
3414
+ templateLitReg.lastIndex = 0;
3415
+ singleQuoteReg.lastIndex = 0;
3416
+ doubleQuoteReg.lastIndex = 0;
3417
+ function pushString(strng, shouldTrimRightOfString) {
3418
+ if (strng) {
3419
+ strng = trimWS(strng, config, trimLeftOfNextStr, shouldTrimRightOfString);
3420
+ if (strng) {
3421
+ strng = strng.replace(/\\|'/g, "\\$&").replace(/\r\n|\n|\r/g, "\\n");
3422
+ buffer.push(strng);
3423
+ }
3424
+ }
3425
+ }
3426
+ __name(pushString, "pushString");
3427
+ const prefixes = [
3428
+ parseOptions.exec,
3429
+ parseOptions.interpolate,
3430
+ parseOptions.raw,
3431
+ ...customTagPrefixes
3432
+ ].reduce((accumulator, prefix) => {
3433
+ if (accumulator && prefix) return accumulator + "|" + escapeRegExp(prefix);
3434
+ else if (prefix) return escapeRegExp(prefix);
3435
+ else return accumulator;
3436
+ }, "");
3437
+ const parseOpenReg = new RegExp(escapeRegExp(config.tags[0]) + "(-|_)?\\s*(" + prefixes + ")?\\s*", "g");
3438
+ const parseCloseReg = new RegExp("'|\"|`|\\/\\*|(\\s*(-|_)?" + escapeRegExp(config.tags[1]) + ")", "g");
3439
+ let m;
3440
+ while (m = parseOpenReg.exec(str)) {
3441
+ const precedingString = str.slice(lastIndex, m.index);
3442
+ lastIndex = m[0].length + m.index;
3443
+ const wsLeft = m[1];
3444
+ const prefix = m[2] || "";
3445
+ pushString(precedingString, wsLeft);
3446
+ parseCloseReg.lastIndex = lastIndex;
3447
+ let closeTag;
3448
+ let currentObj = false;
3449
+ while (closeTag = parseCloseReg.exec(str)) if (closeTag[1]) {
3450
+ const content = str.slice(lastIndex, closeTag.index);
3451
+ parseOpenReg.lastIndex = lastIndex = parseCloseReg.lastIndex;
3452
+ trimLeftOfNextStr = closeTag[2];
3453
+ currentObj = {
3454
+ t: prefix === parseOptions.exec ? "e" : prefix === parseOptions.raw ? "r" : prefix === parseOptions.interpolate ? "i" : customTagPrefixes.includes(prefix) ? prefix : "",
3455
+ val: content
3456
+ };
3457
+ break;
3458
+ } else {
3459
+ const char = closeTag[0];
3460
+ if (char === "/*") {
3461
+ const commentCloseInd = str.indexOf("*/", parseCloseReg.lastIndex);
3462
+ if (commentCloseInd === -1) ParseErr("unclosed comment", str, closeTag.index);
3463
+ parseCloseReg.lastIndex = commentCloseInd;
3464
+ } else if (char === "'") {
3465
+ singleQuoteReg.lastIndex = closeTag.index;
3466
+ if (singleQuoteReg.exec(str)) parseCloseReg.lastIndex = singleQuoteReg.lastIndex;
3467
+ else ParseErr("unclosed string", str, closeTag.index);
3468
+ } else if (char === '"') {
3469
+ doubleQuoteReg.lastIndex = closeTag.index;
3470
+ if (doubleQuoteReg.exec(str)) parseCloseReg.lastIndex = doubleQuoteReg.lastIndex;
3471
+ else ParseErr("unclosed string", str, closeTag.index);
3472
+ } else if (char === "`") {
3473
+ templateLitReg.lastIndex = closeTag.index;
3474
+ if (templateLitReg.exec(str)) parseCloseReg.lastIndex = templateLitReg.lastIndex;
3475
+ else ParseErr("unclosed string", str, closeTag.index);
3476
+ }
3477
+ }
3478
+ if (currentObj) {
3479
+ if (config.debug) currentObj.lineNo = getLineNo(str, m.index);
3480
+ buffer.push(currentObj);
3481
+ } else ParseErr("unclosed tag", str, m.index);
3482
+ }
3483
+ pushString(str.slice(lastIndex, str.length), false);
3484
+ if (config.plugins) for (let i = 0; i < config.plugins.length; i++) {
3485
+ const plugin = config.plugins[i];
3486
+ if (plugin.processAST) buffer = plugin.processAST(buffer, config);
3487
+ }
3488
+ return buffer;
3489
+ }
3490
+ __name(parse, "parse");
3491
+ function handleCache(template, options) {
3492
+ const templateStore = options?.async ? this.templatesAsync : this.templatesSync;
3493
+ if (this.resolvePath && this.readFile && !template.startsWith("@")) {
3494
+ const templatePath = options.filepath;
3495
+ const cachedTemplate = templateStore.get(templatePath);
3496
+ if (this.config.cache && cachedTemplate) return cachedTemplate;
3497
+ else {
3498
+ const templateString = this.readFile(templatePath);
3499
+ const templateFn = this.compile(templateString, options);
3500
+ if (this.config.cache) templateStore.define(templatePath, templateFn);
3501
+ return templateFn;
3502
+ }
3503
+ } else {
3504
+ const cachedTemplate = templateStore.get(template);
3505
+ if (cachedTemplate) return cachedTemplate;
3506
+ else throw new EtaNameResolutionError(`Failed to get template '${template}'`);
3507
+ }
3508
+ }
3509
+ __name(handleCache, "handleCache");
3510
+ function render3(template, data, meta) {
3511
+ let templateFn;
3512
+ const options = {
3513
+ ...meta,
3514
+ async: false
3515
+ };
3516
+ if (typeof template === "string") {
3517
+ if (this.resolvePath && this.readFile && !template.startsWith("@")) options.filepath = this.resolvePath(template, options);
3518
+ templateFn = handleCache.call(this, template, options);
3519
+ } else templateFn = template;
3520
+ return templateFn.call(this, data, options);
3521
+ }
3522
+ __name(render3, "render");
3523
+ function renderAsync(template, data, meta) {
3524
+ let templateFn;
3525
+ const options = {
3526
+ ...meta,
3527
+ async: true
3528
+ };
3529
+ if (typeof template === "string") {
3530
+ if (this.resolvePath && this.readFile && !template.startsWith("@")) options.filepath = this.resolvePath(template, options);
3531
+ templateFn = handleCache.call(this, template, options);
3532
+ } else templateFn = template;
3533
+ const res = templateFn.call(this, data, options);
3534
+ return Promise.resolve(res);
3535
+ }
3536
+ __name(renderAsync, "renderAsync");
3537
+ function renderString2(template, data) {
3538
+ const templateFn = this.compile(template, { async: false });
3539
+ return render3.call(this, templateFn, data);
3540
+ }
3541
+ __name(renderString2, "renderString");
3542
+ function renderStringAsync(template, data) {
3543
+ const templateFn = this.compile(template, { async: true });
3544
+ return renderAsync.call(this, templateFn, data);
3545
+ }
3546
+ __name(renderStringAsync, "renderStringAsync");
3547
+ var Cacher = class {
3548
+ static {
3549
+ __name(this, "Cacher");
3550
+ }
3551
+ constructor(cache) {
3552
+ this.cache = cache;
3553
+ }
3554
+ define(key, val) {
3555
+ this.cache[key] = val;
3556
+ }
3557
+ get(key) {
3558
+ return this.cache[key];
3559
+ }
3560
+ remove(key) {
3561
+ delete this.cache[key];
3562
+ }
3563
+ reset() {
3564
+ this.cache = {};
3565
+ }
3566
+ load(cacheObj) {
3567
+ this.cache = {
3568
+ ...this.cache,
3569
+ ...cacheObj
3570
+ };
3571
+ }
3572
+ };
3573
+ var Eta$1 = class {
3574
+ static {
3575
+ __name(this, "Eta$1");
3576
+ }
3577
+ constructor(customConfig) {
3578
+ if (customConfig) this.config = {
3579
+ ...defaultConfig,
3580
+ ...customConfig
3581
+ };
3582
+ else this.config = { ...defaultConfig };
3583
+ const reserved = [
3584
+ this.config.parse.exec,
3585
+ this.config.parse.interpolate,
3586
+ this.config.parse.raw,
3587
+ "-",
3588
+ "_"
3589
+ ];
3590
+ for (const prefix of Object.keys(this.config.customTags)) if (reserved.includes(prefix)) throw new EtaError(`Custom tag prefix "${prefix}" conflicts with a built-in prefix`);
3591
+ }
3592
+ config;
3593
+ RuntimeErr = RuntimeErr;
3594
+ compile = compile2;
3595
+ compileToString = compileToString;
3596
+ compileBody = compileBody;
3597
+ parse = parse;
3598
+ render = render3;
3599
+ renderAsync = renderAsync;
3600
+ renderString = renderString2;
3601
+ renderStringAsync = renderStringAsync;
3602
+ filepathCache = {};
3603
+ templatesSync = new Cacher({});
3604
+ templatesAsync = new Cacher({});
3605
+ resolvePath = null;
3606
+ readFile = null;
3607
+ configure(customConfig) {
3608
+ this.config = {
3609
+ ...this.config,
3610
+ ...customConfig
3611
+ };
3612
+ }
3613
+ withConfig(customConfig) {
3614
+ return {
3615
+ ...this,
3616
+ config: {
3617
+ ...this.config,
3618
+ ...customConfig
3619
+ }
3620
+ };
3621
+ }
3622
+ loadTemplate(name, template, options) {
3623
+ if (typeof template === "string") (options?.async ? this.templatesAsync : this.templatesSync).define(name, this.compile(template, options));
3624
+ else {
3625
+ let templates = this.templatesSync;
3626
+ if (template.constructor.name === "AsyncFunction" || options?.async) templates = this.templatesAsync;
3627
+ templates.define(name, template);
3628
+ }
3629
+ }
3630
+ };
3631
+ var Eta = class extends Eta$1 {
3632
+ static {
3633
+ __name(this, "Eta");
3634
+ }
3635
+ readFile = readFile;
3636
+ resolvePath = resolvePath;
3637
+ };
3638
+
3639
+ // src/puppeteer/engines/eta/eta.service.ts
3640
+ var import_node_path2 = require("path");
3641
+ var import_node_fs4 = require("fs");
3642
+ function _ts_decorate6(decorators, target, key, desc) {
3643
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3644
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3645
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3646
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3647
+ }
3648
+ __name(_ts_decorate6, "_ts_decorate");
3649
+ function _ts_metadata3(k, v) {
3650
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3651
+ }
3652
+ __name(_ts_metadata3, "_ts_metadata");
3653
+ var EtaService = class {
3654
+ static {
3655
+ __name(this, "EtaService");
3656
+ }
3657
+ eta;
3658
+ templateCache = /* @__PURE__ */ new Map();
3659
+ maxCacheSize = 100;
3660
+ constructor() {
3661
+ this.eta = new Eta({
3662
+ cache: true,
3663
+ autoEscape: true,
3664
+ useWith: true
3665
+ });
3666
+ }
3667
+ /**
3668
+ * Render an Eta template from a string
3669
+ * @param template The template string to render
3670
+ * @param data The data object to use for rendering
3671
+ * @param options Optional Eta rendering options
3672
+ * @returns The rendered HTML string
3673
+ */
3674
+ render(template, data = {}, options) {
3675
+ try {
3676
+ const eta = options && Object.keys(options).length > 0 ? new Eta({
3677
+ cache: true,
3678
+ autoEscape: true,
3679
+ useWith: true,
3680
+ ...options,
3681
+ varName: options.varName ?? "it"
3682
+ }) : this.eta;
3683
+ return eta.renderString(template, data);
3684
+ } catch (error) {
3685
+ throw new Error(`Eta rendering failed: ${String(error)}`, {
3686
+ cause: error
3687
+ });
3688
+ }
3689
+ }
3690
+ /**
3691
+ * Render an Eta template from a file
3692
+ * @param filePath The path to the template file
3693
+ * @param data The data object to use for rendering
3694
+ * @param options Optional Eta rendering options
3695
+ * @returns The rendered HTML string
3696
+ */
3697
+ renderFile(filePath, data = {}, options) {
3698
+ try {
3699
+ const resolvedPath = (0, import_node_path2.resolve)(filePath);
3700
+ const useCache = options?.cache ?? true;
3701
+ let template = useCache ? this.templateCache.get(resolvedPath) : void 0;
3702
+ if (!template) {
3703
+ template = (0, import_node_fs4.readFileSync)(resolvedPath, "utf-8");
3704
+ if (useCache && this.templateCache.size < this.maxCacheSize) {
3705
+ this.templateCache.set(resolvedPath, template);
3706
+ }
3707
+ }
3708
+ return this.render(template, data, options);
3709
+ } catch (error) {
3710
+ throw new Error(`Eta file rendering failed for ${filePath}: ${String(error)}`, {
3711
+ cause: error
3712
+ });
3713
+ }
3714
+ }
3715
+ /**
3716
+ * Clear the template cache
3717
+ */
3718
+ clearCache() {
3719
+ this.templateCache.clear();
3720
+ }
3721
+ /**
3722
+ * Get the current cache size
3723
+ * @returns The number of cached templates
3724
+ */
3725
+ getCacheSize() {
3726
+ return this.templateCache.size;
3727
+ }
3728
+ };
3729
+ EtaService = _ts_decorate6([
3730
+ (0, import_common6.Injectable)(),
3731
+ _ts_metadata3("design:type", Function),
3732
+ _ts_metadata3("design:paramtypes", [])
3733
+ ], EtaService);
3734
+
3735
+ // src/puppeteer/engines/mustache/mustache.service.ts
3736
+ var import_common7 = require("@nestjs/common");
3737
+
3738
+ // node_modules/.pnpm/mustache@4.2.0/node_modules/mustache/mustache.mjs
3739
+ var objectToString = Object.prototype.toString;
3740
+ var isArray = Array.isArray || /* @__PURE__ */ __name(function isArrayPolyfill(object) {
3741
+ return objectToString.call(object) === "[object Array]";
3742
+ }, "isArrayPolyfill");
3743
+ function isFunction(object) {
3744
+ return typeof object === "function";
3745
+ }
3746
+ __name(isFunction, "isFunction");
3747
+ function typeStr(obj) {
3748
+ return isArray(obj) ? "array" : typeof obj;
3749
+ }
3750
+ __name(typeStr, "typeStr");
3751
+ function escapeRegExp2(string) {
3752
+ return string.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
3753
+ }
3754
+ __name(escapeRegExp2, "escapeRegExp");
3755
+ function hasProperty(obj, propName) {
3756
+ return obj != null && typeof obj === "object" && propName in obj;
3757
+ }
3758
+ __name(hasProperty, "hasProperty");
3759
+ function primitiveHasOwnProperty(primitive, propName) {
3760
+ return primitive != null && typeof primitive !== "object" && primitive.hasOwnProperty && primitive.hasOwnProperty(propName);
3761
+ }
3762
+ __name(primitiveHasOwnProperty, "primitiveHasOwnProperty");
3763
+ var regExpTest = RegExp.prototype.test;
3764
+ function testRegExp(re, string) {
3765
+ return regExpTest.call(re, string);
3766
+ }
3767
+ __name(testRegExp, "testRegExp");
3768
+ var nonSpaceRe = /\S/;
3769
+ function isWhitespace(string) {
3770
+ return !testRegExp(nonSpaceRe, string);
3771
+ }
3772
+ __name(isWhitespace, "isWhitespace");
3773
+ var entityMap = {
3774
+ "&": "&amp;",
3775
+ "<": "&lt;",
3776
+ ">": "&gt;",
3777
+ '"': "&quot;",
3778
+ "'": "&#39;",
3779
+ "/": "&#x2F;",
3780
+ "`": "&#x60;",
3781
+ "=": "&#x3D;"
3782
+ };
3783
+ function escapeHtml(string) {
3784
+ return String(string).replace(/[&<>"'`=\/]/g, /* @__PURE__ */ __name(function fromEntityMap(s) {
3785
+ return entityMap[s];
3786
+ }, "fromEntityMap"));
3787
+ }
3788
+ __name(escapeHtml, "escapeHtml");
3789
+ var whiteRe = /\s*/;
3790
+ var spaceRe = /\s+/;
3791
+ var equalsRe = /\s*=/;
3792
+ var curlyRe = /\s*\}/;
3793
+ var tagRe = /#|\^|\/|>|\{|&|=|!/;
3794
+ function parseTemplate(template, tags) {
3795
+ if (!template)
3796
+ return [];
3797
+ var lineHasNonSpace = false;
3798
+ var sections = [];
3799
+ var tokens = [];
3800
+ var spaces = [];
3801
+ var hasTag = false;
3802
+ var nonSpace = false;
3803
+ var indentation = "";
3804
+ var tagIndex = 0;
3805
+ function stripSpace() {
3806
+ if (hasTag && !nonSpace) {
3807
+ while (spaces.length)
3808
+ delete tokens[spaces.pop()];
3809
+ } else {
3810
+ spaces = [];
3811
+ }
3812
+ hasTag = false;
3813
+ nonSpace = false;
3814
+ }
3815
+ __name(stripSpace, "stripSpace");
3816
+ var openingTagRe, closingTagRe, closingCurlyRe;
3817
+ function compileTags(tagsToCompile) {
3818
+ if (typeof tagsToCompile === "string")
3819
+ tagsToCompile = tagsToCompile.split(spaceRe, 2);
3820
+ if (!isArray(tagsToCompile) || tagsToCompile.length !== 2)
3821
+ throw new Error("Invalid tags: " + tagsToCompile);
3822
+ openingTagRe = new RegExp(escapeRegExp2(tagsToCompile[0]) + "\\s*");
3823
+ closingTagRe = new RegExp("\\s*" + escapeRegExp2(tagsToCompile[1]));
3824
+ closingCurlyRe = new RegExp("\\s*" + escapeRegExp2("}" + tagsToCompile[1]));
3825
+ }
3826
+ __name(compileTags, "compileTags");
3827
+ compileTags(tags || mustache.tags);
3828
+ var scanner = new Scanner(template);
3829
+ var start, type, value, chr, token, openSection;
3830
+ while (!scanner.eos()) {
3831
+ start = scanner.pos;
3832
+ value = scanner.scanUntil(openingTagRe);
3833
+ if (value) {
3834
+ for (var i = 0, valueLength = value.length; i < valueLength; ++i) {
3835
+ chr = value.charAt(i);
3836
+ if (isWhitespace(chr)) {
3837
+ spaces.push(tokens.length);
3838
+ indentation += chr;
3839
+ } else {
3840
+ nonSpace = true;
3841
+ lineHasNonSpace = true;
3842
+ indentation += " ";
3843
+ }
3844
+ tokens.push(["text", chr, start, start + 1]);
3845
+ start += 1;
3846
+ if (chr === "\n") {
3847
+ stripSpace();
3848
+ indentation = "";
3849
+ tagIndex = 0;
3850
+ lineHasNonSpace = false;
3851
+ }
3852
+ }
3853
+ }
3854
+ if (!scanner.scan(openingTagRe))
3855
+ break;
3856
+ hasTag = true;
3857
+ type = scanner.scan(tagRe) || "name";
3858
+ scanner.scan(whiteRe);
3859
+ if (type === "=") {
3860
+ value = scanner.scanUntil(equalsRe);
3861
+ scanner.scan(equalsRe);
3862
+ scanner.scanUntil(closingTagRe);
3863
+ } else if (type === "{") {
3864
+ value = scanner.scanUntil(closingCurlyRe);
3865
+ scanner.scan(curlyRe);
3866
+ scanner.scanUntil(closingTagRe);
3867
+ type = "&";
3868
+ } else {
3869
+ value = scanner.scanUntil(closingTagRe);
3870
+ }
3871
+ if (!scanner.scan(closingTagRe))
3872
+ throw new Error("Unclosed tag at " + scanner.pos);
3873
+ if (type == ">") {
3874
+ token = [type, value, start, scanner.pos, indentation, tagIndex, lineHasNonSpace];
3875
+ } else {
3876
+ token = [type, value, start, scanner.pos];
3877
+ }
3878
+ tagIndex++;
3879
+ tokens.push(token);
3880
+ if (type === "#" || type === "^") {
3881
+ sections.push(token);
3882
+ } else if (type === "/") {
3883
+ openSection = sections.pop();
3884
+ if (!openSection)
3885
+ throw new Error('Unopened section "' + value + '" at ' + start);
3886
+ if (openSection[1] !== value)
3887
+ throw new Error('Unclosed section "' + openSection[1] + '" at ' + start);
3888
+ } else if (type === "name" || type === "{" || type === "&") {
3889
+ nonSpace = true;
3890
+ } else if (type === "=") {
3891
+ compileTags(value);
3892
+ }
3893
+ }
3894
+ stripSpace();
3895
+ openSection = sections.pop();
3896
+ if (openSection)
3897
+ throw new Error('Unclosed section "' + openSection[1] + '" at ' + scanner.pos);
3898
+ return nestTokens(squashTokens(tokens));
3899
+ }
3900
+ __name(parseTemplate, "parseTemplate");
3901
+ function squashTokens(tokens) {
3902
+ var squashedTokens = [];
3903
+ var token, lastToken;
3904
+ for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {
3905
+ token = tokens[i];
3906
+ if (token) {
3907
+ if (token[0] === "text" && lastToken && lastToken[0] === "text") {
3908
+ lastToken[1] += token[1];
3909
+ lastToken[3] = token[3];
3910
+ } else {
3911
+ squashedTokens.push(token);
3912
+ lastToken = token;
3913
+ }
3914
+ }
3915
+ }
3916
+ return squashedTokens;
3917
+ }
3918
+ __name(squashTokens, "squashTokens");
3919
+ function nestTokens(tokens) {
3920
+ var nestedTokens = [];
3921
+ var collector = nestedTokens;
3922
+ var sections = [];
3923
+ var token, section;
3924
+ for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {
3925
+ token = tokens[i];
3926
+ switch (token[0]) {
3927
+ case "#":
3928
+ case "^":
3929
+ collector.push(token);
3930
+ sections.push(token);
3931
+ collector = token[4] = [];
3932
+ break;
3933
+ case "/":
3934
+ section = sections.pop();
3935
+ section[5] = token[2];
3936
+ collector = sections.length > 0 ? sections[sections.length - 1][4] : nestedTokens;
3937
+ break;
3938
+ default:
3939
+ collector.push(token);
3940
+ }
3941
+ }
3942
+ return nestedTokens;
3943
+ }
3944
+ __name(nestTokens, "nestTokens");
3945
+ function Scanner(string) {
3946
+ this.string = string;
3947
+ this.tail = string;
3948
+ this.pos = 0;
3949
+ }
3950
+ __name(Scanner, "Scanner");
3951
+ Scanner.prototype.eos = /* @__PURE__ */ __name(function eos() {
3952
+ return this.tail === "";
3953
+ }, "eos");
3954
+ Scanner.prototype.scan = /* @__PURE__ */ __name(function scan(re) {
3955
+ var match = this.tail.match(re);
3956
+ if (!match || match.index !== 0)
3957
+ return "";
3958
+ var string = match[0];
3959
+ this.tail = this.tail.substring(string.length);
3960
+ this.pos += string.length;
3961
+ return string;
3962
+ }, "scan");
3963
+ Scanner.prototype.scanUntil = /* @__PURE__ */ __name(function scanUntil(re) {
3964
+ var index = this.tail.search(re), match;
3965
+ switch (index) {
3966
+ case -1:
3967
+ match = this.tail;
3968
+ this.tail = "";
3969
+ break;
3970
+ case 0:
3971
+ match = "";
3972
+ break;
3973
+ default:
3974
+ match = this.tail.substring(0, index);
3975
+ this.tail = this.tail.substring(index);
3976
+ }
3977
+ this.pos += match.length;
3978
+ return match;
3979
+ }, "scanUntil");
3980
+ function Context(view, parentContext) {
3981
+ this.view = view;
3982
+ this.cache = { ".": this.view };
3983
+ this.parent = parentContext;
3984
+ }
3985
+ __name(Context, "Context");
3986
+ Context.prototype.push = /* @__PURE__ */ __name(function push(view) {
3987
+ return new Context(view, this);
3988
+ }, "push");
3989
+ Context.prototype.lookup = /* @__PURE__ */ __name(function lookup(name) {
3990
+ var cache = this.cache;
3991
+ var value;
3992
+ if (cache.hasOwnProperty(name)) {
3993
+ value = cache[name];
3994
+ } else {
3995
+ var context = this, intermediateValue, names, index, lookupHit = false;
3996
+ while (context) {
3997
+ if (name.indexOf(".") > 0) {
3998
+ intermediateValue = context.view;
3999
+ names = name.split(".");
4000
+ index = 0;
4001
+ while (intermediateValue != null && index < names.length) {
4002
+ if (index === names.length - 1)
4003
+ lookupHit = hasProperty(intermediateValue, names[index]) || primitiveHasOwnProperty(intermediateValue, names[index]);
4004
+ intermediateValue = intermediateValue[names[index++]];
4005
+ }
4006
+ } else {
4007
+ intermediateValue = context.view[name];
4008
+ lookupHit = hasProperty(context.view, name);
4009
+ }
4010
+ if (lookupHit) {
4011
+ value = intermediateValue;
4012
+ break;
4013
+ }
4014
+ context = context.parent;
4015
+ }
4016
+ cache[name] = value;
4017
+ }
4018
+ if (isFunction(value))
4019
+ value = value.call(this.view);
4020
+ return value;
4021
+ }, "lookup");
4022
+ function Writer() {
4023
+ this.templateCache = {
4024
+ _cache: {},
4025
+ set: /* @__PURE__ */ __name(function set(key, value) {
4026
+ this._cache[key] = value;
4027
+ }, "set"),
4028
+ get: /* @__PURE__ */ __name(function get(key) {
4029
+ return this._cache[key];
4030
+ }, "get"),
4031
+ clear: /* @__PURE__ */ __name(function clear() {
4032
+ this._cache = {};
4033
+ }, "clear")
4034
+ };
4035
+ }
4036
+ __name(Writer, "Writer");
4037
+ Writer.prototype.clearCache = /* @__PURE__ */ __name(function clearCache() {
4038
+ if (typeof this.templateCache !== "undefined") {
4039
+ this.templateCache.clear();
4040
+ }
4041
+ }, "clearCache");
4042
+ Writer.prototype.parse = /* @__PURE__ */ __name(function parse2(template, tags) {
4043
+ var cache = this.templateCache;
4044
+ var cacheKey = template + ":" + (tags || mustache.tags).join(":");
4045
+ var isCacheEnabled = typeof cache !== "undefined";
4046
+ var tokens = isCacheEnabled ? cache.get(cacheKey) : void 0;
4047
+ if (tokens == void 0) {
4048
+ tokens = parseTemplate(template, tags);
4049
+ isCacheEnabled && cache.set(cacheKey, tokens);
4050
+ }
4051
+ return tokens;
4052
+ }, "parse");
4053
+ Writer.prototype.render = /* @__PURE__ */ __name(function render4(template, view, partials, config) {
4054
+ var tags = this.getConfigTags(config);
4055
+ var tokens = this.parse(template, tags);
4056
+ var context = view instanceof Context ? view : new Context(view, void 0);
4057
+ return this.renderTokens(tokens, context, partials, template, config);
4058
+ }, "render");
4059
+ Writer.prototype.renderTokens = /* @__PURE__ */ __name(function renderTokens(tokens, context, partials, originalTemplate, config) {
4060
+ var buffer = "";
4061
+ var token, symbol, value;
4062
+ for (var i = 0, numTokens = tokens.length; i < numTokens; ++i) {
4063
+ value = void 0;
4064
+ token = tokens[i];
4065
+ symbol = token[0];
4066
+ if (symbol === "#") value = this.renderSection(token, context, partials, originalTemplate, config);
4067
+ else if (symbol === "^") value = this.renderInverted(token, context, partials, originalTemplate, config);
4068
+ else if (symbol === ">") value = this.renderPartial(token, context, partials, config);
4069
+ else if (symbol === "&") value = this.unescapedValue(token, context);
4070
+ else if (symbol === "name") value = this.escapedValue(token, context, config);
4071
+ else if (symbol === "text") value = this.rawValue(token);
4072
+ if (value !== void 0)
4073
+ buffer += value;
4074
+ }
4075
+ return buffer;
4076
+ }, "renderTokens");
4077
+ Writer.prototype.renderSection = /* @__PURE__ */ __name(function renderSection(token, context, partials, originalTemplate, config) {
4078
+ var self2 = this;
4079
+ var buffer = "";
4080
+ var value = context.lookup(token[1]);
4081
+ function subRender(template) {
4082
+ return self2.render(template, context, partials, config);
4083
+ }
4084
+ __name(subRender, "subRender");
4085
+ if (!value) return;
4086
+ if (isArray(value)) {
4087
+ for (var j = 0, valueLength = value.length; j < valueLength; ++j) {
4088
+ buffer += this.renderTokens(token[4], context.push(value[j]), partials, originalTemplate, config);
4089
+ }
4090
+ } else if (typeof value === "object" || typeof value === "string" || typeof value === "number") {
4091
+ buffer += this.renderTokens(token[4], context.push(value), partials, originalTemplate, config);
4092
+ } else if (isFunction(value)) {
4093
+ if (typeof originalTemplate !== "string")
4094
+ throw new Error("Cannot use higher-order sections without the original template");
4095
+ value = value.call(context.view, originalTemplate.slice(token[3], token[5]), subRender);
4096
+ if (value != null)
4097
+ buffer += value;
4098
+ } else {
4099
+ buffer += this.renderTokens(token[4], context, partials, originalTemplate, config);
4100
+ }
4101
+ return buffer;
4102
+ }, "renderSection");
4103
+ Writer.prototype.renderInverted = /* @__PURE__ */ __name(function renderInverted(token, context, partials, originalTemplate, config) {
4104
+ var value = context.lookup(token[1]);
4105
+ if (!value || isArray(value) && value.length === 0)
4106
+ return this.renderTokens(token[4], context, partials, originalTemplate, config);
4107
+ }, "renderInverted");
4108
+ Writer.prototype.indentPartial = /* @__PURE__ */ __name(function indentPartial(partial, indentation, lineHasNonSpace) {
4109
+ var filteredIndentation = indentation.replace(/[^ \t]/g, "");
4110
+ var partialByNl = partial.split("\n");
4111
+ for (var i = 0; i < partialByNl.length; i++) {
4112
+ if (partialByNl[i].length && (i > 0 || !lineHasNonSpace)) {
4113
+ partialByNl[i] = filteredIndentation + partialByNl[i];
4114
+ }
4115
+ }
4116
+ return partialByNl.join("\n");
4117
+ }, "indentPartial");
4118
+ Writer.prototype.renderPartial = /* @__PURE__ */ __name(function renderPartial(token, context, partials, config) {
4119
+ if (!partials) return;
4120
+ var tags = this.getConfigTags(config);
4121
+ var value = isFunction(partials) ? partials(token[1]) : partials[token[1]];
4122
+ if (value != null) {
4123
+ var lineHasNonSpace = token[6];
4124
+ var tagIndex = token[5];
4125
+ var indentation = token[4];
4126
+ var indentedValue = value;
4127
+ if (tagIndex == 0 && indentation) {
4128
+ indentedValue = this.indentPartial(value, indentation, lineHasNonSpace);
4129
+ }
4130
+ var tokens = this.parse(indentedValue, tags);
4131
+ return this.renderTokens(tokens, context, partials, indentedValue, config);
4132
+ }
4133
+ }, "renderPartial");
4134
+ Writer.prototype.unescapedValue = /* @__PURE__ */ __name(function unescapedValue(token, context) {
4135
+ var value = context.lookup(token[1]);
4136
+ if (value != null)
4137
+ return value;
4138
+ }, "unescapedValue");
4139
+ Writer.prototype.escapedValue = /* @__PURE__ */ __name(function escapedValue(token, context, config) {
4140
+ var escape = this.getConfigEscape(config) || mustache.escape;
4141
+ var value = context.lookup(token[1]);
4142
+ if (value != null)
4143
+ return typeof value === "number" && escape === mustache.escape ? String(value) : escape(value);
4144
+ }, "escapedValue");
4145
+ Writer.prototype.rawValue = /* @__PURE__ */ __name(function rawValue(token) {
4146
+ return token[1];
4147
+ }, "rawValue");
4148
+ Writer.prototype.getConfigTags = /* @__PURE__ */ __name(function getConfigTags(config) {
4149
+ if (isArray(config)) {
4150
+ return config;
4151
+ } else if (config && typeof config === "object") {
4152
+ return config.tags;
4153
+ } else {
4154
+ return void 0;
4155
+ }
4156
+ }, "getConfigTags");
4157
+ Writer.prototype.getConfigEscape = /* @__PURE__ */ __name(function getConfigEscape(config) {
4158
+ if (config && typeof config === "object" && !isArray(config)) {
4159
+ return config.escape;
4160
+ } else {
4161
+ return void 0;
4162
+ }
4163
+ }, "getConfigEscape");
4164
+ var mustache = {
4165
+ name: "mustache.js",
4166
+ version: "4.2.0",
4167
+ tags: ["{{", "}}"],
4168
+ clearCache: void 0,
4169
+ escape: void 0,
4170
+ parse: void 0,
4171
+ render: void 0,
4172
+ Scanner: void 0,
4173
+ Context: void 0,
4174
+ Writer: void 0,
4175
+ /**
4176
+ * Allows a user to override the default caching strategy, by providing an
4177
+ * object with set, get and clear methods. This can also be used to disable
4178
+ * the cache by setting it to the literal `undefined`.
4179
+ */
4180
+ set templateCache(cache) {
4181
+ defaultWriter.templateCache = cache;
4182
+ },
4183
+ /**
4184
+ * Gets the default or overridden caching object from the default writer.
4185
+ */
4186
+ get templateCache() {
4187
+ return defaultWriter.templateCache;
4188
+ }
4189
+ };
4190
+ var defaultWriter = new Writer();
4191
+ mustache.clearCache = /* @__PURE__ */ __name(function clearCache2() {
4192
+ return defaultWriter.clearCache();
4193
+ }, "clearCache");
4194
+ mustache.parse = /* @__PURE__ */ __name(function parse3(template, tags) {
4195
+ return defaultWriter.parse(template, tags);
4196
+ }, "parse");
4197
+ mustache.render = /* @__PURE__ */ __name(function render5(template, view, partials, config) {
4198
+ if (typeof template !== "string") {
4199
+ throw new TypeError('Invalid template! Template should be a "string" but "' + typeStr(template) + '" was given as the first argument for mustache#render(template, view, partials)');
4200
+ }
4201
+ return defaultWriter.render(template, view, partials, config);
4202
+ }, "render");
4203
+ mustache.escape = escapeHtml;
4204
+ mustache.Scanner = Scanner;
4205
+ mustache.Context = Context;
4206
+ mustache.Writer = Writer;
4207
+ var mustache_default = mustache;
4208
+
4209
+ // src/puppeteer/engines/mustache/mustache.service.ts
4210
+ var import_node_path3 = require("path");
4211
+ var import_node_fs5 = require("fs");
4212
+ function _ts_decorate7(decorators, target, key, desc) {
4213
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4214
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4215
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4216
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4217
+ }
4218
+ __name(_ts_decorate7, "_ts_decorate");
4219
+ var MustacheService = class {
4220
+ static {
4221
+ __name(this, "MustacheService");
4222
+ }
4223
+ templateCache = /* @__PURE__ */ new Map();
4224
+ maxCacheSize = 100;
4225
+ /**
4226
+ * Render a Mustache template from a string
4227
+ * @param template The template string to render
4228
+ * @param data The data object to use for rendering
4229
+ * @param options Optional Mustache rendering options
4230
+ * @returns The rendered HTML string
4231
+ */
4232
+ render(template, data = {}, options) {
4233
+ try {
4234
+ const tags = options?.tags ?? [
4235
+ "{{",
4236
+ "}}"
4237
+ ];
4238
+ return mustache_default.render(template, data, void 0, {
4239
+ tags,
4240
+ escape: options?.escape
4241
+ });
4242
+ } catch (error) {
4243
+ throw new Error(`Mustache rendering failed: ${String(error)}`, {
4244
+ cause: error
4245
+ });
4246
+ }
4247
+ }
4248
+ /**
4249
+ * Render a Mustache template from a file
4250
+ * @param filePath The path to the template file
4251
+ * @param data The data object to use for rendering
4252
+ * @param options Optional Mustache rendering options
4253
+ * @returns The rendered HTML string
4254
+ */
4255
+ renderFile(filePath, data = {}, options) {
4256
+ try {
4257
+ const resolvedPath = (0, import_node_path3.resolve)(filePath);
4258
+ let template = this.templateCache.get(resolvedPath);
4259
+ if (!template) {
4260
+ template = (0, import_node_fs5.readFileSync)(resolvedPath, "utf-8");
4261
+ if (this.templateCache.size < this.maxCacheSize) {
4262
+ this.templateCache.set(resolvedPath, template);
4263
+ }
4264
+ }
4265
+ return this.render(template, data, options);
4266
+ } catch (error) {
4267
+ throw new Error(`Mustache file rendering failed for ${filePath}: ${String(error)}`, {
4268
+ cause: error
4269
+ });
4270
+ }
4271
+ }
4272
+ /**
4273
+ * Clear the template cache
4274
+ */
4275
+ clearCache() {
4276
+ this.templateCache.clear();
4277
+ }
4278
+ /**
4279
+ * Get the current cache size
4280
+ * @returns The number of cached templates
4281
+ */
4282
+ getCacheSize() {
4283
+ return this.templateCache.size;
4284
+ }
4285
+ };
4286
+ MustacheService = _ts_decorate7([
4287
+ (0, import_common7.Injectable)()
4288
+ ], MustacheService);
4289
+
4290
+ // src/puppeteer/puppeteer.service.ts
4291
+ function _ts_decorate8(decorators, target, key, desc) {
4292
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4293
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4294
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4295
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4296
+ }
4297
+ __name(_ts_decorate8, "_ts_decorate");
4298
+ function _ts_metadata4(k, v) {
4299
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
4300
+ }
4301
+ __name(_ts_metadata4, "_ts_metadata");
3080
4302
  function _ts_param2(paramIndex, decorator) {
3081
4303
  return function(target, key) {
3082
4304
  decorator(target, key, paramIndex);
@@ -3093,20 +4315,26 @@ var PuppeteerService = class {
3093
4315
  mjmlService;
3094
4316
  pugService;
3095
4317
  ejsService;
3096
- constructor(hbsService, browserService, options, mjmlService, pugService, ejsService) {
4318
+ nunjucksService;
4319
+ etaService;
4320
+ mustacheService;
4321
+ constructor(hbsService, browserService, options, mjmlService, pugService, ejsService, nunjucksService, etaService, mustacheService) {
3097
4322
  this.hbsService = hbsService;
3098
4323
  this.browserService = browserService;
3099
4324
  this.options = options;
3100
4325
  this.mjmlService = mjmlService;
3101
4326
  this.pugService = pugService;
3102
4327
  this.ejsService = ejsService;
4328
+ this.nunjucksService = nunjucksService;
4329
+ this.etaService = etaService;
4330
+ this.mustacheService = mustacheService;
3103
4331
  }
3104
4332
  limit = (0, import_p_limit.default)(3);
3105
4333
  async generatePdfFromHtml(html, options) {
3106
4334
  return this.limit(async () => {
3107
4335
  const mergePuppeteerOptions = mergePuppeteerParameters(this.options, options);
3108
4336
  if (mergePuppeteerOptions.chromiumRevision !== void 0) {
3109
- import_common5.Logger.warn("Using `chromiumRevision` is no longer supported since the puppeteer update.");
4337
+ import_common8.Logger.warn("Using `chromiumRevision` is no longer supported since the puppeteer update.");
3110
4338
  }
3111
4339
  const headless = mergePuppeteerOptions.headless ?? true;
3112
4340
  const args = mergePuppeteerOptions.extraPuppeteerArgs || [
@@ -3166,14 +4394,14 @@ var PuppeteerService = class {
3166
4394
  await page.evaluate(() => document.fonts.ready);
3167
4395
  return await page.pdf(pdfOptions);
3168
4396
  } catch (e) {
3169
- import_common5.Logger.error(e);
4397
+ import_common8.Logger.error(e);
3170
4398
  throw e;
3171
4399
  } finally {
3172
4400
  if (context) {
3173
4401
  try {
3174
4402
  await context.close();
3175
4403
  } catch (error) {
3176
- import_common5.Logger.error(error);
4404
+ import_common8.Logger.error(error);
3177
4405
  }
3178
4406
  }
3179
4407
  await this.browserService.markJobFinished();
@@ -3230,21 +4458,69 @@ var PuppeteerService = class {
3230
4458
  const html = await this.ejsService.renderFile(file, data, options?.ejsOptions ?? this.options.ejsOptions);
3231
4459
  return this.generatePdfFromHtml(html, options);
3232
4460
  }
4461
+ async generatePdfFromNunjucksString(template, data = {}, options) {
4462
+ if (!this.nunjucksService) {
4463
+ throw new Error("Nunjucks service is not available. If the problem persists, open an issue in the repo.");
4464
+ }
4465
+ const html = this.nunjucksService.render(template, data, options?.nunjucksOptions ?? this.options.nunjucksOptions);
4466
+ return this.generatePdfFromHtml(html, options);
4467
+ }
4468
+ async generatePdfFromNunjucksFile(file, data = {}, options) {
4469
+ if (!this.nunjucksService) {
4470
+ throw new Error("Nunjucks service is not available. If the problem persists, open an issue in the repo.");
4471
+ }
4472
+ const html = this.nunjucksService.renderFile(file, data, options?.nunjucksOptions ?? this.options.nunjucksOptions);
4473
+ return this.generatePdfFromHtml(html, options);
4474
+ }
4475
+ async generatePdfFromEtaString(template, data = {}, options) {
4476
+ if (!this.etaService) {
4477
+ throw new Error("Eta service is not available. If the problem persists, open an issue in the repo.");
4478
+ }
4479
+ const html = this.etaService.render(template, data, options?.etaOptions ?? this.options.etaOptions);
4480
+ return this.generatePdfFromHtml(html, options);
4481
+ }
4482
+ async generatePdfFromEtaFile(file, data = {}, options) {
4483
+ if (!this.etaService) {
4484
+ throw new Error("Eta service is not available. If the problem persists, open an issue in the repo.");
4485
+ }
4486
+ const html = this.etaService.renderFile(file, data, options?.etaOptions ?? this.options.etaOptions);
4487
+ return this.generatePdfFromHtml(html, options);
4488
+ }
4489
+ async generatePdfFromMustacheString(template, data = {}, options) {
4490
+ if (!this.mustacheService) {
4491
+ throw new Error("Mustache service is not available. If the problem persists, open an issue in the repo.");
4492
+ }
4493
+ const html = this.mustacheService.render(template, data, options?.mustacheOptions ?? this.options.mustacheOptions);
4494
+ return this.generatePdfFromHtml(html, options);
4495
+ }
4496
+ async generatePdfFromMustacheFile(file, data = {}, options) {
4497
+ if (!this.mustacheService) {
4498
+ throw new Error("Mustache service is not available. If the problem persists, open an issue in the repo.");
4499
+ }
4500
+ const html = this.mustacheService.renderFile(file, data, options?.mustacheOptions ?? this.options.mustacheOptions);
4501
+ return this.generatePdfFromHtml(html, options);
4502
+ }
3233
4503
  };
3234
- PuppeteerService = _ts_decorate5([
3235
- (0, import_common5.Injectable)(),
3236
- _ts_param2(2, (0, import_common5.Inject)(PDF_PARAMETERS)),
3237
- _ts_param2(3, (0, import_common5.Optional)()),
3238
- _ts_param2(4, (0, import_common5.Optional)()),
3239
- _ts_param2(5, (0, import_common5.Optional)()),
3240
- _ts_metadata2("design:type", Function),
3241
- _ts_metadata2("design:paramtypes", [
4504
+ PuppeteerService = _ts_decorate8([
4505
+ (0, import_common8.Injectable)(),
4506
+ _ts_param2(2, (0, import_common8.Inject)(PDF_PARAMETERS)),
4507
+ _ts_param2(3, (0, import_common8.Optional)()),
4508
+ _ts_param2(4, (0, import_common8.Optional)()),
4509
+ _ts_param2(5, (0, import_common8.Optional)()),
4510
+ _ts_param2(6, (0, import_common8.Optional)()),
4511
+ _ts_param2(7, (0, import_common8.Optional)()),
4512
+ _ts_param2(8, (0, import_common8.Optional)()),
4513
+ _ts_metadata4("design:type", Function),
4514
+ _ts_metadata4("design:paramtypes", [
3242
4515
  typeof import_nestjs_hbs.HandlebarsService === "undefined" ? Object : import_nestjs_hbs.HandlebarsService,
3243
4516
  typeof BrowserService === "undefined" ? Object : BrowserService,
3244
4517
  typeof PuppeteerParameters === "undefined" ? Object : PuppeteerParameters,
3245
4518
  typeof MjmlService === "undefined" ? Object : MjmlService,
3246
4519
  typeof PugService === "undefined" ? Object : PugService,
3247
- typeof EjsService === "undefined" ? Object : EjsService
4520
+ typeof EjsService === "undefined" ? Object : EjsService,
4521
+ typeof NunjucksService === "undefined" ? Object : NunjucksService,
4522
+ typeof EtaService === "undefined" ? Object : EtaService,
4523
+ typeof MustacheService === "undefined" ? Object : MustacheService
3248
4524
  ])
3249
4525
  ], PuppeteerService);
3250
4526
 
@@ -3402,17 +4678,17 @@ async function addSignatureFieldUsingAnchor(pdf, fieldName = "SignatureDebtor",
3402
4678
  __name(addSignatureFieldUsingAnchor, "addSignatureFieldUsingAnchor");
3403
4679
 
3404
4680
  // src/nestjs-pdf.service.ts
3405
- function _ts_decorate6(decorators, target, key, desc) {
4681
+ function _ts_decorate9(decorators, target, key, desc) {
3406
4682
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3407
4683
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3408
4684
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3409
4685
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3410
4686
  }
3411
- __name(_ts_decorate6, "_ts_decorate");
3412
- function _ts_metadata3(k, v) {
4687
+ __name(_ts_decorate9, "_ts_decorate");
4688
+ function _ts_metadata5(k, v) {
3413
4689
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3414
4690
  }
3415
- __name(_ts_metadata3, "_ts_metadata");
4691
+ __name(_ts_metadata5, "_ts_metadata");
3416
4692
  var NestjsPdfService = class {
3417
4693
  static {
3418
4694
  __name(this, "NestjsPdfService");
@@ -3431,28 +4707,6 @@ var NestjsPdfService = class {
3431
4707
  return this.puppeteerService.generatePdfFromHtml(html, options);
3432
4708
  }
3433
4709
  /**
3434
- * @deprecated Use the new method generatePdfFromTemplateHbsString
3435
- * @param template Handlebars template string
3436
- * @param parameters Data parameters to inject into the template
3437
- * @param options PDF generation options (optional)
3438
- * @returns PDF generated from the provided Handlebars template with parameters applied
3439
- * @description This method generates a PDF from a Handlebars template provided as a string. The parameters to inject into the template are passed in the `parameters` object, which is used to render the template before converting it to PDF. PDF generation options can also be customized by passing a `PuppeteerParameters` object as the third argument. This allows you to control various aspects of PDF rendering, such as page size, margins, background display, etc. If no options are provided, the default parameters defined in the Puppeteer service will be used.
3440
- */
3441
- generatePdfFromTemplateString(template, parameters = {}, options) {
3442
- return this.generatePdfFromTemplateHbsString(template, parameters, options);
3443
- }
3444
- /**
3445
- * @deprecated Use the new method generatePdfFromTemplateHbsFile
3446
- * @param file Path to the Handlebars template file
3447
- * @param parameters Data parameters to inject into the template
3448
- * @param options PDF generation options (optional)
3449
- * @returns PDF generated from the Handlebars template at the provided file path with parameters applied
3450
- * @description This method generates a PDF from a Handlebars template located at the specified file path. The file path is passed as a string in the `file` parameter. The parameters to inject into the template are passed in the `parameters` object, which is used to render the template before converting it to PDF. PDF generation options can also be customized by passing a `PuppeteerParameters` object as the third argument. This allows you to control various aspects of PDF rendering, such as page size, margins, background display, etc. If no options are provided, the default parameters defined in the Puppeteer service will be used.
3451
- */
3452
- generatePdfFromTemplateFile(file, parameters = {}, options) {
3453
- return this.generatePdfFromTemplateHbsFile(file, parameters, options);
3454
- }
3455
- /**
3456
4710
  * @param template Handlebars template string
3457
4711
  * @param parameters Data parameters to inject into the template
3458
4712
  * @param options PDF generation options (optional)
@@ -3531,6 +4785,66 @@ var NestjsPdfService = class {
3531
4785
  return this.puppeteerService.generatePdfFromPugFile(file, data, options);
3532
4786
  }
3533
4787
  /**
4788
+ * @param template Nunjucks template string
4789
+ * @param data Data to inject into the template
4790
+ * @param options PDF generation options (optional)
4791
+ * @returns PDF generated from the provided Nunjucks template with data applied
4792
+ * @description This method generates a PDF from a Nunjucks template provided as a string. Nunjucks is a powerful templating language with support for inheritance, macros, and filters. The data to inject into the template is passed in the `data` object, which is used to render the template before converting it to PDF. PDF generation options can be customized by passing a `PuppeteerParameters` object as the third argument.
4793
+ */
4794
+ generatePdfFromNunjucksString(template, data = {}, options) {
4795
+ return this.puppeteerService.generatePdfFromNunjucksString(template, data, options);
4796
+ }
4797
+ /**
4798
+ * @param file Path to the Nunjucks template file
4799
+ * @param data Data to inject into the template
4800
+ * @param options PDF generation options (optional)
4801
+ * @returns PDF generated from the Nunjucks template at the provided file path with data applied
4802
+ * @description This method generates a PDF from a Nunjucks template located at the specified file path. The file path is passed as a string in the `file` parameter. The data to inject into the template is passed in the `data` object, which is used to render the template before converting it to PDF. PDF generation options can be customized by passing a `PuppeteerParameters` object as the third argument.
4803
+ */
4804
+ generatePdfFromNunjucksFile(file, data = {}, options) {
4805
+ return this.puppeteerService.generatePdfFromNunjucksFile(file, data, options);
4806
+ }
4807
+ /**
4808
+ * @param template Eta template string
4809
+ * @param data Data to inject into the template
4810
+ * @param options PDF generation options (optional)
4811
+ * @returns PDF generated from the provided Eta template with data applied
4812
+ * @description This method generates a PDF from an Eta template provided as a string. Eta is a fast and lightweight embedded templating language with a syntax similar to EJS but with better performance. The data to inject into the template is passed in the `data` object, which is used to render the template before converting it to PDF. PDF generation options can be customized by passing a `PuppeteerParameters` object as the third argument.
4813
+ */
4814
+ generatePdfFromEtaString(template, data = {}, options) {
4815
+ return this.puppeteerService.generatePdfFromEtaString(template, data, options);
4816
+ }
4817
+ /**
4818
+ * @param file Path to the Eta template file
4819
+ * @param data Data to inject into the template
4820
+ * @param options PDF generation options (optional)
4821
+ * @returns PDF generated from the Eta template at the provided file path with data applied
4822
+ * @description This method generates a PDF from an Eta template located at the specified file path. The file path is passed as a string in the `file` parameter. The data to inject into the template is passed in the `data` object, which is used to render the template before converting it to PDF. PDF generation options can be customized by passing a `PuppeteerParameters` object as the third argument.
4823
+ */
4824
+ generatePdfFromEtaFile(file, data = {}, options) {
4825
+ return this.puppeteerService.generatePdfFromEtaFile(file, data, options);
4826
+ }
4827
+ /**
4828
+ * @param template Mustache template string
4829
+ * @param data Data to inject into the template
4830
+ * @param options PDF generation options (optional)
4831
+ * @returns PDF generated from the provided Mustache template with data applied
4832
+ * @description This method generates a PDF from a Mustache template provided as a string. Mustache is a logic-less template language that emphasizes readable and simple templates. The data to inject into the template is passed in the `data` object, which is used to render the template before converting it to PDF. PDF generation options can be customized by passing a `PuppeteerParameters` object as the third argument.
4833
+ */
4834
+ generatePdfFromMustacheString(template, data = {}, options) {
4835
+ return this.puppeteerService.generatePdfFromMustacheString(template, data, options);
4836
+ }
4837
+ /**
4838
+ * @param file Path to the Mustache template file
4839
+ * @param data Data to inject into the template
4840
+ * @param options PDF generation options (optional)
4841
+ * @returns PDF generated from the Mustache template at the provided file path with data applied
4842
+ * @description This method generates a PDF from a Mustache template located at the specified file path. The file path is passed as a string in the `file` parameter. The data to inject into the template is passed in the `data` object, which is used to render the template before converting it to PDF. PDF generation options can be customized by passing a `PuppeteerParameters` object as the third argument.
4843
+ */
4844
+ generatePdfFromMustacheFile(file, data = {}, options) {
4845
+ return this.puppeteerService.generatePdfFromMustacheFile(file, data, options);
4846
+ }
4847
+ /**
3534
4848
  * @param pdf The PDF bytes to modify
3535
4849
  * @param fieldName The name of the signature field to add (default: 'SignatureDebtor')
3536
4850
  * @param anchorText The text anchor to locate the signature field position (default: '__SIG_DEBTOR_ANCHOR__')
@@ -3556,29 +4870,29 @@ var NestjsPdfService = class {
3556
4870
  return await addSignatureFieldUsingAnchor(pdf, fieldName, anchorText);
3557
4871
  }
3558
4872
  };
3559
- NestjsPdfService = _ts_decorate6([
3560
- (0, import_common6.Injectable)(),
3561
- _ts_metadata3("design:type", Function),
3562
- _ts_metadata3("design:paramtypes", [
4873
+ NestjsPdfService = _ts_decorate9([
4874
+ (0, import_common9.Injectable)(),
4875
+ _ts_metadata5("design:type", Function),
4876
+ _ts_metadata5("design:paramtypes", [
3563
4877
  typeof PuppeteerService === "undefined" ? Object : PuppeteerService
3564
4878
  ])
3565
4879
  ], NestjsPdfService);
3566
4880
 
3567
4881
  // src/puppeteer/puppeteer.module.ts
3568
- var import_common7 = require("@nestjs/common");
4882
+ var import_common10 = require("@nestjs/common");
3569
4883
  var import_config = __toESM(require_config());
3570
4884
  var import_nestjs_hbs2 = require("@gboutte/nestjs-hbs");
3571
- function _ts_decorate7(decorators, target, key, desc) {
4885
+ function _ts_decorate10(decorators, target, key, desc) {
3572
4886
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3573
4887
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3574
4888
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3575
4889
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3576
4890
  }
3577
- __name(_ts_decorate7, "_ts_decorate");
3578
- function _ts_metadata4(k, v) {
4891
+ __name(_ts_decorate10, "_ts_decorate");
4892
+ function _ts_metadata6(k, v) {
3579
4893
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
3580
4894
  }
3581
- __name(_ts_metadata4, "_ts_metadata");
4895
+ __name(_ts_metadata6, "_ts_metadata");
3582
4896
  function _ts_param3(paramIndex, decorator) {
3583
4897
  return function(target, key) {
3584
4898
  decorator(target, key, paramIndex);
@@ -3611,7 +4925,10 @@ var PuppeteerModule = class _PuppeteerModule {
3611
4925
  import_nestjs_hbs2.HandlebarsService,
3612
4926
  MjmlService,
3613
4927
  PugService,
3614
- EjsService
4928
+ EjsService,
4929
+ NunjucksService,
4930
+ EtaService,
4931
+ MustacheService
3615
4932
  ];
3616
4933
  return {
3617
4934
  module: _PuppeteerModule,
@@ -3623,7 +4940,10 @@ var PuppeteerModule = class _PuppeteerModule {
3623
4940
  PuppeteerService,
3624
4941
  MjmlService,
3625
4942
  PugService,
3626
- EjsService
4943
+ EjsService,
4944
+ NunjucksService,
4945
+ EtaService,
4946
+ MustacheService
3627
4947
  ]
3628
4948
  };
3629
4949
  }
@@ -3654,49 +4974,61 @@ var PuppeteerModule = class _PuppeteerModule {
3654
4974
  import_nestjs_hbs2.HandlebarsService,
3655
4975
  MjmlService,
3656
4976
  PugService,
3657
- EjsService
4977
+ EjsService,
4978
+ NunjucksService,
4979
+ EtaService,
4980
+ MustacheService
3658
4981
  ],
3659
4982
  exports: [
3660
4983
  PuppeteerService,
3661
4984
  MjmlService,
3662
4985
  PugService,
3663
- EjsService
4986
+ EjsService,
4987
+ NunjucksService,
4988
+ EtaService,
4989
+ MustacheService
3664
4990
  ]
3665
4991
  };
3666
4992
  }
3667
4993
  };
3668
- PuppeteerModule = _ts_decorate7([
3669
- (0, import_common7.Module)({
4994
+ PuppeteerModule = _ts_decorate10([
4995
+ (0, import_common10.Module)({
3670
4996
  providers: [
3671
4997
  PuppeteerService,
3672
4998
  BrowserService,
3673
4999
  MjmlService,
3674
5000
  PugService,
3675
- EjsService
5001
+ EjsService,
5002
+ NunjucksService,
5003
+ EtaService,
5004
+ MustacheService
3676
5005
  ],
3677
5006
  exports: [
3678
5007
  PuppeteerService,
3679
5008
  MjmlService,
3680
5009
  PugService,
3681
- EjsService
5010
+ EjsService,
5011
+ NunjucksService,
5012
+ EtaService,
5013
+ MustacheService
3682
5014
  ]
3683
5015
  }),
3684
- _ts_param3(1, (0, import_common7.Inject)(PDF_PARAMETERS)),
3685
- _ts_metadata4("design:type", Function),
3686
- _ts_metadata4("design:paramtypes", [
5016
+ _ts_param3(1, (0, import_common10.Inject)(PDF_PARAMETERS)),
5017
+ _ts_metadata6("design:type", Function),
5018
+ _ts_metadata6("design:paramtypes", [
3687
5019
  typeof BrowserService === "undefined" ? Object : BrowserService,
3688
5020
  typeof PuppeteerParameters === "undefined" ? Object : PuppeteerParameters
3689
5021
  ])
3690
5022
  ], PuppeteerModule);
3691
5023
 
3692
5024
  // src/nestjs-pdf.module.ts
3693
- function _ts_decorate8(decorators, target, key, desc) {
5025
+ function _ts_decorate11(decorators, target, key, desc) {
3694
5026
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3695
5027
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3696
5028
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3697
5029
  return c > 3 && r && Object.defineProperty(target, key, r), r;
3698
5030
  }
3699
- __name(_ts_decorate8, "_ts_decorate");
5031
+ __name(_ts_decorate11, "_ts_decorate");
3700
5032
  var NestjsPdfModule = class _NestjsPdfModule {
3701
5033
  static {
3702
5034
  __name(this, "NestjsPdfModule");
@@ -3730,25 +5062,36 @@ var NestjsPdfModule = class _NestjsPdfModule {
3730
5062
  };
3731
5063
  }
3732
5064
  };
3733
- NestjsPdfModule = _ts_decorate8([
3734
- (0, import_common8.Module)({})
5065
+ NestjsPdfModule = _ts_decorate11([
5066
+ (0, import_common11.Module)({})
3735
5067
  ], NestjsPdfModule);
3736
5068
 
3737
5069
  // src/helpers/getRelativePath.helper.ts
3738
- var import_node_path = require("path");
5070
+ var import_node_path4 = require("path");
3739
5071
  function getRelativePathToValue(moduleDir, relativeToModule) {
3740
- const fullTemplatePath = (0, import_node_path.resolve)(moduleDir, relativeToModule);
3741
- return (0, import_node_path.relative)(process.cwd(), fullTemplatePath);
5072
+ const fullTemplatePath = (0, import_node_path4.resolve)(moduleDir, relativeToModule);
5073
+ return (0, import_node_path4.relative)(process.cwd(), fullTemplatePath);
3742
5074
  }
3743
5075
  __name(getRelativePathToValue, "getRelativePathToValue");
3744
5076
  // Annotate the CommonJS export names for ESM import in node:
3745
5077
  0 && (module.exports = {
3746
5078
  EjsService,
5079
+ EtaService,
3747
5080
  MjmlService,
5081
+ MustacheService,
3748
5082
  NestjsPdfModule,
3749
5083
  NestjsPdfService,
5084
+ NunjucksService,
3750
5085
  PugService,
3751
5086
  PuppeteerModule,
3752
5087
  PuppeteerService,
3753
5088
  getRelativePathToValue
3754
5089
  });
5090
+ /*! Bundled license information:
5091
+
5092
+ mustache/mustache.mjs:
5093
+ (*!
5094
+ * mustache.js - Logic-less {{mustache}} templates with JavaScript
5095
+ * http://github.com/janl/mustache.js
5096
+ *)
5097
+ */