@stacksjs/types 0.58.27 → 0.58.43

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 (2) hide show
  1. package/dist/index.js +646 -8
  2. package/package.json +14 -14
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ var __toESM = (mod, isNodeMode, target) => {
16
16
  };
17
17
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
18
18
 
19
- // /home/runner/work/stacks/stacks/node_modules/slugify/slugify.js
19
+ // /Users/chrisbreuer/Code/stacks/node_modules/slugify/slugify.js
20
20
  var require_slugify = __commonJS((exports, module) => {
21
21
  (function(name, root, factory) {
22
22
  if (typeof exports === "object") {
@@ -67,7 +67,7 @@ var require_slugify = __commonJS((exports, module) => {
67
67
  });
68
68
  });
69
69
 
70
- // /home/runner/work/stacks/stacks/node_modules/pluralize/pluralize.js
70
+ // /Users/chrisbreuer/Code/stacks/node_modules/pluralize/pluralize.js
71
71
  var require_pluralize = __commonJS((exports, module) => {
72
72
  (function(root, pluralize) {
73
73
  if (typeof require === "function" && typeof exports === "object" && typeof module === "object") {
@@ -430,9 +430,361 @@ var ExitCode;
430
430
  ExitCode2[ExitCode2["FatalError"] = 1] = "FatalError";
431
431
  ExitCode2[ExitCode2["InvalidArgument"] = 9] = "InvalidArgument";
432
432
  })(ExitCode || (ExitCode = {}));
433
- // /home/runner/work/stacks/stacks/storage/framework/core/strings/src/utils.ts
433
+ // /Users/chrisbreuer/Code/stacks/storage/framework/core/strings/dist/index.js
434
434
  var import_slugify = __toESM(require_slugify(), 1);
435
- // /home/runner/work/stacks/stacks/node_modules/title-case/dist/index.js
435
+ var slash = function(str) {
436
+ return str.replace(/\\/g, "/");
437
+ };
438
+ var ensurePrefix = function(prefix, str) {
439
+ if (!str.startsWith(prefix))
440
+ return prefix + str;
441
+ return str;
442
+ };
443
+ var ensureSuffix = function(suffix, str) {
444
+ return str.endsWith(suffix) ? str : str + suffix;
445
+ };
446
+ var template = function(str, ...args) {
447
+ return str.replace(/{(\d+)}/g, (match, key) => {
448
+ const index = Number(key);
449
+ return Number.isNaN(index) ? match : args[index];
450
+ });
451
+ };
452
+ var truncate = function(str, length, end = "...") {
453
+ if (str.length <= length)
454
+ return str;
455
+ return str.slice(0, length - end.length) + end;
456
+ };
457
+ var random = function(size = 16, dict = urlAlphabet) {
458
+ let id = "";
459
+ let i = size;
460
+ const len = dict.length;
461
+ while (i--)
462
+ id += dict[Math.random() * len | 0];
463
+ return id;
464
+ };
465
+ var slug = function(str, options) {
466
+ if (options)
467
+ return import_slugify.default(str, options);
468
+ return import_slugify.default(str, {
469
+ lower: true,
470
+ strict: true
471
+ });
472
+ };
473
+
474
+ // /Users/chrisbreuer/Code/stacks/node_modules/detect-indent/index.js
475
+ var makeIndentsMap = function(string, ignoreSingleSpaces) {
476
+ const indents = new Map;
477
+ let previousSize = 0;
478
+ let previousIndentType;
479
+ let key;
480
+ for (const line of string.split(/\n/g)) {
481
+ if (!line) {
482
+ continue;
483
+ }
484
+ let indent;
485
+ let indentType;
486
+ let use;
487
+ let weight;
488
+ let entry;
489
+ const matches = line.match(INDENT_REGEX);
490
+ if (matches === null) {
491
+ previousSize = 0;
492
+ previousIndentType = "";
493
+ } else {
494
+ indent = matches[0].length;
495
+ indentType = matches[1] ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
496
+ if (ignoreSingleSpaces && indentType === INDENT_TYPE_SPACE && indent === 1) {
497
+ continue;
498
+ }
499
+ if (indentType !== previousIndentType) {
500
+ previousSize = 0;
501
+ }
502
+ previousIndentType = indentType;
503
+ use = 1;
504
+ weight = 0;
505
+ const indentDifference = indent - previousSize;
506
+ previousSize = indent;
507
+ if (indentDifference === 0) {
508
+ use = 0;
509
+ weight = 1;
510
+ } else {
511
+ const absoluteIndentDifference = indentDifference > 0 ? indentDifference : -indentDifference;
512
+ key = encodeIndentsKey(indentType, absoluteIndentDifference);
513
+ }
514
+ entry = indents.get(key);
515
+ entry = entry === undefined ? [1, 0] : [entry[0] + use, entry[1] + weight];
516
+ indents.set(key, entry);
517
+ }
518
+ }
519
+ return indents;
520
+ };
521
+ var encodeIndentsKey = function(indentType, indentAmount) {
522
+ const typeCharacter = indentType === INDENT_TYPE_SPACE ? "s" : "t";
523
+ return typeCharacter + String(indentAmount);
524
+ };
525
+ var decodeIndentsKey = function(indentsKey) {
526
+ const keyHasTypeSpace = indentsKey[0] === "s";
527
+ const type = keyHasTypeSpace ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
528
+ const amount = Number(indentsKey.slice(1));
529
+ return { type, amount };
530
+ };
531
+ var getMostUsedKey = function(indents) {
532
+ let result;
533
+ let maxUsed = 0;
534
+ let maxWeight = 0;
535
+ for (const [key, [usedCount, weight]] of indents) {
536
+ if (usedCount > maxUsed || usedCount === maxUsed && weight > maxWeight) {
537
+ maxUsed = usedCount;
538
+ maxWeight = weight;
539
+ result = key;
540
+ }
541
+ }
542
+ return result;
543
+ };
544
+ var makeIndentString = function(type, amount) {
545
+ const indentCharacter = type === INDENT_TYPE_SPACE ? " " : "\t";
546
+ return indentCharacter.repeat(amount);
547
+ };
548
+ var INDENT_REGEX = /^(?:( )+|\t+)/;
549
+ var INDENT_TYPE_SPACE = "space";
550
+ var INDENT_TYPE_TAB = "tab";
551
+ function detectIndent(string) {
552
+ if (typeof string !== "string") {
553
+ throw new TypeError("Expected a string");
554
+ }
555
+ let indents = makeIndentsMap(string, true);
556
+ if (indents.size === 0) {
557
+ indents = makeIndentsMap(string, false);
558
+ }
559
+ const keyOfMostUsedIndent = getMostUsedKey(indents);
560
+ let type;
561
+ let amount = 0;
562
+ let indent = "";
563
+ if (keyOfMostUsedIndent !== undefined) {
564
+ ({ type, amount } = decodeIndentsKey(keyOfMostUsedIndent));
565
+ indent = makeIndentString(type, amount);
566
+ }
567
+ return {
568
+ amount,
569
+ type,
570
+ indent
571
+ };
572
+ }
573
+
574
+ // /Users/chrisbreuer/Code/stacks/node_modules/detect-newline/index.js
575
+ function detectNewline(string) {
576
+ if (typeof string !== "string") {
577
+ throw new TypeError("Expected a string");
578
+ }
579
+ const newlines = string.match(/(?:\r?\n)/g) || [];
580
+ if (newlines.length === 0) {
581
+ return;
582
+ }
583
+ const crlf = newlines.filter((newline) => newline === "\r\n").length;
584
+ const lf = newlines.length - crlf;
585
+ return crlf > lf ? "\r\n" : "\n";
586
+ }
587
+
588
+ // /Users/chrisbreuer/Code/stacks/storage/framework/core/strings/dist/index.js
589
+ var capitalize = function(str) {
590
+ return str[0] ? str[0].toUpperCase() + str.slice(1).toLowerCase() : "";
591
+ };
592
+
593
+ // /Users/chrisbreuer/Code/stacks/node_modules/change-case/dist/index.js
594
+ function split(value) {
595
+ let result = value.trim();
596
+ result = result.replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE).replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);
597
+ result = result.replace(DEFAULT_STRIP_REGEXP, "\0");
598
+ let start = 0;
599
+ let end = result.length;
600
+ while (result.charAt(start) === "\0")
601
+ start++;
602
+ if (start === end)
603
+ return [];
604
+ while (result.charAt(end - 1) === "\0")
605
+ end--;
606
+ return result.slice(start, end).split(/\0/g);
607
+ }
608
+ function splitSeparateNumbers(value) {
609
+ const words = split(value);
610
+ for (let i = 0;i < words.length; i++) {
611
+ const word = words[i];
612
+ const match = SPLIT_SEPARATE_NUMBER_RE.exec(word);
613
+ if (match) {
614
+ const offset = match.index + (match[1] ?? match[2]).length;
615
+ words.splice(i, 1, word.slice(0, offset), word.slice(offset));
616
+ }
617
+ }
618
+ return words;
619
+ }
620
+ function noCase(input, options) {
621
+ const [prefix, words, suffix] = splitPrefixSuffix(input, options);
622
+ return prefix + words.map(lowerFactory(options?.locale)).join(options?.delimiter ?? " ") + suffix;
623
+ }
624
+ function camelCase(input, options) {
625
+ const [prefix, words, suffix] = splitPrefixSuffix(input, options);
626
+ const lower = lowerFactory(options?.locale);
627
+ const upper = upperFactory(options?.locale);
628
+ const transform = options?.mergeAmbiguousCharacters ? capitalCaseTransformFactory(lower, upper) : pascalCaseTransformFactory(lower, upper);
629
+ return prefix + words.map((word, index) => {
630
+ if (index === 0)
631
+ return lower(word);
632
+ return transform(word, index);
633
+ }).join(options?.delimiter ?? "") + suffix;
634
+ }
635
+ function pascalCase(input, options) {
636
+ const [prefix, words, suffix] = splitPrefixSuffix(input, options);
637
+ const lower = lowerFactory(options?.locale);
638
+ const upper = upperFactory(options?.locale);
639
+ const transform = options?.mergeAmbiguousCharacters ? capitalCaseTransformFactory(lower, upper) : pascalCaseTransformFactory(lower, upper);
640
+ return prefix + words.map(transform).join(options?.delimiter ?? "") + suffix;
641
+ }
642
+ function capitalCase(input, options) {
643
+ const [prefix, words, suffix] = splitPrefixSuffix(input, options);
644
+ const lower = lowerFactory(options?.locale);
645
+ const upper = upperFactory(options?.locale);
646
+ return prefix + words.map(capitalCaseTransformFactory(lower, upper)).join(options?.delimiter ?? " ") + suffix;
647
+ }
648
+ function constantCase(input, options) {
649
+ const [prefix, words, suffix] = splitPrefixSuffix(input, options);
650
+ return prefix + words.map(upperFactory(options?.locale)).join(options?.delimiter ?? "_") + suffix;
651
+ }
652
+ function dotCase(input, options) {
653
+ return noCase(input, { delimiter: ".", ...options });
654
+ }
655
+ function kebabCase(input, options) {
656
+ return noCase(input, { delimiter: "-", ...options });
657
+ }
658
+ function pathCase(input, options) {
659
+ return noCase(input, { delimiter: "/", ...options });
660
+ }
661
+ function sentenceCase(input, options) {
662
+ const [prefix, words, suffix] = splitPrefixSuffix(input, options);
663
+ const lower = lowerFactory(options?.locale);
664
+ const upper = upperFactory(options?.locale);
665
+ const transform = capitalCaseTransformFactory(lower, upper);
666
+ return prefix + words.map((word, index) => {
667
+ if (index === 0)
668
+ return transform(word);
669
+ return lower(word);
670
+ }).join(options?.delimiter ?? " ") + suffix;
671
+ }
672
+ function snakeCase(input, options) {
673
+ return noCase(input, { delimiter: "_", ...options });
674
+ }
675
+ var lowerFactory = function(locale) {
676
+ return locale === false ? (input) => input.toLowerCase() : (input) => input.toLocaleLowerCase(locale);
677
+ };
678
+ var upperFactory = function(locale) {
679
+ return locale === false ? (input) => input.toUpperCase() : (input) => input.toLocaleUpperCase(locale);
680
+ };
681
+ var capitalCaseTransformFactory = function(lower, upper) {
682
+ return (word) => `${upper(word[0])}${lower(word.slice(1))}`;
683
+ };
684
+ var pascalCaseTransformFactory = function(lower, upper) {
685
+ return (word, index) => {
686
+ const char0 = word[0];
687
+ const initial = index > 0 && char0 >= "0" && char0 <= "9" ? "_" + char0 : upper(char0);
688
+ return initial + lower(word.slice(1));
689
+ };
690
+ };
691
+ var splitPrefixSuffix = function(input, options = {}) {
692
+ const splitFn = options.split ?? (options.separateNumbers ? splitSeparateNumbers : split);
693
+ const prefixCharacters = options.prefixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;
694
+ const suffixCharacters = options.suffixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;
695
+ let prefixIndex = 0;
696
+ let suffixIndex = input.length;
697
+ while (prefixIndex < input.length) {
698
+ const char = input.charAt(prefixIndex);
699
+ if (!prefixCharacters.includes(char))
700
+ break;
701
+ prefixIndex++;
702
+ }
703
+ while (suffixIndex > prefixIndex) {
704
+ const index = suffixIndex - 1;
705
+ const char = input.charAt(index);
706
+ if (!suffixCharacters.includes(char))
707
+ break;
708
+ suffixIndex = index;
709
+ }
710
+ return [
711
+ input.slice(0, prefixIndex),
712
+ splitFn(input.slice(prefixIndex, suffixIndex)),
713
+ input.slice(suffixIndex)
714
+ ];
715
+ };
716
+ var SPLIT_LOWER_UPPER_RE = /([\p{Ll}\d])(\p{Lu})/gu;
717
+ var SPLIT_UPPER_UPPER_RE = /(\p{Lu})([\p{Lu}][\p{Ll}])/gu;
718
+ var SPLIT_SEPARATE_NUMBER_RE = /(\d)\p{Ll}|(\p{L})\d/u;
719
+ var DEFAULT_STRIP_REGEXP = /[^\p{L}\d]+/giu;
720
+ var SPLIT_REPLACE_VALUE = "$1\0$2";
721
+ var DEFAULT_PREFIX_SUFFIX_CHARACTERS = "";
722
+
723
+ // /Users/chrisbreuer/Code/stacks/node_modules/title-case/dist/index.js
724
+ function titleCase(input, options = {}) {
725
+ const { locale = undefined, sentenceCase: sentenceCase2 = false, sentenceTerminators = SENTENCE_TERMINATORS, titleTerminators = TITLE_TERMINATORS, smallWords = SMALL_WORDS, wordSeparators = WORD_SEPARATORS } = typeof options === "string" || Array.isArray(options) ? { locale: options } : options;
726
+ const terminators = sentenceCase2 ? sentenceTerminators : titleTerminators;
727
+ let result = "";
728
+ let isNewSentence = true;
729
+ for (const m of input.matchAll(TOKENS)) {
730
+ const { 1: token, 2: whiteSpace, index = 0 } = m;
731
+ if (whiteSpace) {
732
+ result += whiteSpace;
733
+ continue;
734
+ }
735
+ if (IS_SPECIAL_CASE.test(token)) {
736
+ const acronym = token.match(IS_ACRONYM);
737
+ if (acronym) {
738
+ const [_, prefix = "", suffix = ""] = acronym;
739
+ result += sentenceCase2 && !isNewSentence ? token : upperAt(token, prefix.length, locale);
740
+ isNewSentence = terminators.has(suffix.charAt(0));
741
+ continue;
742
+ }
743
+ result += token;
744
+ isNewSentence = terminators.has(token.charAt(token.length - 1));
745
+ } else {
746
+ const matches = Array.from(token.matchAll(ALPHANUMERIC_PATTERN));
747
+ let value = token;
748
+ let isSentenceEnd = false;
749
+ for (let i = 0;i < matches.length; i++) {
750
+ const { 0: word, index: wordIndex = 0 } = matches[i];
751
+ const nextChar = token.charAt(wordIndex + word.length);
752
+ isSentenceEnd = terminators.has(nextChar);
753
+ if (isNewSentence) {
754
+ isNewSentence = false;
755
+ } else if (sentenceCase2 || IS_MANUAL_CASE.test(word)) {
756
+ continue;
757
+ } else if (matches.length === 1) {
758
+ if (smallWords.has(word)) {
759
+ const isFinalToken = index + token.length === input.length;
760
+ if (!isFinalToken && !isSentenceEnd) {
761
+ continue;
762
+ }
763
+ }
764
+ } else if (i > 0) {
765
+ if (!wordSeparators.has(token.charAt(wordIndex - 1))) {
766
+ continue;
767
+ }
768
+ if (smallWords.has(word) && wordSeparators.has(nextChar)) {
769
+ continue;
770
+ }
771
+ }
772
+ value = upperAt(value, wordIndex, locale);
773
+ }
774
+ result += value;
775
+ isNewSentence = isSentenceEnd || terminators.has(token.charAt(token.length - 1));
776
+ }
777
+ }
778
+ return result;
779
+ }
780
+ var upperAt = function(input, index, locale) {
781
+ return input.slice(0, index) + input.charAt(index).toLocaleUpperCase(locale) + input.slice(index + 1);
782
+ };
783
+ var TOKENS = /(\S+)|(.)/g;
784
+ var IS_SPECIAL_CASE = /[\.#]\p{Alphabetic}/u;
785
+ var IS_MANUAL_CASE = /\p{Ll}(?=[\p{Lu}])/u;
786
+ var ALPHANUMERIC_PATTERN = /\p{Alphabetic}+/gu;
787
+ var IS_ACRONYM = /^(\P{Alphabetic})*(?:\p{Alphabetic}\.){2,}(\P{Alphabetic})*$/u;
436
788
  var WORD_SEPARATORS = new Set(["\u2014", "\u2013", "-", "\u2015", "/"]);
437
789
  var SENTENCE_TERMINATORS = new Set([".", "!", "?"]);
438
790
  var TITLE_TERMINATORS = new Set([
@@ -480,12 +832,298 @@ var SMALL_WORDS = new Set([
480
832
  "without",
481
833
  "yet"
482
834
  ]);
483
- // /home/runner/work/stacks/stacks/storage/framework/core/strings/src/pluralize.ts
835
+
836
+ // /Users/chrisbreuer/Code/stacks/storage/framework/core/strings/dist/index.js
484
837
  var pluralize = __toESM(require_pluralize(), 1);
485
- // /home/runner/work/stacks/stacks/storage/framework/core/strings/src/helpers.ts
486
- function toString(v) {
838
+ var toString = function(v) {
487
839
  return Object.prototype.toString.call(v);
488
- }
840
+ };
841
+ var __defProp2 = Object.defineProperty;
842
+ var __export = (target, all) => {
843
+ for (var name in all)
844
+ __defProp2(target, name, {
845
+ get: all[name],
846
+ enumerable: true,
847
+ configurable: true,
848
+ set: (newValue) => all[name] = () => newValue
849
+ });
850
+ };
851
+ var exports_string = {};
852
+ __export(exports_string, {
853
+ truncate: () => {
854
+ {
855
+ return truncate;
856
+ }
857
+ },
858
+ toString: () => {
859
+ {
860
+ return toString;
861
+ }
862
+ },
863
+ titleCase: () => {
864
+ {
865
+ return titleCase;
866
+ }
867
+ },
868
+ template: () => {
869
+ {
870
+ return template;
871
+ }
872
+ },
873
+ str: () => {
874
+ {
875
+ return str;
876
+ }
877
+ },
878
+ split: () => {
879
+ {
880
+ return split;
881
+ }
882
+ },
883
+ snakeCase: () => {
884
+ {
885
+ return snakeCase;
886
+ }
887
+ },
888
+ slug: () => {
889
+ {
890
+ return slug;
891
+ }
892
+ },
893
+ slash: () => {
894
+ {
895
+ return slash;
896
+ }
897
+ },
898
+ singular: () => {
899
+ {
900
+ return singular2;
901
+ }
902
+ },
903
+ sentenceCase: () => {
904
+ {
905
+ return sentenceCase;
906
+ }
907
+ },
908
+ random: () => {
909
+ {
910
+ return random;
911
+ }
912
+ },
913
+ plural: () => {
914
+ {
915
+ return plural2;
916
+ }
917
+ },
918
+ pathCase: () => {
919
+ {
920
+ return pathCase;
921
+ }
922
+ },
923
+ pascalCase: () => {
924
+ {
925
+ return pascalCase;
926
+ }
927
+ },
928
+ paramCase: () => {
929
+ {
930
+ return kebabCase;
931
+ }
932
+ },
933
+ noCase: () => {
934
+ {
935
+ return noCase;
936
+ }
937
+ },
938
+ kebabCase: () => {
939
+ {
940
+ return kebabCase;
941
+ }
942
+ },
943
+ isSingular: () => {
944
+ {
945
+ return isSingular2;
946
+ }
947
+ },
948
+ isPlural: () => {
949
+ {
950
+ return isPlural2;
951
+ }
952
+ },
953
+ ensureSuffix: () => {
954
+ {
955
+ return ensureSuffix;
956
+ }
957
+ },
958
+ ensurePrefix: () => {
959
+ {
960
+ return ensurePrefix;
961
+ }
962
+ },
963
+ dotCase: () => {
964
+ {
965
+ return dotCase;
966
+ }
967
+ },
968
+ detectNewline: () => {
969
+ {
970
+ return detectNewline;
971
+ }
972
+ },
973
+ detectIndent: () => {
974
+ {
975
+ return detectIndent;
976
+ }
977
+ },
978
+ constantCase: () => {
979
+ {
980
+ return constantCase;
981
+ }
982
+ },
983
+ capitalize: () => {
984
+ {
985
+ return capitalize;
986
+ }
987
+ },
988
+ capitalCase: () => {
989
+ {
990
+ return capitalCase;
991
+ }
992
+ },
993
+ camelCase: () => {
994
+ {
995
+ return camelCase;
996
+ }
997
+ },
998
+ addUncountableRule: () => {
999
+ {
1000
+ return addUncountableRule2;
1001
+ }
1002
+ },
1003
+ addSingularRule: () => {
1004
+ {
1005
+ return addSingularRule2;
1006
+ }
1007
+ },
1008
+ addPluralRule: () => {
1009
+ {
1010
+ return addPluralRule2;
1011
+ }
1012
+ },
1013
+ addIrregularRule: () => {
1014
+ {
1015
+ return addIrregularRule2;
1016
+ }
1017
+ },
1018
+ Str: () => {
1019
+ {
1020
+ return Str;
1021
+ }
1022
+ }
1023
+ });
1024
+ var urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
1025
+ var plural2 = (...args) => pluralize.plural(...args);
1026
+ var singular2 = (...args) => pluralize.singular(...args);
1027
+ var isPlural2 = (...args) => pluralize.isPlural(...args);
1028
+ var isSingular2 = (...args) => pluralize.isSingular(...args);
1029
+ var addPluralRule2 = (...args) => pluralize.addPluralRule(...args);
1030
+ var addSingularRule2 = (...args) => pluralize.addSingularRule(...args);
1031
+ var addIrregularRule2 = (...args) => pluralize.addIrregularRule(...args);
1032
+ var addUncountableRule2 = (...args) => pluralize.addUncountableRule(...args);
1033
+ var Str = {
1034
+ slash(str) {
1035
+ return slash(str);
1036
+ },
1037
+ ensurePrefix(prefix, str) {
1038
+ return ensurePrefix(prefix, str);
1039
+ },
1040
+ ensureSuffix(suffix, str) {
1041
+ return ensureSuffix(suffix, str);
1042
+ },
1043
+ template(str, ...args) {
1044
+ return template(str, ...args);
1045
+ },
1046
+ truncate(str, length, end = "...") {
1047
+ return truncate(str, length, end);
1048
+ },
1049
+ random(length = 16) {
1050
+ return random(length);
1051
+ },
1052
+ capitalize(str) {
1053
+ return capitalize(str);
1054
+ },
1055
+ slug(str) {
1056
+ return slug(str);
1057
+ },
1058
+ detectIndent(str) {
1059
+ return detectIndent(str);
1060
+ },
1061
+ detectNewline(str) {
1062
+ return detectNewline(str);
1063
+ },
1064
+ camelCase(str) {
1065
+ return camelCase(str);
1066
+ },
1067
+ capitalCase(str) {
1068
+ return capitalCase(str);
1069
+ },
1070
+ constantCase(str) {
1071
+ return constantCase(str);
1072
+ },
1073
+ dotCase(str) {
1074
+ return dotCase(str);
1075
+ },
1076
+ noCase(str) {
1077
+ return noCase(str);
1078
+ },
1079
+ paramCase(str) {
1080
+ return kebabCase(str);
1081
+ },
1082
+ pascalCase(str) {
1083
+ return pascalCase(str);
1084
+ },
1085
+ pathCase(str) {
1086
+ return pathCase(str);
1087
+ },
1088
+ sentenceCase(str) {
1089
+ return sentenceCase(str);
1090
+ },
1091
+ snakeCase(str) {
1092
+ return snakeCase(str);
1093
+ },
1094
+ titleCase(str) {
1095
+ return titleCase(str);
1096
+ },
1097
+ kebabCase(str) {
1098
+ return kebabCase(str);
1099
+ },
1100
+ plural(str) {
1101
+ return plural2(str);
1102
+ },
1103
+ singular(str) {
1104
+ return singular2(str);
1105
+ },
1106
+ isPlural(str) {
1107
+ return isPlural2(str);
1108
+ },
1109
+ isSingular(str) {
1110
+ return isSingular2(str);
1111
+ },
1112
+ addPluralRule(rule, repl) {
1113
+ return addPluralRule2(rule, repl);
1114
+ },
1115
+ addSingularRule(rule, repl) {
1116
+ return addSingularRule2(rule, repl);
1117
+ },
1118
+ addIrregularRule(single, plural3) {
1119
+ return addIrregularRule2(single, plural3);
1120
+ },
1121
+ addUncountableRule(word) {
1122
+ return addUncountableRule2(word);
1123
+ }
1124
+ };
1125
+ var str = Str;
1126
+
489
1127
  // src/helpers.ts
490
1128
  function getTypeName(v) {
491
1129
  if (v === null)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/types",
3
3
  "type": "module",
4
- "version": "0.58.27",
4
+ "version": "0.58.43",
5
5
  "description": "The Stacks framework types.",
6
6
  "author": "Chris Breuer",
7
7
  "license": "MIT",
@@ -55,32 +55,32 @@
55
55
  "@stacksjs/validation": "workspace:*",
56
56
  "@types/aws4": "^1.11.6",
57
57
  "@types/bcryptjs": "^2.4.6",
58
- "@types/crypto-js": "^4.2.1",
58
+ "@types/bun": "^1.0.4",
59
+ "@types/crypto-js": "^4.2.2",
59
60
  "@types/eslint": "^8.56.2",
60
61
  "@types/fs-extra": "^11.0.4",
61
62
  "@types/markdown-it-link-attributes": "^3.0.4",
62
63
  "@types/minimatch": "^5.1.2",
63
- "@types/node": "^20.11.0",
64
+ "@types/node": "^20.11.10",
64
65
  "@types/nprogress": "^0.2.3",
65
- "@vinejs/vine": "^1.7.0",
66
- "bun-types": "canary",
66
+ "@vinejs/vine": "^1.7.1",
67
67
  "cac": "^6.7.14",
68
68
  "markdown-it": "^14.0.0",
69
- "meilisearch": "^0.36.0",
69
+ "meilisearch": "^0.37.0",
70
70
  "neverthrow": "^6.1.0",
71
71
  "ora": "^8.0.1",
72
- "unocss": "^0.58.3",
73
- "unplugin-auto-import": "^0.17.3",
72
+ "unocss": "^0.58.4",
73
+ "unplugin-auto-import": "^0.17.5",
74
74
  "unplugin-vue-components": "^0.26.0",
75
- "vite": "^5.0.11",
76
- "vite-plugin-inspect": "^0.8.1",
77
- "vite-plugin-pwa": "^0.17.4",
75
+ "vite": "^5.0.12",
76
+ "vite-plugin-inspect": "^0.8.3",
77
+ "vite-plugin-pwa": "^0.17.5",
78
78
  "vite-ssg": "^0.23.6",
79
- "vitepress": "1.0.0-rc.36",
80
- "vue": "^3.4.13"
79
+ "vitepress": "1.0.0-rc.40",
80
+ "vue": "^3.4.15"
81
81
  },
82
82
  "devDependencies": {
83
- "aws-cdk-lib": "^2.121.1",
83
+ "aws-cdk-lib": "^2.124.0",
84
84
  "typescript": "^5.3.3"
85
85
  }
86
86
  }