@nhtio/lucid-resourceful 0.1.0-master-29dd5a13 → 0.1.0-master-641df8fc

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/adonis-env.d.ts +17 -0
  2. package/bundled_liqe.d.ts +6 -5
  3. package/bundled_xml_js.d.ts +5 -4
  4. package/definitions.d.ts +1 -1
  5. package/encoding.d.ts +6 -6
  6. package/errors.d.ts +23 -8
  7. package/{index-Bsyx9Sty.js → index-B-5JiNqG.js} +76 -221
  8. package/index-B-5JiNqG.js.map +1 -0
  9. package/{index-B6dIMDux.cjs → index-BrGbuAtt.cjs} +76 -221
  10. package/index-BrGbuAtt.cjs.map +1 -0
  11. package/index-C9zyi90j.js.map +1 -1
  12. package/{index-CpyTnwZV.cjs → index-CQApAM0M.cjs} +298 -353
  13. package/index-CQApAM0M.cjs.map +1 -0
  14. package/index-CxRBayw6.cjs.map +1 -1
  15. package/{index-C8mGEf4P.js → index-DLVvkVxI.js} +295 -350
  16. package/index-DLVvkVxI.js.map +1 -0
  17. package/index-DsojAcQ4.js.map +1 -1
  18. package/index-DuzIXu31.cjs.map +1 -1
  19. package/index.cjs +1 -1
  20. package/index.d.ts +7 -7
  21. package/index.mjs +1 -1
  22. package/integration/middlewares/odata_error.cjs +1 -1
  23. package/integration/middlewares/odata_error.d.ts +1 -1
  24. package/integration/middlewares/odata_error.mjs +1 -1
  25. package/integration/middlewares/resourceful_encoded_request.cjs +100 -12
  26. package/integration/middlewares/resourceful_encoded_request.cjs.map +1 -1
  27. package/integration/middlewares/resourceful_encoded_request.d.ts +1 -1
  28. package/integration/middlewares/resourceful_encoded_request.mjs +98 -10
  29. package/integration/middlewares/resourceful_encoded_request.mjs.map +1 -1
  30. package/integration/middlewares/resourceful_error.cjs +1 -1
  31. package/integration/middlewares/resourceful_error.d.ts +1 -1
  32. package/integration/middlewares/resourceful_error.mjs +1 -1
  33. package/integration/provider.cjs +1 -1
  34. package/integration/provider.mjs +1 -1
  35. package/joi.d.ts +1 -1
  36. package/{manager-OLS5T3G7-CJHhMwR7.cjs → manager-OLS5T3G7-BPVI59Zw.cjs} +2 -2
  37. package/{manager-OLS5T3G7-CJHhMwR7.cjs.map → manager-OLS5T3G7-BPVI59Zw.cjs.map} +1 -1
  38. package/{manager-OLS5T3G7-C-NS6lhx.js → manager-OLS5T3G7-DzVckqOB.js} +2 -2
  39. package/{manager-OLS5T3G7-C-NS6lhx.js.map → manager-OLS5T3G7-DzVckqOB.js.map} +1 -1
  40. package/odata/context.d.ts +1 -1
  41. package/odata/macro.d.ts +1 -1
  42. package/{odata_error_middleware-BWfOpQZV.cjs → odata_error_middleware-DhLzccN7.cjs} +4 -4
  43. package/{odata_error_middleware-BWfOpQZV.cjs.map → odata_error_middleware-DhLzccN7.cjs.map} +1 -1
  44. package/{odata_error_middleware-CWYqZMez.js → odata_error_middleware-Dspi8bct.js} +4 -4
  45. package/{odata_error_middleware-CWYqZMez.js.map → odata_error_middleware-Dspi8bct.js.map} +1 -1
  46. package/package.json +1 -1
  47. package/private/data_type_schemas.d.ts +12 -12
  48. package/private/data_types.d.ts +1 -1
  49. package/private/decorator_schemas.d.ts +1 -1
  50. package/private/decorator_utils.d.ts +1 -1
  51. package/private/decorators.d.ts +14 -11
  52. package/private/encoding.d.ts +3 -3
  53. package/private/joi/index.d.ts +3 -3
  54. package/private/lucene_to_lucid_translator.d.ts +1 -1
  55. package/private/mixin.d.ts +25 -8
  56. package/private/odata_macro/controllers/resourceful_model_controller.d.ts +4 -4
  57. package/private/odata_macro/index.d.ts +1 -1
  58. package/private/odata_macro/middlewares/odata_error_middleware.d.ts +22 -10
  59. package/private/odata_macro/services/odata_context_service.d.ts +1 -1
  60. package/private/odata_macro/services/odata_metadata_service.d.ts +3 -3
  61. package/private/odata_macro/utils/odata.d.ts +2 -2
  62. package/private/odata_to_lucid_translator.d.ts +1 -1
  63. package/private/open_api_schema_service.d.ts +3 -3
  64. package/private/router_macro/controllers/resourceful_model_controller.d.ts +5 -5
  65. package/private/router_macro/index.d.ts +3 -3
  66. package/private/router_macro/middlewares/resourceful_error_middleware.d.ts +22 -10
  67. package/private/router_macro/services/resourceful_router_choices_service.d.ts +3 -3
  68. package/private/router_macro/services/resourceful_router_context_service.d.ts +1 -1
  69. package/private/router_macro/services/resourceful_router_model_options_service.d.ts +1 -1
  70. package/private/router_macro/services/resourceful_router_model_resolver_service.d.ts +3 -3
  71. package/private/router_macro/services/resourceful_router_openapi_document_service.d.ts +4 -4
  72. package/private/router_macro/services/resourceful_router_options_service.d.ts +3 -3
  73. package/private/router_macro/types.d.ts +15 -8
  74. package/private/router_macro/utils/errors.d.ts +1 -1
  75. package/private/router_macro/utils/http.d.ts +1 -1
  76. package/private/router_macro/utils/openapi_validation_schemas.d.ts +2 -2
  77. package/private/router_macro/utils/relationships.d.ts +1 -1
  78. package/private/router_macro/utils/type_guards.d.ts +1 -1
  79. package/private/schema_types.d.ts +1 -1
  80. package/private/type_guards.d.ts +5 -5
  81. package/private/types.d.ts +5 -5
  82. package/private/utils/casters.d.ts +1 -1
  83. package/private/utils/consumers.d.ts +1 -1
  84. package/private/utils/preparers.d.ts +1 -1
  85. package/private/utils.d.ts +1 -1
  86. package/{resourceful_error_middleware-CMSZGdoG.js → resourceful_error_middleware-Cb_eTzST.js} +4 -4
  87. package/{resourceful_error_middleware-CMSZGdoG.js.map → resourceful_error_middleware-Cb_eTzST.js.map} +1 -1
  88. package/{resourceful_error_middleware-lXgefPIC.cjs → resourceful_error_middleware-CnjbNoev.cjs} +4 -4
  89. package/{resourceful_error_middleware-lXgefPIC.cjs.map → resourceful_error_middleware-CnjbNoev.cjs.map} +1 -1
  90. package/router/context.d.ts +1 -1
  91. package/router/utils.cjs +1 -1
  92. package/router/utils.d.ts +1 -1
  93. package/router/utils.mjs +1 -1
  94. package/router.cjs +1 -1
  95. package/router.d.ts +2 -2
  96. package/router.mjs +1 -1
  97. package/types.d.ts +13 -13
  98. package/utils.d.ts +4 -4
  99. package/vite-env.d.ts +3 -0
  100. package/index-B6dIMDux.cjs.map +0 -1
  101. package/index-Bsyx9Sty.js.map +0 -1
  102. package/index-C8mGEf4P.js.map +0 -1
  103. package/index-CpIq4gOr.js +0 -93
  104. package/index-CpIq4gOr.js.map +0 -1
  105. package/index-CpyTnwZV.cjs.map +0 -1
  106. package/index-DqbJXpcT.cjs +0 -92
  107. package/index-DqbJXpcT.cjs.map +0 -1
  108. package/private/controller_factory.d.ts +0 -1
  109. package/private/utils/function_serializer.d.ts +0 -32
