@promptbook/cli 0.43.0 → 0.44.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/esm/index.es.js +438 -34
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/_packages/utils.index.d.ts +30 -3
  4. package/esm/typings/errors/PromptbookNotFoundError.d.ts +7 -0
  5. package/esm/typings/errors/{ExpectError.d.ts → _ExpectError.d.ts} +1 -0
  6. package/esm/typings/utils/expectation-counters/countSentences.d.ts +4 -0
  7. package/esm/typings/utils/normalization/DIACRITIC_VARIANTS_LETTERS.d.ts +10 -0
  8. package/esm/typings/utils/normalization/IKeywords.d.ts +18 -0
  9. package/esm/typings/utils/normalization/capitalize.d.ts +5 -0
  10. package/esm/typings/utils/normalization/capitalize.test.d.ts +1 -0
  11. package/esm/typings/utils/normalization/decapitalize.d.ts +5 -0
  12. package/esm/typings/utils/normalization/decapitalize.test.d.ts +1 -0
  13. package/esm/typings/utils/normalization/isValidKeyword.d.ts +8 -0
  14. package/esm/typings/utils/normalization/isValidKeyword.test.d.ts +1 -0
  15. package/esm/typings/utils/normalization/nameToUriPart.d.ts +1 -0
  16. package/esm/typings/utils/normalization/nameToUriPart.test.d.ts +1 -0
  17. package/esm/typings/utils/normalization/nameToUriParts.d.ts +1 -0
  18. package/esm/typings/utils/normalization/nameToUriParts.test.d.ts +1 -0
  19. package/esm/typings/utils/normalization/normalize-to-kebab-case.d.ts +1 -0
  20. package/esm/typings/utils/normalization/normalize-to-kebab-case.test.d.ts +1 -0
  21. package/esm/typings/utils/normalization/normalizeTo_PascalCase.d.ts +1 -0
  22. package/esm/typings/utils/normalization/normalizeTo_PascalCase.test.d.ts +1 -0
  23. package/esm/typings/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +4 -0
  24. package/esm/typings/utils/normalization/normalizeTo_SCREAMING_CASE.test.d.ts +1 -0
  25. package/esm/typings/utils/normalization/normalizeTo_camelCase.d.ts +4 -0
  26. package/esm/typings/utils/normalization/normalizeTo_camelCase.test.d.ts +1 -0
  27. package/esm/typings/utils/normalization/normalizeTo_snake_case.d.ts +1 -0
  28. package/esm/typings/utils/normalization/normalizeTo_snake_case.test.d.ts +1 -0
  29. package/esm/typings/utils/normalization/normalizeWhitespaces.d.ts +4 -0
  30. package/esm/typings/utils/normalization/normalizeWhitespaces.test.d.ts +1 -0
  31. package/esm/typings/utils/normalization/parseKeywords.d.ts +14 -0
  32. package/esm/typings/utils/normalization/parseKeywords.test.d.ts +1 -0
  33. package/esm/typings/utils/normalization/parseKeywordsFromString.d.ts +8 -0
  34. package/esm/typings/utils/normalization/parseKeywordsFromString.test.d.ts +1 -0
  35. package/esm/typings/utils/normalization/removeDiacritics.d.ts +4 -0
  36. package/esm/typings/utils/normalization/removeDiacritics.test.d.ts +1 -0
  37. package/esm/typings/utils/normalization/searchKeywords.d.ts +5 -0
  38. package/esm/typings/utils/normalization/searchKeywords.test.d.ts +1 -0
  39. package/package.json +2 -3
  40. package/umd/index.umd.js +446 -42
  41. package/umd/index.umd.js.map +1 -1
  42. package/umd/typings/_packages/utils.index.d.ts +30 -3
  43. package/umd/typings/errors/PromptbookNotFoundError.d.ts +7 -0
  44. package/umd/typings/errors/{ExpectError.d.ts → _ExpectError.d.ts} +1 -0
  45. package/umd/typings/utils/expectation-counters/countSentences.d.ts +4 -0
  46. package/umd/typings/utils/normalization/DIACRITIC_VARIANTS_LETTERS.d.ts +10 -0
  47. package/umd/typings/utils/normalization/IKeywords.d.ts +18 -0
  48. package/umd/typings/utils/normalization/capitalize.d.ts +5 -0
  49. package/umd/typings/utils/normalization/capitalize.test.d.ts +1 -0
  50. package/umd/typings/utils/normalization/decapitalize.d.ts +5 -0
  51. package/umd/typings/utils/normalization/decapitalize.test.d.ts +1 -0
  52. package/umd/typings/utils/normalization/isValidKeyword.d.ts +8 -0
  53. package/umd/typings/utils/normalization/isValidKeyword.test.d.ts +1 -0
  54. package/umd/typings/utils/normalization/nameToUriPart.d.ts +1 -0
  55. package/umd/typings/utils/normalization/nameToUriPart.test.d.ts +1 -0
  56. package/umd/typings/utils/normalization/nameToUriParts.d.ts +1 -0
  57. package/umd/typings/utils/normalization/nameToUriParts.test.d.ts +1 -0
  58. package/umd/typings/utils/normalization/normalize-to-kebab-case.d.ts +1 -0
  59. package/umd/typings/utils/normalization/normalize-to-kebab-case.test.d.ts +1 -0
  60. package/umd/typings/utils/normalization/normalizeTo_PascalCase.d.ts +1 -0
  61. package/umd/typings/utils/normalization/normalizeTo_PascalCase.test.d.ts +1 -0
  62. package/umd/typings/utils/normalization/normalizeTo_SCREAMING_CASE.d.ts +4 -0
  63. package/umd/typings/utils/normalization/normalizeTo_SCREAMING_CASE.test.d.ts +1 -0
  64. package/umd/typings/utils/normalization/normalizeTo_camelCase.d.ts +4 -0
  65. package/umd/typings/utils/normalization/normalizeTo_camelCase.test.d.ts +1 -0
  66. package/umd/typings/utils/normalization/normalizeTo_snake_case.d.ts +1 -0
  67. package/umd/typings/utils/normalization/normalizeTo_snake_case.test.d.ts +1 -0
  68. package/umd/typings/utils/normalization/normalizeWhitespaces.d.ts +4 -0
  69. package/umd/typings/utils/normalization/normalizeWhitespaces.test.d.ts +1 -0
  70. package/umd/typings/utils/normalization/parseKeywords.d.ts +14 -0
  71. package/umd/typings/utils/normalization/parseKeywords.test.d.ts +1 -0
  72. package/umd/typings/utils/normalization/parseKeywordsFromString.d.ts +8 -0
  73. package/umd/typings/utils/normalization/parseKeywordsFromString.test.d.ts +1 -0
  74. package/umd/typings/utils/normalization/removeDiacritics.d.ts +4 -0
  75. package/umd/typings/utils/normalization/removeDiacritics.test.d.ts +1 -0
  76. package/umd/typings/utils/normalization/searchKeywords.d.ts +5 -0
  77. package/umd/typings/utils/normalization/searchKeywords.test.d.ts +1 -0
  78. package/esm/typings/errors/NotFoundError.d.ts +0 -7
  79. package/umd/typings/errors/NotFoundError.d.ts +0 -7