@@ -1,35 +1,6 @@
1
1
  import { B as Buffer } from "./index-DsojAcQ4.js";
2
+ import { randomUUID, randomBytes } from "node:crypto";
2
3
  import { n as getDefaultExportFromCjs } from "./errors-b4tqg-tH.js";
3
- import { r as requireBytes } from "./index-CpIq4gOr.js";
4
- import { randomUUID, randomBytes } from "crypto";
5
- var bytesExports = requireBytes();
6
- const bytes = /* @__PURE__ */ getDefaultExportFromCjs(bytesExports);
7
- var RGX = /^(-?(?:\d+)?\.?\d+) *(m(?:illiseconds?|s(?:ecs?)?))?(s(?:ec(?:onds?|s)?)?)?(m(?:in(?:utes?|s)?)?)?(h(?:ours?|rs?)?)?(d(?:ays?)?)?(w(?:eeks?|ks?)?)?(y(?:ears?|rs?)?)?$/, SEC = 1e3, MIN = SEC * 60, HOUR = MIN * 60, DAY = HOUR * 24, YEAR = DAY * 365.25;
8
- function parse(val) {
9
- var num, arr = val.toLowerCase().match(RGX);
10
- if (arr != null && (num = parseFloat(arr[1]))) {
11
- if (arr[3] != null) return num * SEC;
12
- if (arr[4] != null) return num * MIN;
13
- if (arr[5] != null) return num * HOUR;
14
- if (arr[6] != null) return num * DAY;
15
- if (arr[7] != null) return num * DAY * 7;
16
- if (arr[8] != null) return num * YEAR;
17
- return num;
18
- }
19
- }
20
- function fmt(val, pfx, str, long) {
21
- var num = (val | 0) === val ? val : ~~(val + 0.5);
22
- return pfx + num + (long ? " " + str + (num != 1 ? "s" : "") : str[0]);
23
- }
24
- function format(num, long) {
25
- var pfx = num < 0 ? "-" : "", abs = num < 0 ? -num : num;
26
- if (abs < SEC) return num + (long ? " ms" : "ms");
27
- if (abs < MIN) return fmt(abs / SEC, pfx, "second", long);
28
- if (abs < HOUR) return fmt(abs / MIN, pfx, "minute", long);
29
- if (abs < DAY) return fmt(abs / HOUR, pfx, "hour", long);
30
- if (abs < YEAR) return fmt(abs / DAY, pfx, "day", long);
31
- return fmt(abs / YEAR, pfx, "year", long);
32
- }
33
4
  var slugify$1 = { exports: {} };
34
5
  var slugify = slugify$1.exports;
35
6
  var hasRequiredSlugify;