package/esm/index.es.js CHANGED
@@ -4,9 +4,9 @@ import { writeFile, readFile } from 'fs/promises';
4
4
  import glob from 'glob-promise';
5
5
  import spaceTrim from 'spacetrim';
6
6
  import { forTime } from 'waitasecond';
7
- import { capitalize, normalizeTo_SCREAMING_CASE, normalizeTo_PascalCase } from 'n12';
8
7
  import { format } from 'prettier';
9
8
  import parserHtml from 'prettier/parser-html';
9
+ import 'moment';
10
10
 
11
11
  /*! *****************************************************************************
12
12
  Copyright (c) Microsoft Corporation.
@@ -143,7 +143,7 @@ new Function("\n try {\n if (typeof WorkerGlobalScope !== 'undefined'
143
143
  /**
144
144
  * The version of the Promptbook library
145
145
  */
146
- var PROMPTBOOK_VERSION = '0.42.0';
146
+ var PROMPTBOOK_VERSION = '0.44.0-0';
147
147
 
148
148
  /**
149
149
  * This error indicates that the promptbook in a markdown format cannot be parsed into a valid promptbook object
@@ -361,6 +361,14 @@ function extractAllListItemsFromMarkdown(markdown) {
361
361
  return listItems;
362
362
  }
363
363
 
364
+ /**
365
+ * Makes first letter of a string uppercase
366
+ *
367
+ */
368
+ function capitalize(word) {
369
+ return word.substring(0, 1).toUpperCase() + word.substring(1);
370
+ }
371
+
364
372
  /**
365
373
  * Extracts all code blocks from markdown.
366
374
  *
@@ -604,6 +612,434 @@ function parseNumber(value) {
604
612
  * TODO: Maybe use sth. like safe-eval in fraction/calculation case @see https://www.npmjs.com/package/safe-eval
605
613
  */