@@ -45,15 +16,15 @@ function requireSlugify() {
45
16
  })("slugify", slugify, function() {
46
17
  var charMap = JSON.parse(`{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E'","Ը":"Y'","Թ":"T'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C'","Կ":"K","Հ":"H","Ձ":"D'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P'","Ք":"Q'","Օ":"O''","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"'","’":"'","“":"\\"","”":"\\"","„":"\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}`);
47
18
  var locales = JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}');
48
- function replace(string2, options) {
49
- if (typeof string2 !== "string") {
19
+ function replace(string, options) {
20
+ if (typeof string !== "string") {
50
21
  throw new Error("slugify: string argument expected");
51
22
  }
52
23
  options = typeof options === "string" ? { replacement: options } : options || {};
53
24
  var locale = locales[options.locale] || {};
54
25
  var replacement = options.replacement === void 0 ? "-" : options.replacement;
55
26
  var trim = options.trim === void 0 ? true : options.trim;
56
- var slug2 = string2.normalize().split("").reduce(function(result, ch) {
27
+ var slug2 = string.normalize().split("").reduce(function(result, ch) {
57
28
  var appendChar = locale[ch];
58
29
  if (appendChar === void 0) appendChar = charMap[ch];
59
30
  if (appendChar === void 0) appendChar = ch;
@@ -82,135 +53,6 @@ function requireSlugify() {
82
53
  }
83
54
  var slugifyExports = requireSlugify();
84
55
  const slugifyPkg = /* @__PURE__ */ getDefaultExportFromCjs(slugifyExports);
85
- var truncatise$1 = { exports: {} };
86
- var truncatise = truncatise$1.exports;
87
- var hasRequiredTruncatise;
88
- function requireTruncatise() {
89
- if (hasRequiredTruncatise) return truncatise$1.exports;
90
- hasRequiredTruncatise = 1;
91
- (function(module) {
92
- (function(exportTo) {
93
- var selfClosingTags = ["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"];
94
- var truncatise3 = function(text, options) {
95
- var options = options || {}, text = (text || "").trim(), truncatedText = "", currentState = 0, isEndOfWord = false, currentTag = "", tagStack = [], nextChar = "";
96
- var charCounter = 0, wordCounter = 0, paragraphCounter = 0;
97
- var NOT_TAG = 0, TAG_START = 1, TAG_ATTRIBUTES = 2;
98
- options.TruncateBy = options.TruncateBy === void 0 || typeof options.TruncateBy !== "string" || !options.TruncateBy.match(/(word(s)?|character(s)?|paragraph(s)?)/) ? "words" : options.TruncateBy.toLowerCase();
99
- options.TruncateLength = options.TruncateLength === void 0 || typeof options.TruncateLength !== "number" ? 50 : options.TruncateLength;
100
- options.StripHTML = options.StripHTML === void 0 || typeof options.StripHTML !== "boolean" ? false : options.StripHTML;
101
- options.Strict = options.Strict === void 0 || typeof options.Strict !== "boolean" ? true : options.Strict;
102
- options.Suffix = options.Suffix === void 0 || typeof options.Suffix !== "string" ? "..." : options.Suffix;
103
- if (text === "" || text.length <= options.TruncateLength && options.StripHTML === false) {
104
- return text;
105
- }
106
- if (options.StripHTML) {
107
- text = String(text).replace(/<br( \/)?>/gi, " ");
108
- }
109
- if (options.StripHTML && !options.TruncateBy.match(/(paragraph(s)?)/)) {
110
- text = String(text).replace(/<!--(.*?)-->/gm, "").replace(/<\/?[^>]+>/gi, "");
111
- }
112
- text = String(text).replace(/<\/p>(\r?\n)+<p>/gm, "</p><p>");
113
- if (options.StripHTML && String(text).match(/\r?\n\r?\n/)) {
114
- text = String(text).replace(/((.+)(\r?\n\r?\n|$))/gi, "<p>$2</p>");
115
- }
116
- for (var pointer = 0; pointer < text.length; pointer++) {
117
- var currentChar = text[pointer];
118
- switch (currentChar) {
119
- case "<":
120
- if (currentState === NOT_TAG) {
121
- currentState = TAG_START;
122
- currentTag = "";
123
- }
124
- if (!options.StripHTML) {
125
- truncatedText += currentChar;
126
- }
127
- break;
128
- case ">":
129
- if (currentState === TAG_START || currentState === TAG_ATTRIBUTES) {
130
- currentState = NOT_TAG;
131
- currentTag = currentTag.toLowerCase();
132
- if (currentTag === "/p") {
133
- paragraphCounter++;
134
- if (options.StripHTML) {
135
- truncatedText += " ";
136
- }
137
- }
138
- if (selfClosingTags.indexOf(currentTag) === -1 && selfClosingTags.indexOf(currentTag + "/") === -1) {
139
- if (currentTag.indexOf("/") >= 0) {
140
- tagStack.pop();
141
- } else {
142
- tagStack.push(currentTag);
143
- }
144
- }
145
- }
146
- if (!options.StripHTML) {
147
- truncatedText += currentChar;
148
- }
149
- break;
150
- case " ":
151
- if (currentState === TAG_START) {
152
- currentState = TAG_ATTRIBUTES;
153
- }
154
- if (currentState === NOT_TAG) {
155
- wordCounter++;
156
- charCounter++;
157
- }
158
- if (currentState === NOT_TAG || !options.StripHTML) {
159
- truncatedText += currentChar;
160
- }
161
- break;
162
- default:
163
- if (currentState === NOT_TAG) {
164
- charCounter++;
165
- }
166
- if (currentState === TAG_START) {
167
- currentTag += currentChar;
168
- }
169
- if (currentState === NOT_TAG || !options.StripHTML) {
170
- truncatedText += currentChar;
171
- }
172
- break;
173
- }
174
- nextChar = text[pointer + 1] || "";
175
- isEndOfWord = options.Strict ? true : !currentChar.match(/[a-zA-ZÇ-Ü']/i) || !nextChar.match(/[a-zA-ZÇ-Ü']/i);
176
- if (options.TruncateBy.match(/word(s)?/i) && options.TruncateLength <= wordCounter) {
177
- truncatedText = truncatedText.replace(/\s+$/, "");
178
- break;
179
- }
180
- if (options.TruncateBy.match(/character(s)?/i) && options.TruncateLength <= charCounter && isEndOfWord) {
181
- break;
182
- }
183
- if (options.TruncateBy.match(/paragraph(s)?/i) && options.TruncateLength === paragraphCounter) {
184
- break;
185
- }
186
- }
187
- if (!options.StripHTML && tagStack.length > 0) {
188
- while (tagStack.length > 0) {
189
- var tag = tagStack.pop();
190
- if (tag !== "!--") {
191
- truncatedText += "</" + tag + ">";
192
- }
193
- }
194
- }
195
- if (pointer < text.length - 1) {
196
- if (truncatedText.match(/<\/p>$/gi)) {
197
- truncatedText = truncatedText.replace(/(<\/p>)$/gi, options.Suffix + "$1");
198
- } else {
199
- truncatedText = truncatedText + options.Suffix;
200
- }
201
- }
202
- return truncatedText.trim();
203
- };
204
- if (module.exports) {
205
- return module.exports = truncatise3;
206
- }
207
- exportTo.truncatise = truncatise3;
208
- })(truncatise);
209
- })(truncatise$1);
210
- return truncatise$1.exports;
211
- }
212
- var truncatiseExports = requireTruncatise();
213
- const truncatise2 = /* @__PURE__ */ getDefaultExportFromCjs(truncatiseExports);
214
56
  function commonjsRequire(path) {
215
57
  throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
216
58
  }
@@ -569,29 +411,29 @@ var pluralizeExports = requirePluralize();
569
411
  const pluralizePkg = /* @__PURE__ */ getDefaultExportFromCjs(pluralizeExports);
570
412
  const magicSplit = /^[a-zà-öø-ÿа-я]+|[A-ZÀ-ÖØ-ßА-Я][a-zà-öø-ÿа-я]+|[a-zà-öø-ÿа-я]+|[0-9]+|[A-ZÀ-ÖØ-ßА-Я]+(?![a-zà-öø-ÿа-я])/g;
571
413
  const spaceSplit = /\S+/g;
572
- function getPartsAndIndexes(string2, splitRegex) {
414
+ function getPartsAndIndexes(string, splitRegex) {
573
415
  const result = { parts: [], prefixes: [] };
574
- const matches = string2.matchAll(splitRegex);
416
+ const matches = string.matchAll(splitRegex);
575
417
  let lastWordEndIndex = 0;
576
418
  for (const match of matches) {
577
419
  if (typeof match.index !== "number")
578
420
  continue;
579
421
  const word = match[0];
580
422
  result.parts.push(word);
581
- const prefix = string2.slice(lastWordEndIndex, match.index).trim();
423
+ const prefix = string.slice(lastWordEndIndex, match.index).trim();
582
424
  result.prefixes.push(prefix);
583
425
  lastWordEndIndex = match.index + word.length;
584
426
  }
585
- const tail = string2.slice(lastWordEndIndex).trim();
427
+ const tail = string.slice(lastWordEndIndex).trim();
586
428
  if (tail) {
587
429
  result.parts.push("");
588
430
  result.prefixes.push(tail);
589
431
  }
590
432
  return result;
591
433
  }
592
- function splitAndPrefix(string2, options) {
434
+ function splitAndPrefix(string, options) {
593
435
  const { keepSpecialCharacters = false, keep, prefix = "" } = options || {};
594
- const normalString = string2.trim().normalize("NFC");
436
+ const normalString = string.trim().normalize("NFC");
595
437
  const hasSpaces = normalString.includes(" ");
596
438
  const split = hasSpaces ? spaceSplit : magicSplit;
597
439
  const partsAndIndexes = getPartsAndIndexes(normalString, split);
@@ -624,74 +466,127 @@ function splitAndPrefix(string2, options) {
624
466
  return (foundPrefix || prefix) + part;
625
467
  }).filter(Boolean);
626
468
  }
627
- function capitaliseWord(string2) {
628
- const match = string2.matchAll(magicSplit).next().value;
469
+ function capitaliseWord(string) {
470
+ const match = string.matchAll(magicSplit).next().value;
629
471
  const firstLetterIndex = match ? match.index : 0;
630
- return string2.slice(0, firstLetterIndex + 1).toUpperCase() + string2.slice(firstLetterIndex + 1).toLowerCase();
472
+ return string.slice(0, firstLetterIndex + 1).toUpperCase() + string.slice(firstLetterIndex + 1).toLowerCase();
631
473
  }
632
- function camelCase(string2, options) {
633
- return splitAndPrefix(string2, options).reduce((result, word, index) => {
474
+ function camelCase$1(string, options) {
475
+ return splitAndPrefix(string, options).reduce((result, word, index) => {
634
476
  return index === 0 || !(word[0] || "").match(magicSplit) ? result + word.toLowerCase() : result + capitaliseWord(word);
635
477
  }, "");
636
478
  }
637
- function pascalCase(string2, options) {
638
- return splitAndPrefix(string2, options).reduce((result, word) => {
479
+ function pascalCase$1(string, options) {
480
+ return splitAndPrefix(string, options).reduce((result, word) => {
639
481
  return result + capitaliseWord(word);
640
482
  }, "");
641
483
  }
642
- function kebabCase(string2, options) {
643
- return splitAndPrefix(string2, { ...options, prefix: "-" }).join("").toLowerCase();
484
+ function kebabCase(string, options) {
485
+ return splitAndPrefix(string, { ...options, prefix: "-" }).join("").toLowerCase();
644
486
  }
645
- function snakeCase(string2, options) {
646
- return splitAndPrefix(string2, { ...options, prefix: "_" }).join("").toLowerCase();
487
+ function snakeCase$1(string, options) {
488
+ return splitAndPrefix(string, { ...options, prefix: "_" }).join("").toLowerCase();
647
489
  }
648
- function trainCase(string2, options) {
649
- return splitAndPrefix(string2, { ...options, prefix: "-" }).map((word) => capitaliseWord(word)).join("");
490
+ function trainCase(string, options) {
491
+ return splitAndPrefix(string, { ...options, prefix: "-" }).map((word) => capitaliseWord(word)).join("");
650
492
  }
651
- function dotNotation(string2, options) {
652
- return splitAndPrefix(string2, { ...options, prefix: "." }).join("");
493
+ function dotNotation(string, options) {
494
+ return splitAndPrefix(string, { ...options, prefix: "." }).join("");
653
495
  }
654
- function capitalCase(string2, options = { keepSpecialCharacters: true }) {
655
- return splitAndPrefix(string2, { ...options, prefix: " " }).reduce((result, word) => {
496
+ function capitalCase$1(string, options = { keepSpecialCharacters: true }) {
497
+ return splitAndPrefix(string, { ...options, prefix: " " }).reduce((result, word) => {
656
498
  return result + capitaliseWord(word);
657
499
  }, "");
658
500
  }
501
+ var __create = Object.create;
502
+ var __defProp = Object.defineProperty;
503
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
504
+ var __getOwnPropNames = Object.getOwnPropertyNames;
505
+ var __getProtoOf = Object.getPrototypeOf;
506
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
507
+ var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
508
+ var __copyProps = (to, from, except, desc) => {
509
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n2 = keys.length, key; i < n2; i++) {
510
+ key = keys[i];
511
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
512
+ get: ((k) => from[k]).bind(null, key),
513
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
514
+ });
515
+ }
516
+ return to;
517
+ };
518
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(__defProp(target, "default", {
519
+ value: mod,
520
+ enumerable: true
521
+ }), mod));
522
+ var import_bytes = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((exports$1, module) => {
523
+ module.exports = bytes$1;
524
+ module.exports.format = format$1;
525
+ module.exports.parse = parse$1;
526
+ var formatThousandsRegExp = /\B(?=(\d{3})+(?!\d))/g;
527
+ var formatDecimalsRegExp = /(?:\.0*|(\.[^0]+)0+)$/;
528
+ var map = {
529
+ b: 1,
530
+ kb: 1024,
531
+ mb: 1 << 20,
532
+ gb: 1 << 30,
533
+ tb: Math.pow(1024, 4),
534
+ pb: Math.pow(1024, 5)
535
+ };
536
+ var parseRegExp = /^((-|\+)?(\d+(?:\.\d+)?)) *(kb|mb|gb|tb|pb)$/i;
537
+ function bytes$1(value, options) {
538
+ if (typeof value === "string") return parse$1(value);
539
+ if (typeof value === "number") return format$1(value, options);
540
+ return null;
541
+ }
542
+ function format$1(value, options) {
543
+ if (!Number.isFinite(value)) return null;
544
+ var mag = Math.abs(value);
545
+ var thousandsSeparator = options && options.thousandsSeparator || "";
546
+ var unitSeparator = options && options.unitSeparator || "";
547
+ var decimalPlaces = options && options.decimalPlaces !== void 0 ? options.decimalPlaces : 2;
548
+ var fixedDecimals = Boolean(options && options.fixedDecimals);
549
+ var unit = options && options.unit || "";
550
+ if (!unit || !map[unit.toLowerCase()]) if (mag >= map.pb) unit = "PB";
551
+ else if (mag >= map.tb) unit = "TB";
552
+ else if (mag >= map.gb) unit = "GB";
553
+ else if (mag >= map.mb) unit = "MB";
554
+ else if (mag >= map.kb) unit = "KB";
555
+ else unit = "B";
556
+ var str = (value / map[unit.toLowerCase()]).toFixed(decimalPlaces);
557
+ if (!fixedDecimals) str = str.replace(formatDecimalsRegExp, "$1");
558
+ if (thousandsSeparator) str = str.split(".").map(function(s, i) {
559
+ return i === 0 ? s.replace(formatThousandsRegExp, thousandsSeparator) : s;
560
+ }).join(".");
561
+ return str + unitSeparator + unit;
562
+ }
563
+ function parse$1(val) {
564
+ if (typeof val === "number" && !isNaN(val)) return val;
565
+ if (typeof val !== "string") return null;
566
+ var results = parseRegExp.exec(val);
567
+ var floatValue;
568
+ var unit = "b";
569
+ if (!results) {
570
+ floatValue = parseInt(val, 10);
571
+ unit = "b";
572
+ } else {
573
+ floatValue = parseFloat(results[1]);
574
+ unit = results[4].toLowerCase();
575
+ }
576
+ if (isNaN(floatValue)) return null;
577
+ return Math.floor(map[unit] * floatValue);
578
+ }
579
+ })))());
659
580
  var bytes_default = {
660
- /**
661
- * Formats bytes to a human-readable string value. When input cannot be formatted, the `null` value is returned. The accepted options are as follows.
662
- *
663
- - `decimalPlaces`: Maximum number of decimal places to include in output. `default=2`.
664
- - `fixedDecimals`: Whether to always display the maximum number of decimal places. `default=false`.
665
- - `thousandsSeparator`: Specify the separator for thousands. `default=''`.
666
- - `unit`: The unit in which the result will be returned. It could be `B/KB/MB/GB/TB`. The default behavior is to auto-detect based on the input.
667
- - `unitSeparator`: The separator between the value and the `unit`. `default=''`.
668
- */
669
581
  format(valueInBytes, options) {
670
- return bytes.format(valueInBytes, options);
582
+ return import_bytes.default.format(valueInBytes, options);
671
583
  },
672
- /**
673
- * Parse a human-readable string expression to bytes. If the unit value is a number, it will be
674
- * returned as it is. Otherwise, the string expression will be converted to a number representing
675
- * bytes.
676
- *
677
- * The `null` value is returned when the input cannot be parsed.
678
- *
679
- * Supported units and abbreviations are as follows and are case-insensitive:
680
- - `b` for bytes
681
- - `kb` for kilobytes
682
- - `mb` for megabytes
683
- - `gb` for gigabytes
684
- - `tb` for terabytes
685
- - `pb` for petabytes
686
- */
687
584
  parse(unit) {
688
- if (typeof unit === "number") {
689
- return unit;
690
- }
691
- return bytes.parse(unit);
585
+ if (typeof unit === "number") return unit;
586
+ return import_bytes.default.parse(unit);
692
587
  }
693
588
  };
694
- var uuidGenerator = randomUUID;
589
+ let uuidGenerator = randomUUID;
695
590
  function uuid(options) {
696
591
  return uuidGenerator(options);
697
592
  }
@@ -701,36 +596,50 @@ uuid.use = function uuidUse(generator) {
701
596
  uuid.restore = function uuidRestore() {
702
597
  uuidGenerator = randomUUID;
703
598
  };
599
+ var RGX = /^(-?(?:\d+)?\.?\d+) *(m(?:illiseconds?|s(?:ecs?)?))?(s(?:ec(?:onds?|s)?)?)?(m(?:in(?:utes?|s)?)?)?(h(?:ours?|rs?)?)?(d(?:ays?)?)?(w(?:eeks?|ks?)?)?(y(?:ears?|rs?)?)?$/, SEC = 1e3, MIN = SEC * 60, HOUR = MIN * 60, DAY = HOUR * 24, YEAR = DAY * 365.25;
600
+ function parse(val) {
601
+ var num, arr = val.toLowerCase().match(RGX);
602
+ if (arr != null && (num = parseFloat(arr[1]))) {
603
+ if (arr[3] != null) return num * SEC;
604
+ if (arr[4] != null) return num * MIN;
605
+ if (arr[5] != null) return num * HOUR;
606
+ if (arr[6] != null) return num * DAY;
607
+ if (arr[7] != null) return num * DAY * 7;
608
+ if (arr[8] != null) return num * YEAR;
609
+ return num;
610
+ }
611
+ }
612
+ function fmt(val, pfx, str, long) {
613
+ var num = (val | 0) === val ? val : ~~(val + 0.5);
614
+ return pfx + num + (long ? " " + str + (num != 1 ? "s" : "") : str[0]);
615
+ }
616
+ function format(num, long) {
617
+ var pfx = num < 0 ? "-" : "", abs = num < 0 ? -num : num;
618
+ if (abs < SEC) return num + (long ? " ms" : "ms");
619
+ if (abs < MIN) return fmt(abs / SEC, pfx, "second", long);
620
+ if (abs < HOUR) return fmt(abs / MIN, pfx, "minute", long);
621
+ if (abs < DAY) return fmt(abs / HOUR, pfx, "hour", long);
622
+ if (abs < YEAR) return fmt(abs / DAY, pfx, "day", long);
623
+ return fmt(abs / YEAR, pfx, "year", long);
624
+ }
704
625
  var seconds_default = {
705
- /**
706
- * Formats seconds to pretty string output
707
- */
708
626
  format(seconds, long) {
709
627
  return format(seconds * 1e3, long);
710
628
  },
711
- /**
712
- * Parse the time expression to seconds. If the unit value is a number, then
713
- * it will be returned as it is. Otherwise the string expression will be
714
- * converted to a number representing seconds.
715
- */
716
629
  parse(duration) {
717
- if (typeof duration === "number") {
718
- return duration;
719
- }
630
+ if (typeof duration === "number") return duration;
720
631
  const milliseconds = parse(duration);
721
- if (milliseconds === void 0) {
722
- throw new Error(`Invalid duration expression "${duration}"`);
723
- }
632
+ if (milliseconds === void 0) throw new Error(`Invalid duration expression "${duration}"`);
724
633
  return Math.floor(milliseconds / 1e3);
725
634
  }
726
635
  };
727
- var slug = slugifyPkg;
728
- var defaultGenerator = (size) => {
636
+ const slug = slugifyPkg;
637
+ const defaultGenerator = (size) => {
729
638
  const bits = (size + 1) * 6;
730
639
  const buffer = randomBytes(Math.ceil(bits / 8));
731
640
  return Buffer.from(buffer).toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/\=/g, "").slice(0, size);
732
641
  };
733
- var randomGenerator = defaultGenerator;
642
+ let randomGenerator = defaultGenerator;
734
643
  function random(size) {
735
644
  return randomGenerator(size);
736
645
  }
@@ -740,13 +649,102 @@ random.use = function randomUse(generator) {
740
649
  random.restore = function randomRestore() {
741
650
  randomGenerator = defaultGenerator;
742
651
  };
743
- function excerpt(sentence2, charactersLimit, options) {
744
- return truncatise2(sentence2, {
652
+ var require_truncatise = /* @__PURE__ */ __commonJSMin(((exports$1, module) => {
653
+ (function(exportTo) {
654
+ var selfClosingTags = [
655
+ "area",
656
+ "base",
657
+ "br",
658
+ "col",
659
+ "embed",
660
+ "hr",
661
+ "img",
662
+ "input",
663
+ "keygen",
664
+ "link",
665
+ "menuitem",
666
+ "meta",
667
+ "param",
668
+ "source",
669
+ "track",
670
+ "wbr"
671
+ ];
672
+ var truncatise$2 = function(text, options) {
673
+ var options = options || {}, text = (text || "").trim(), truncatedText = "", currentState = 0, isEndOfWord = false, currentTag = "", tagStack = [], nextChar = "";
674
+ var charCounter = 0, wordCounter = 0, paragraphCounter = 0;
675
+ var NOT_TAG = 0, TAG_START = 1, TAG_ATTRIBUTES = 2;
676
+ options.TruncateBy = options.TruncateBy === void 0 || typeof options.TruncateBy !== "string" || !options.TruncateBy.match(/(word(s)?|character(s)?|paragraph(s)?)/) ? "words" : options.TruncateBy.toLowerCase();
677
+ options.TruncateLength = options.TruncateLength === void 0 || typeof options.TruncateLength !== "number" ? 50 : options.TruncateLength;
678
+ options.StripHTML = options.StripHTML === void 0 || typeof options.StripHTML !== "boolean" ? false : options.StripHTML;
679
+ options.Strict = options.Strict === void 0 || typeof options.Strict !== "boolean" ? true : options.Strict;
680
+ options.Suffix = options.Suffix === void 0 || typeof options.Suffix !== "string" ? "..." : options.Suffix;
681
+ if (text === "" || text.length <= options.TruncateLength && options.StripHTML === false) return text;
682
+ if (options.StripHTML) text = String(text).replace(/<br( \/)?>/gi, " ");
683
+ if (options.StripHTML && !options.TruncateBy.match(/(paragraph(s)?)/)) text = String(text).replace(/<!--(.*?)-->/gm, "").replace(/<\/?[^>]+>/gi, "");
684
+ text = String(text).replace(/<\/p>(\r?\n)+<p>/gm, "</p><p>");
685
+ if (options.StripHTML && String(text).match(/\r?\n\r?\n/)) text = String(text).replace(/((.+)(\r?\n\r?\n|$))/gi, "<p>$2</p>");
686
+ for (var pointer = 0; pointer < text.length; pointer++) {
687
+ var currentChar = text[pointer];
688
+ switch (currentChar) {
689
+ case "<":
690
+ if (currentState === NOT_TAG) {
691
+ currentState = TAG_START;
692
+ currentTag = "";
693
+ }
694
+ if (!options.StripHTML) truncatedText += currentChar;
695
+ break;
696
+ case ">":
697
+ if (currentState === TAG_START || currentState === TAG_ATTRIBUTES) {
698
+ currentState = NOT_TAG;
699
+ currentTag = currentTag.toLowerCase();
700
+ if (currentTag === "/p") {
701
+ paragraphCounter++;
702
+ if (options.StripHTML) truncatedText += " ";
703
+ }
704
+ if (selfClosingTags.indexOf(currentTag) === -1 && selfClosingTags.indexOf(currentTag + "/") === -1) if (currentTag.indexOf("/") >= 0) tagStack.pop();
705
+ else tagStack.push(currentTag);
706
+ }
707
+ if (!options.StripHTML) truncatedText += currentChar;
708
+ break;
709
+ case " ":
710
+ if (currentState === TAG_START) currentState = TAG_ATTRIBUTES;
711
+ if (currentState === NOT_TAG) {
712
+ wordCounter++;
713
+ charCounter++;
714
+ }
715
+ if (currentState === NOT_TAG || !options.StripHTML) truncatedText += currentChar;
716
+ break;
717
+ default:
718
+ if (currentState === NOT_TAG) charCounter++;
719
+ if (currentState === TAG_START) currentTag += currentChar;
720
+ if (currentState === NOT_TAG || !options.StripHTML) truncatedText += currentChar;
721
+ break;
722
+ }
723
+ nextChar = text[pointer + 1] || "";
724
+ isEndOfWord = options.Strict ? true : !currentChar.match(/[a-zA-ZÇ-Ü']/i) || !nextChar.match(/[a-zA-ZÇ-Ü']/i);
725
+ if (options.TruncateBy.match(/word(s)?/i) && options.TruncateLength <= wordCounter) {
726
+ truncatedText = truncatedText.replace(/\s+$/, "");
727
+ break;
728
+ }
729
+ if (options.TruncateBy.match(/character(s)?/i) && options.TruncateLength <= charCounter && isEndOfWord) break;
730
+ if (options.TruncateBy.match(/paragraph(s)?/i) && options.TruncateLength === paragraphCounter) break;
731
+ }
732
+ if (!options.StripHTML && tagStack.length > 0) while (tagStack.length > 0) {
733
+ var tag = tagStack.pop();
734
+ if (tag !== "!--") truncatedText += "</" + tag + ">";
735
+ }
736
+ if (pointer < text.length - 1) if (truncatedText.match(/<\/p>$/gi)) truncatedText = truncatedText.replace(/(<\/p>)$/gi, options.Suffix + "$1");
737
+ else truncatedText = truncatedText + options.Suffix;
738
+ return truncatedText.trim();
739
+ };
740
+ if (typeof module !== "undefined" && module.exports) return module.exports = truncatise$2;
741
+ exportTo.truncatise = truncatise$2;
742
+ })(exports$1);
743
+ }));
744
+ var import_truncatise$1 = /* @__PURE__ */ __toESM(require_truncatise());
745
+ function excerpt(sentence$1, charactersLimit, options) {
746
+ return (0, import_truncatise$1.default)(sentence$1, {
745
747
  TruncateLength: charactersLimit,
746
- /**
747
- * Do not complete words when "completeWords" is not explicitly set
748
- * to true
749
- */
750
748
  Strict: options && options.completeWords === true ? false : true,
751
749
  StripHTML: true,
752
750
  TruncateBy: "characters",
@@ -754,12 +752,8 @@ function excerpt(sentence2, charactersLimit, options) {
754
752
  });
755
753
  }
756
754
  function applyPadding(value, options) {
757
- if (options.paddingLeft) {
758
- value = `${options.paddingChar.repeat(options.paddingLeft)}${value}`;
759
- }
760
- if (options.paddingRight) {
761
- value = `${value}${options.paddingChar.repeat(options.paddingRight)}`;
762
- }
755
+ if (options.paddingLeft) value = `${options.paddingChar.repeat(options.paddingLeft)}${value}`;
756
+ if (options.paddingRight) value = `${value}${options.paddingChar.repeat(options.paddingRight)}`;
763
757
  return value;
764
758
  }
765
759
  function justify(columns, options) {
@@ -770,15 +764,11 @@ function justify(columns, options) {
770
764
  };
771
765
  return columns.map((column) => {
772
766
  const columnWidth = options.getLength?.(column) ?? column.length;
773
- if (columnWidth >= normalizedOptions.width) {
774
- return column;
775
- }
776
- if (normalizedOptions.align === "left") {
777
- return applyPadding(column, {
778
- paddingChar: normalizedOptions.indent,
779
- paddingRight: normalizedOptions.width - columnWidth
780
- });
781
- }
767
+ if (columnWidth >= normalizedOptions.width) return column;
768
+ if (normalizedOptions.align === "left") return applyPadding(column, {
769
+ paddingChar: normalizedOptions.indent,
770
+ paddingRight: normalizedOptions.width - columnWidth
771
+ });
782
772
  return applyPadding(column, {
783
773
  paddingChar: normalizedOptions.indent,
784
774
  paddingLeft: normalizedOptions.width - columnWidth
@@ -787,15 +777,10 @@ function justify(columns, options) {
787
777
  }
788
778
  function ordinal(value) {
789
779
  const transformedValue = Math.abs(typeof value === "string" ? Number.parseInt(value) : value);
790
- if (!Number.isFinite(transformedValue) || Number.isNaN(transformedValue)) {
791
- throw new Error("Cannot ordinalize invalid or infinite numbers");
792
- }
780
+ if (!Number.isFinite(transformedValue) || Number.isNaN(transformedValue)) throw new Error("Cannot ordinalize invalid or infinite numbers");
793
781
  const percent = transformedValue % 100;
794
- if (percent >= 10 && percent <= 20) {
795
- return `${value}th`;
796
- }
797
- const decimal = transformedValue % 10;
798
- switch (decimal) {
782
+ if (percent >= 10 && percent <= 20) return `${value}th`;
783
+ switch (transformedValue % 10) {
799
784
  case 1:
800
785
  return `${value}st`;
801
786
  case 2:
@@ -806,13 +791,10 @@ function ordinal(value) {
806
791
  return `${value}th`;
807
792
  }
808
793
  }
809
- function truncate(sentence2, charactersLimit, options) {
810
- return truncatise2(sentence2, {
794
+ var import_truncatise = /* @__PURE__ */ __toESM(require_truncatise());
795
+ function truncate(sentence$1, charactersLimit, options) {
796
+ return (0, import_truncatise.default)(sentence$1, {
811
797
  TruncateLength: charactersLimit,
812
- /**
813
- * Do not complete words when "completeWords" is not explicitly set
814
- * to true
815
- */
816
798
  Strict: options && options.completeWords === true ? false : true,
817
799
  StripHTML: false,
818
800
  TruncateBy: "characters",
@@ -820,16 +802,13 @@ function truncate(sentence2, charactersLimit, options) {
820
802
  });
821
803
  }
822
804
  function sentence(values, options) {
823
- if (values.length === 0) {
824
- return "";
825
- }
826
- if (values.length === 1) {
827
- return values[0];
828
- }
829
- if (values.length === 2) {
830
- return `${values[0]}${options?.pairSeparator || " and "}${values[1]}`;
831
- }
832
- const normalized = Object.assign({ separator: ", ", lastSeparator: ", and " }, options);
805
+ if (values.length === 0) return "";
806
+ if (values.length === 1) return values[0];
807
+ if (values.length === 2) return `${values[0]}${options?.pairSeparator || " and "}${values[1]}`;
808
+ const normalized = Object.assign({
809
+ separator: ", ",
810
+ lastSeparator: ", and "
811
+ }, options);
833
812
  return `${values.slice(0, -1).join(normalized.separator)}${normalized.lastSeparator}${values[values.length - 1]}`;
834
813
  }
835
814
  function wordWrap(value, options) {
@@ -839,35 +818,19 @@ function wordWrap(value, options) {
839
818
  let regexString = ".{1," + width + "}";
840
819
  regexString += "([\\s​]+|$)|[^\\s​]+?([\\s​]+|$)";
841
820
  const re = new RegExp(regexString, "g");
842
- const lines = value.match(re) || [];
843
- const result = lines.map(function(line) {
844
- if (line.slice(-1) === "\n") {
845
- line = line.slice(0, line.length - 1);
846
- }
821
+ return (value.match(re) || []).map(function(line) {
822
+ if (line.slice(-1) === "\n") line = line.slice(0, line.length - 1);
847
823
  return options.escape ? options.escape(line) : line;
848
824
  }).join(newLine);
849
- return result;
850
825
  }
851
826
  var milliseconds_default = {
852
- /**
853
- * Formats milliseconds to pretty string output
854
- */
855
827
  format(milliseconds, long) {
856
828
  return format(milliseconds, long);
857
829
  },
858
- /**
859
- * Parse the time expression to milliseconds. If the unit value is a number,
860
- * then it will be returned as it is. Otherwise the string expression will
861
- * be converted to a number representing seconds.
862
- */
863
830
  parse(duration) {
864
- if (typeof duration === "number") {
865
- return duration;
866
- }
831
+ if (typeof duration === "number") return duration;
867
832
  const milliseconds = parse(duration);
868
- if (milliseconds === void 0) {
869
- throw new Error(`Invalid duration expression "${duration}"`);
870
- }
833
+ if (milliseconds === void 0) throw new Error(`Invalid duration expression "${duration}"`);
871
834
  return milliseconds;
872
835
  }
873
836
  };
@@ -877,9 +840,7 @@ function htmlEscape(value) {
877
840
  function parseProp(data, key) {
878
841
  const tokens = key.split(".");
879
842
  while (tokens.length) {
880
- if (data === null || typeof data !== "object") {
881
- return;
882
- }
843
+ if (data === null || typeof data !== "object") return;
883
844
  const token = tokens.shift();
884
845
  data = Object.hasOwn(data, token) ? data[token] : void 0;
885
846
  }
@@ -887,17 +848,12 @@ function parseProp(data, key) {
887
848
  }
888
849
  function interpolate(input, data) {
889
850
  return input.replace(/(\\)?{{(.*?)}}/g, (_, escapeChar, key) => {
890
- if (escapeChar) {
891
- return `{{${key}}}`;
892
- }
851
+ if (escapeChar) return `{{${key}}}`;
893
852
  return parseProp(data, key.trim());
894
853
  });
895
854
  }
896
855
  function toUnixSlash(path) {
897
- const isExtendedLengthPath = path.startsWith("\\\\?\\");
898
- if (isExtendedLengthPath) {
899
- return path;
900
- }
856
+ if (path.startsWith("\\\\?\\")) return path;
901
857
  return path.replace(/\\/g, "/");
902
858
  }
903
859
  function pluralize(word, count, inclusive) {
@@ -907,17 +863,17 @@ pluralize.addPluralRule = pluralizePkg.addPluralRule;
907
863
  pluralize.addSingularRule = pluralizePkg.addSingularRule;
908
864
  pluralize.addIrregularRule = pluralizePkg.addIrregularRule;
909
865
  pluralize.addUncountableRule = pluralizePkg.addUncountableRule;
910
- var plural = pluralizePkg.plural;
911
- var singular = pluralizePkg.singular;
912
- var isPlural = pluralizePkg.isPlural;
913
- var isSingular = pluralizePkg.isSingular;
914
- var NO_CASE_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];
915
- var NO_CASE_STRIP_REGEXP = /[^A-Z0-9]+/gi;
916
- var SMALL_WORDS = /\b(?:an?d?|a[st]|because|but|by|en|for|i[fn]|neither|nor|o[fnr]|only|over|per|so|some|tha[tn]|the|to|up|upon|vs?\.?|versus|via|when|with|without|yet)\b/i;
917
- var TOKENS = /[^\s:–—-]+|./g;
918
- var WHITESPACE = /\s/;
919
- var IS_MANUAL_CASE = /.(?=[A-Z]|\..)/;
920
- var ALPHANUMERIC_PATTERN = /[A-Za-z0-9\u00C0-\u00FF]/;
866
+ const plural = pluralizePkg.plural;
867
+ const singular = pluralizePkg.singular;
868
+ const isPlural = pluralizePkg.isPlural;
869
+ const isSingular = pluralizePkg.isSingular;
870
+ const NO_CASE_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g];
871
+ const NO_CASE_STRIP_REGEXP = /[^A-Z0-9]+/gi;
872
+ const SMALL_WORDS = /\b(?:an?d?|a[st]|because|but|by|en|for|i[fn]|neither|nor|o[fnr]|only|over|per|so|some|tha[tn]|the|to|up|upon|vs?\.?|versus|via|when|with|without|yet)\b/i;
873
+ const TOKENS = /[^\s:–—-]+|./g;
874
+ const WHITESPACE = /\s/;
875
+ const IS_MANUAL_CASE = /.(?=[A-Z]|\..)/;
876
+ const ALPHANUMERIC_PATTERN = /[A-Za-z0-9\u00C0-\u00FF]/;
921
877
  function titleCase(input) {
922
878
  let output = "";
923
879
  let result;
@@ -931,38 +887,32 @@ function titleCase(input) {
931
887
  }
932
888
  return output;
933
889
  }
934
- function camelCase2(value) {
935
- return camelCase(value);
890
+ function camelCase(value) {
891
+ return camelCase$1(value);
936
892
  }
937
- function snakeCase2(value) {
938
- return snakeCase(value);
893
+ function snakeCase(value) {
894
+ return snakeCase$1(value);
939
895
  }
940
896
  function dashCase(value, options) {
941
- if (options && options.capitalize) {
942
- return trainCase(value);
943
- }
897
+ if (options && options.capitalize) return trainCase(value);
944
898
  return kebabCase(value);
945
899
  }
946
- function pascalCase2(value) {
947
- return pascalCase(value);
900
+ function pascalCase(value) {
901
+ return pascalCase$1(value);
948
902
  }
949
- function capitalCase2(value) {
950
- return capitalCase(value);
903
+ function capitalCase(value) {
904
+ return capitalCase$1(value);
951
905
  }
952
906
  function sentenceCase(value) {
953
907
  return noCase(value, (input, index) => {
954
908
  const result = input.toLowerCase();
955
- if (index === 0) {
956
- return input.charAt(0).toUpperCase() + input.substring(1);
957
- }
909
+ if (index === 0) return input.charAt(0).toUpperCase() + input.substring(1);
958
910
  return result;
959
911
  });
960
912
  }
961
913
  function dotCase(value, options) {
962
914
  const transformedValue = dotNotation(value);
963
- if (options && options.lowerCase) {
964
- return transformedValue.toLowerCase();
965
- }
915
+ if (options && options.lowerCase) return transformedValue.toLowerCase();
966
916
  return transformedValue;
967
917
  }
968
918
  function noCase(value, transform) {
@@ -970,18 +920,14 @@ function noCase(value, transform) {
970
920
  result = result.replace(NO_CASE_STRIP_REGEXP, "\0");
971
921
  let start = 0;
972
922
  let end = result.length;
973
- while (result.charAt(start) === "\0") {
974
- start++;
975
- }
976
- while (result.charAt(end - 1) === "\0") {
977
- end--;
978
- }
923
+ while (result.charAt(start) === "\0") start++;
924
+ while (result.charAt(end - 1) === "\0") end--;
979
925
  return result.slice(start, end).split("\0").map(transform || ((input) => input.toLowerCase())).join(" ");
980
926
  }
981
927
  function condenseWhitespace(value) {
982
928
  return value.trim().replace(/\s{2,}/g, " ");
983
929
  }
984
- var string = {
930
+ var string_default = {
985
931
  excerpt,
986
932
  truncate,
987
933
  slug,
@@ -991,14 +937,14 @@ var string = {
991
937
  singular,
992
938
  isPlural,
993
939
  isSingular,
994
- camelCase: camelCase2,
995
- capitalCase: capitalCase2,
940
+ camelCase,
941
+ capitalCase,
996
942
  dashCase,
997
943
  dotCase,
998
944
  noCase,
999
- pascalCase: pascalCase2,
945
+ pascalCase,
1000
946
  sentenceCase,
1001
- snakeCase: snakeCase2,
947
+ snakeCase,
1002
948
  titleCase,
1003
949
  random,
1004
950
  sentence,
@@ -1013,7 +959,6 @@ var string = {
1013
959
  uuid,
1014
960
  toUnixSlash
1015
961
  };
1016
- var index_default = string;
1017
962
  var o = Object.defineProperty;
1018
963
  var a = (t, s, r) => s in t ? o(t, s, { enumerable: true, configurable: true, writable: true, value: r }) : t[s] = r;
1019
964
  var n = (t, s, r) => a(t, s + "", r);
@@ -1082,7 +1027,7 @@ class l {
1082
1027
  }
1083
1028
  export {
1084
1029
  commonjsRequire as c,
1085
- index_default as i,
1086
- l
1030
+ l,
1031
+ string_default as s
1087
1032
  };
1088
- //# sourceMappingURL=index-C8mGEf4P.js.map
1033
+ //# sourceMappingURL=index-DLVvkVxI.js.map