606
614
 
615
+ /**
616
+ * This error indicates errors during the execution of the promptbook
617
+ */
618
+ /** @class */ ((function (_super) {
619
+ __extends(PromptbookExecutionError, _super);
620
+ function PromptbookExecutionError(message) {
621
+ var _this = _super.call(this, message) || this;
622
+ _this.name = 'PromptbookExecutionError';
623
+ Object.setPrototypeOf(_this, PromptbookExecutionError.prototype);
624
+ return _this;
625
+ }
626
+ return PromptbookExecutionError;
627
+ })(Error));
628
+
629
+ /**
630
+ * This error occurs during the parameter replacement in the template
631
+ *
632
+ * Note: This is a kindof subtype of PromptbookExecutionError because it occurs during the execution of the pipeline
633
+ */
634
+ /** @class */ ((function (_super) {
635
+ __extends(TemplateError, _super);
636
+ function TemplateError(message) {
637
+ var _this = _super.call(this, message) || this;
638
+ _this.name = 'TemplateError';
639
+ Object.setPrototypeOf(_this, TemplateError.prototype);
640
+ return _this;
641
+ }
642
+ return TemplateError;
643
+ })(Error));
644
+
645
+ /**
646
+ * Prettify the html code
647
+ *
648
+ * @param html raw html code
649
+ * @returns formatted html code
650
+ */
651
+ function prettifyMarkdown(html) {
652
+ try {
653
+ return format(html, {
654
+ parser: 'markdown',
655
+ plugins: [parserHtml],
656
+ // TODO: DRY - make some import or auto-copy of .prettierrc
657
+ endOfLine: 'lf',
658
+ tabWidth: 4,
659
+ singleQuote: true,
660
+ trailingComma: 'all',
661
+ arrowParens: 'always',
662
+ printWidth: 120,
663
+ htmlWhitespaceSensitivity: 'ignore',
664
+ jsxBracketSameLine: false,
665
+ bracketSpacing: true,
666
+ });
667
+ }
668
+ catch (error) {
669
+ console.error('There was an error with prettifying the markdown, using the original as the fallback', {
670
+ error: error,
671
+ html: html,
672
+ });
673
+ return html;
674
+ }
675
+ }
676
+
677
+ var defaultDiacriticsRemovalMap = [
678
+ {
679
+ base: 'A',
680
+ letters: '\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F',
681
+ },
682
+ { base: 'AA', letters: '\uA732' },
683
+ { base: 'AE', letters: '\u00C6\u01FC\u01E2' },
684
+ { base: 'AO', letters: '\uA734' },
685
+ { base: 'AU', letters: '\uA736' },
686
+ { base: 'AV', letters: '\uA738\uA73A' },
687
+ { base: 'AY', letters: '\uA73C' },
688
+ {
689
+ base: 'B',
690
+ letters: '\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181',
691
+ },
692
+ {
693
+ base: 'C',
694
+ letters: '\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E',
695
+ },
696
+ {
697
+ base: 'D',
698
+ letters: '\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779\u00D0',
699
+ },
700
+ { base: 'DZ', letters: '\u01F1\u01C4' },
701
+ { base: 'Dz', letters: '\u01F2\u01C5' },
702
+ {
703
+ base: 'E',
704
+ letters: '\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E',
705
+ },
706
+ { base: 'F', letters: '\u0046\u24BB\uFF26\u1E1E\u0191\uA77B' },
707
+ {
708
+ base: 'G',
709
+ letters: '\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E',
710
+ },
711
+ {
712
+ base: 'H',
713
+ letters: '\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D',
714
+ },
715
+ {
716
+ base: 'I',
717
+ letters: '\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197',
718
+ },
719
+ { base: 'J', letters: '\u004A\u24BF\uFF2A\u0134\u0248' },
720
+ {
721
+ base: 'K',
722
+ letters: '\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2',
723
+ },
724
+ {
725
+ base: 'L',
726
+ letters: '\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780',
727
+ },
728
+ { base: 'LJ', letters: '\u01C7' },
729
+ { base: 'Lj', letters: '\u01C8' },
730
+ { base: 'M', letters: '\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C' },
731
+ {
732
+ base: 'N',
733
+ letters: '\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4',
734
+ },
735
+ { base: 'NJ', letters: '\u01CA' },
736
+ { base: 'Nj', letters: '\u01CB' },
737
+ {
738
+ base: 'O',
739
+ letters: '\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C',
740
+ },
741
+ { base: 'OI', letters: '\u01A2' },
742
+ { base: 'OO', letters: '\uA74E' },
743
+ { base: 'OU', letters: '\u0222' },
744
+ { base: 'OE', letters: '\u008C\u0152' },
745
+ { base: 'oe', letters: '\u009C\u0153' },
746
+ {
747
+ base: 'P',
748
+ letters: '\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754',
749
+ },
750
+ { base: 'Q', letters: '\u0051\u24C6\uFF31\uA756\uA758\u024A' },
751
+ {
752
+ base: 'R',
753
+ letters: '\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782',
754
+ },
755
+ {
756
+ base: 'S',
757
+ letters: '\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784',
758
+ },
759
+ {
760
+ base: 'T',
761
+ letters: '\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786',
762
+ },
763
+ { base: 'TZ', letters: '\uA728' },
764
+ {
765
+ base: 'U',
766
+ letters: '\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244',
767
+ },
768
+ { base: 'V', letters: '\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245' },
769
+ { base: 'VY', letters: '\uA760' },
770
+ {
771
+ base: 'W',
772
+ letters: '\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72',
773
+ },
774
+ { base: 'X', letters: '\u0058\u24CD\uFF38\u1E8A\u1E8C' },
775
+ {
776
+ base: 'Y',
777
+ letters: '\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE',
778
+ },
779
+ {
780
+ base: 'Z',
781
+ letters: '\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762',
782
+ },
783
+ {
784
+ base: 'a',
785
+ letters: '\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250',
786
+ },
787
+ { base: 'aa', letters: '\uA733' },
788
+ { base: 'ae', letters: '\u00E6\u01FD\u01E3' },
789
+ { base: 'ao', letters: '\uA735' },
790
+ { base: 'au', letters: '\uA737' },
791
+ { base: 'av', letters: '\uA739\uA73B' },
792
+ { base: 'ay', letters: '\uA73D' },
793
+ {
794
+ base: 'b',
795
+ letters: '\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253',
796
+ },
797
+ {
798
+ base: 'c',
799
+ letters: '\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184',
800
+ },
801
+ {
802
+ base: 'd',
803
+ letters: '\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A',
804
+ },
805
+ { base: 'dz', letters: '\u01F3\u01C6' },
806
+ {
807
+ base: 'e',
808
+ letters: '\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD',
809
+ },
810
+ { base: 'f', letters: '\u0066\u24D5\uFF46\u1E1F\u0192\uA77C' },
811
+ {
812
+ base: 'g',
813
+ letters: '\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F',
814
+ },
815
+ {
816
+ base: 'h',
817
+ letters: '\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265',
818
+ },
819
+ { base: 'hv', letters: '\u0195' },
820
+ {
821
+ base: 'i',
822
+ letters: '\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131',
823
+ },
824
+ { base: 'j', letters: '\u006A\u24D9\uFF4A\u0135\u01F0\u0249' },
825
+ {
826
+ base: 'k',
827
+ letters: '\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3',
828
+ },
829
+ {
830
+ base: 'l',
831
+ letters: '\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747',
832
+ },
833
+ { base: 'lj', letters: '\u01C9' },
834
+ { base: 'm', letters: '\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F' },
835
+ {
836
+ base: 'n',
837
+ letters: '\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5',
838
+ },
839
+ { base: 'nj', letters: '\u01CC' },
840
+ {
841
+ base: 'o',
842
+ letters: '\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275',
843
+ },
844
+ { base: 'oi', letters: '\u01A3' },
845
+ { base: 'ou', letters: '\u0223' },
846
+ { base: 'oo', letters: '\uA74F' },
847
+ {
848
+ base: 'p',
849
+ letters: '\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755',
850
+ },
851
+ { base: 'q', letters: '\u0071\u24E0\uFF51\u024B\uA757\uA759' },
852
+ {
853
+ base: 'r',
854
+ letters: '\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783',
855
+ },
856
+ {
857
+ base: 's',
858
+ letters: '\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B',
859
+ },
860
+ {
861
+ base: 't',
862
+ letters: '\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787',
863
+ },
864
+ { base: 'tz', letters: '\uA729' },
865
+ {
866
+ base: 'u',
867
+ letters: '\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289',
868
+ },
869
+ { base: 'v', letters: '\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C' },
870
+ { base: 'vy', letters: '\uA761' },
871
+ {
872
+ base: 'w',
873
+ letters: '\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73',
874
+ },
875
+ { base: 'x', letters: '\u0078\u24E7\uFF58\u1E8B\u1E8D' },
876
+ {
877
+ base: 'y',
878
+ letters: '\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF',
879
+ },
880
+ {
881
+ base: 'z',
882
+ letters: '\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763',
883
+ },
884
+ ];
885
+ /**
886
+ * Map of letters from diacritic variant to diacritless variant
887
+ * Contains lowercase and uppercase separatelly
888
+ *
889
+ * > "á" => "a"
890
+ * > "ě" => "e"
891
+ * > "Ă" => "A"
892
+ * > ...
893
+ */
894
+ var DIACRITIC_VARIANTS_LETTERS = {};
895
+ // tslint:disable-next-line: prefer-for-of
896
+ for (var i = 0; i < defaultDiacriticsRemovalMap.length; i++) {
897
+ var letters = defaultDiacriticsRemovalMap[i].letters;
898
+ // tslint:disable-next-line: prefer-for-of
899
+ for (var j = 0; j < letters.length; j++) {
900
+ DIACRITIC_VARIANTS_LETTERS[letters[j]] =
901
+ defaultDiacriticsRemovalMap[i].base;
902
+ }
903
+ }
904
+ // <- TODO: !!!! Put to maker function
905
+ /*
906
+ @see https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript
907
+ Licensed under the Apache License, Version 2.0 (the "License");
908
+ you may not use this file except in compliance with the License.
909
+ You may obtain a copy of the License at
910
+
911
+ http://www.apache.org/licenses/LICENSE-2.0
912
+
913
+ Unless required by applicable law or agreed to in writing, software
914
+ distributed under the License is distributed on an "AS IS" BASIS,
915
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
916
+ See the License for the specific language governing permissions and
917
+ limitations under the License.
918
+ */
919
+
920
+ /* tslint:disable */
921
+ /*
922
+ TODO: Tests
923
+ expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: 'Moje tabule' })).toEqual('/VtG7sR9rRJqwNEdM2/Moje tabule');
924
+ expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: 'ěščřžžýáíúů' })).toEqual('/VtG7sR9rRJqwNEdM2/escrzyaieuu');
925
+ expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: ' ahoj ' })).toEqual('/VtG7sR9rRJqwNEdM2/ahoj');
926
+ expect(encodeRoutePath({ uriId: 'VtG7sR9rRJqwNEdM2', name: ' ahoj_ahojAhoj ahoj ' })).toEqual('/VtG7sR9rRJqwNEdM2/ahoj-ahoj-ahoj-ahoj');
927
+ */
928
+ function normalizeTo_SCREAMING_CASE(sentence) {
929
+ var e_1, _a;
930
+ var charType;
931
+ var lastCharType = 'OTHER';
932
+ var normalizedName = '';
933
+ try {
934
+ for (var sentence_1 = __values(sentence), sentence_1_1 = sentence_1.next(); !sentence_1_1.done; sentence_1_1 = sentence_1.next()) {
935
+ var char = sentence_1_1.value;
936
+ var normalizedChar = void 0;
937
+ if (/^[a-z]$/.test(char)) {
938
+ charType = 'LOWERCASE';
939
+ normalizedChar = char.toUpperCase();
940
+ }
941
+ else if (/^[A-Z]$/.test(char)) {
942
+ charType = 'UPPERCASE';
943
+ normalizedChar = char;
944
+ }
945
+ else if (/^[0-9]$/.test(char)) {
946
+ charType = 'NUMBER';
947
+ normalizedChar = char;
948
+ }
949
+ else if (/^\/$/.test(char)) {
950
+ charType = 'SLASH';
951
+ normalizedChar = char;
952
+ }
953
+ else {
954
+ charType = 'OTHER';
955
+ normalizedChar = '_';
956
+ }
957
+ if (charType !== lastCharType &&
958
+ !(lastCharType === 'UPPERCASE' && charType === 'LOWERCASE') &&
959
+ !(lastCharType === 'NUMBER') &&
960
+ !(charType === 'NUMBER')) {
961
+ normalizedName += '_';
962
+ }
963
+ normalizedName += normalizedChar;
964
+ lastCharType = charType;
965
+ }
966
+ }
967
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
968
+ finally {
969
+ try {
970
+ if (sentence_1_1 && !sentence_1_1.done && (_a = sentence_1.return)) _a.call(sentence_1);
971
+ }
972
+ finally { if (e_1) throw e_1.error; }
973
+ }
974
+ normalizedName = normalizedName.replace(/_+/g, '_');
975
+ normalizedName = normalizedName.replace(/_?\/_?/g, '/');
976
+ normalizedName = normalizedName.replace(/^_/, '');
977
+ normalizedName = normalizedName.replace(/_$/, '');
978
+ return normalizedName;
979
+ }
980
+ /**
981
+ * TODO: [🌺] Use some intermediate util splitWords
982
+ */
983
+
984
+ /* tslint:disable */
985
+ function normalizeTo_camelCase(sentence, __firstLetterCapital) {
986
+ var e_1, _a;
987
+ if (__firstLetterCapital === void 0) { __firstLetterCapital = false; }
988
+ var charType;
989
+ var lastCharType = null;
990
+ var normalizedName = '';
991
+ try {
992
+ for (var sentence_1 = __values(sentence), sentence_1_1 = sentence_1.next(); !sentence_1_1.done; sentence_1_1 = sentence_1.next()) {
993
+ var char = sentence_1_1.value;
994
+ var normalizedChar = void 0;
995
+ if (/^[a-z]$/.test(char)) {
996
+ charType = 'LOWERCASE';
997
+ normalizedChar = char;
998
+ }
999
+ else if (/^[A-Z]$/.test(char)) {
1000
+ charType = 'UPPERCASE';
1001
+ normalizedChar = char.toLowerCase();
1002
+ }
1003
+ else if (/^[0-9]$/.test(char)) {
1004
+ charType = 'NUMBER';
1005
+ normalizedChar = char;
1006
+ }
1007
+ else {
1008
+ charType = 'OTHER';
1009
+ normalizedChar = '';
1010
+ }
1011
+ if (!lastCharType) {
1012
+ if (__firstLetterCapital) {
1013
+ normalizedChar = normalizedChar.toUpperCase(); //TODO: DRY
1014
+ }
1015
+ }
1016
+ else if (charType !== lastCharType &&
1017
+ !(charType === 'LOWERCASE' && lastCharType === 'UPPERCASE') &&
1018
+ !(lastCharType === 'NUMBER') &&
1019
+ !(charType === 'NUMBER')) {
1020
+ normalizedChar = normalizedChar.toUpperCase(); //TODO: [🌺] DRY
1021
+ }
1022
+ normalizedName += normalizedChar;
1023
+ lastCharType = charType;
1024
+ }
1025
+ }
1026
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1027
+ finally {
1028
+ try {
1029
+ if (sentence_1_1 && !sentence_1_1.done && (_a = sentence_1.return)) _a.call(sentence_1);
1030
+ }
1031
+ finally { if (e_1) throw e_1.error; }
1032
+ }
1033
+ return normalizedName;
1034
+ }
1035
+ /**
1036
+ * TODO: [🌺] Use some intermediate util splitWords
1037
+ */
1038
+
1039
+ function normalizeTo_PascalCase(sentence) {
1040
+ return normalizeTo_camelCase(sentence, true);
1041
+ }
1042
+
607
1043
  /**
608
1044
  * Parses one line of ul/ol to command
609
1045
  *
@@ -1148,38 +1584,6 @@ function addAutoGeneratedSection(content, options) {
1148
1584
  return content.replace(heading, "<!--".concat(sectionName, "-->\n").concat(warningLine, "\n").concat(sectionContent, "\n<!--/").concat(sectionName, "-->\n\n").concat(heading));
1149
1585
  }
1150
1586
 
1151
- /**
1152
- * Prettify the html code
1153
- *
1154
- * @param html raw html code
1155
- * @returns formatted html code
1156
- */
1157
- function prettifyMarkdown(html) {
1158
- try {
1159
- return format(html, {
1160
- parser: 'markdown',
1161
- plugins: [parserHtml],
1162
- // TODO: DRY - make some import or auto-copy of .prettierrc
1163
- endOfLine: 'lf',
1164
- tabWidth: 4,
1165
- singleQuote: true,
1166
- trailingComma: 'all',
1167
- arrowParens: 'always',
1168
- printWidth: 120,
1169
- htmlWhitespaceSensitivity: 'ignore',
1170
- jsxBracketSameLine: false,
1171
- bracketSpacing: true,
1172
- });
1173
- }
1174
- catch (error) {
1175
- console.error('There was an error with prettifying the markdown, using the original as the fallback', {
1176
- error: error,
1177
- html: html,
1178
- });
1179
- return html;
1180
- }
1181
- }
1182
-
1183
1587
  /**
1184
1588
  * !!!
1185
1589
  */