@kubb/core 4.4.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/{URLPath-Bpc_OJmh.js → URLPath-DbWtfVa1.js} +2 -2
  2. package/dist/{URLPath-Bpc_OJmh.js.map → URLPath-DbWtfVa1.js.map} +1 -1
  3. package/dist/{URLPath-Bu6Wkco7.cjs → URLPath-Dir2mxRT.cjs} +2 -2
  4. package/dist/{URLPath-Bu6Wkco7.cjs.map → URLPath-Dir2mxRT.cjs.map} +1 -1
  5. package/dist/hooks.cjs.map +1 -1
  6. package/dist/hooks.d.cts +5 -5
  7. package/dist/hooks.d.ts +5 -5
  8. package/dist/hooks.js.map +1 -1
  9. package/dist/index.cjs +87 -14
  10. package/dist/index.cjs.map +1 -1
  11. package/dist/index.d.cts +8 -8
  12. package/dist/index.d.ts +8 -8
  13. package/dist/index.js +79 -8
  14. package/dist/index.js.map +1 -1
  15. package/dist/{logger-C7JFdYpj.cjs → logger-BIzTtBYJ.cjs} +47 -4
  16. package/dist/logger-BIzTtBYJ.cjs.map +1 -0
  17. package/dist/{logger-DpoDtxfo.d.cts → logger-BjfDkvkn.d.cts} +1 -1
  18. package/dist/{logger-D_jvWsUF.d.ts → logger-BwhJWK-H.d.ts} +1 -1
  19. package/dist/{logger-khF_Lft4.js → logger-Bxe022ug.js} +39 -4
  20. package/dist/logger-Bxe022ug.js.map +1 -0
  21. package/dist/logger.cjs +1 -2
  22. package/dist/logger.d.cts +1 -1
  23. package/dist/logger.d.ts +1 -1
  24. package/dist/logger.js +1 -2
  25. package/dist/{prompt-CgJLZzbf.cjs → prompt-D5DZPtWc.cjs} +1 -1
  26. package/dist/{prompt-CgJLZzbf.cjs.map → prompt-D5DZPtWc.cjs.map} +1 -1
  27. package/dist/{prompt-CIpZjUDy.js → prompt-xM0onfy8.js} +1 -1
  28. package/dist/{prompt-CIpZjUDy.js.map → prompt-xM0onfy8.js.map} +1 -1
  29. package/dist/{transformers-BN5jfIAt.js → transformers-CeNW0G32.js} +1 -1
  30. package/dist/{transformers-BN5jfIAt.js.map → transformers-CeNW0G32.js.map} +1 -1
  31. package/dist/{transformers-BpnIvSiH.cjs → transformers-DWLXDYKb.cjs} +1 -1
  32. package/dist/{transformers-BpnIvSiH.cjs.map → transformers-DWLXDYKb.cjs.map} +1 -1
  33. package/dist/transformers.cjs +1 -1
  34. package/dist/transformers.js +1 -1
  35. package/dist/{types-CCUiy4jG.d.ts → types-CVONMhN_.d.cts} +14 -14
  36. package/dist/{types-EV6-sImo.d.cts → types-CyDeSlGF.d.ts} +14 -14
  37. package/dist/{types-ClXc6HFo.d.ts → types-DCR_QgGt.d.ts} +1 -1
  38. package/dist/{types-C3ea5qNG.d.cts → types-DueAg3XP.d.cts} +1 -1
  39. package/dist/utils.cjs +24 -2
  40. package/dist/utils.cjs.map +1 -1
  41. package/dist/utils.d.cts +9 -2
  42. package/dist/utils.d.ts +9 -2
  43. package/dist/utils.js +22 -5
  44. package/dist/utils.js.map +1 -1
  45. package/package.json +13 -11
  46. package/src/BarrelManager.ts +1 -1
  47. package/src/FileManager.ts +5 -2
  48. package/src/PluginManager.ts +1 -1
  49. package/src/build.ts +2 -1
  50. package/src/config.ts +1 -1
  51. package/src/fs/index.ts +0 -7
  52. package/src/hooks/useMode.ts +1 -1
  53. package/src/types.ts +1 -1
  54. package/src/utils/TreeNode.ts +1 -1
  55. package/src/utils/index.ts +1 -0
  56. package/src/utils/resolveModuleSource.ts +15 -0
  57. package/dist/fs-BIPMUfpW.js +0 -90
  58. package/dist/fs-BIPMUfpW.js.map +0 -1
  59. package/dist/fs-CM7ohZSu.cjs +0 -141
  60. package/dist/fs-CM7ohZSu.cjs.map +0 -1
  61. package/dist/fs.cjs +0 -17
  62. package/dist/fs.d.cts +0 -2
  63. package/dist/fs.d.ts +0 -2
  64. package/dist/fs.js +0 -4
  65. package/dist/index-BmQIxvw0.d.cts +0 -144
  66. package/dist/index-DdO15F70.d.ts +0 -144
  67. package/dist/logger-C7JFdYpj.cjs.map +0 -1
  68. package/dist/logger-khF_Lft4.js.map +0 -1
  69. package/dist/write-BsFt8M9e.cjs +0 -49
  70. package/dist/write-BsFt8M9e.cjs.map +0 -1
  71. package/dist/write-CxO1CDML.js +0 -40
  72. package/dist/write-CxO1CDML.js.map +0 -1
  73. package/src/fs/types.ts +0 -132
  74. package/src/fs/unlink.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"transformers-BpnIvSiH.cjs","names":["preserveConsecutiveUppercase","camelCase","_camelcase","value"],"sources":["../src/transformers/transformReservedWord.ts","../src/transformers/trim.ts","../../../node_modules/.pnpm/camelcase@8.0.0/node_modules/camelcase/index.js","../src/transformers/casing.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/stringify.ts","../src/transformers/toRegExp.ts","../src/transformers/index.ts"],"sourcesContent":["/**\n * @link https://github.com/jonschlinkert/reserved/blob/master/index.js\n */\nconst reservedWords = [\n 'abstract',\n 'arguments',\n 'boolean',\n 'break',\n 'byte',\n 'case',\n 'catch',\n 'char',\n 'class',\n 'const',\n 'continue',\n 'debugger',\n 'default',\n 'delete',\n 'do',\n 'double',\n 'else',\n 'enum',\n 'eval',\n 'export',\n 'extends',\n 'false',\n 'final',\n 'finally',\n 'float',\n 'for',\n 'function',\n 'goto',\n 'if',\n 'implements',\n 'import',\n 'in',\n 'instanceof',\n 'int',\n 'interface',\n 'let',\n 'long',\n 'native',\n 'new',\n 'null',\n 'package',\n 'private',\n 'protected',\n 'public',\n 'return',\n 'short',\n 'static',\n 'super',\n 'switch',\n 'synchronized',\n 'this',\n 'throw',\n 'throws',\n 'transient',\n 'true',\n 'try',\n 'typeof',\n 'var',\n 'void',\n 'volatile',\n 'while',\n 'with',\n 'yield',\n\n 'Array',\n 'Date',\n 'eval',\n 'function',\n 'hasOwnProperty',\n 'Infinity',\n 'isFinite',\n 'isNaN',\n 'isPrototypeOf',\n 'length',\n 'Math',\n 'name',\n 'NaN',\n 'Number',\n 'Object',\n 'prototype',\n 'String',\n 'toString',\n 'undefined',\n 'valueOf',\n]\n\nexport function transformReservedWord(word: string): string {\n if ((word && reservedWords.includes(word)) || word?.match(/^\\d/)) {\n return `_${word}`\n }\n\n return word\n}\n\nexport function isValidVarName(name: string) {\n try {\n Function(`var ${name}`)\n } catch (_e) {\n return false\n }\n return true\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimQuotes(text: string): string {\n if (text.match(/^\"(.*)\"$/)) {\n return text.replace(/^\"(.*)\"$/, '$1')\n }\n if (text.match(/^'(.*)'$/)) {\n return text.replace(/^'(.*)'$/, '$1')\n }\n\n if (text.match(/^`(.*)`$/)) {\n return text.replace(/^`(.*)`$/, '$1')\n }\n\n return text\n}\n","const UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase, preserveConsecutiveUppercase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\tlet isLastLastCharPreserved = false;\n\n\tfor (let index = 0; index < string.length; index++) {\n\t\tconst character = string[index];\n\t\tisLastLastCharPreserved = index > 2 ? string[index - 3] === '-' : true;\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, index) + '-' + string.slice(index);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\tindex++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character) && (!isLastLastCharPreserved || preserveConsecutiveUppercase)) {\n\t\t\tstring = string.slice(0, index - 1) + '-' + string.slice(index - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replaceAll(LEADING_CAPITAL, match => toLowerCase(match));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input\n\t\t.replaceAll(NUMBERS_AND_IDENTIFIER, (match, pattern, offset) => ['_', '-'].includes(input.charAt(offset + match.length)) ? match : toUpperCase(match))\n\t\t.replaceAll(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier));\n};\n\nexport default function camelCase(input, options) {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options,\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false\n\t\t? string => string.toLowerCase()\n\t\t: string => string.toLocaleLowerCase(options.locale);\n\n\tconst toUpperCase = options.locale === false\n\t\t? string => string.toUpperCase()\n\t\t: string => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\tif (SEPARATORS.test(input)) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase, options.preserveConsecutiveUppercase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\tinput = options.preserveConsecutiveUppercase ? preserveConsecutiveUppercase(input, toLowerCase) : toLowerCase(input);\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n}\n","import _camelcase from 'camelcase'\n\ntype Options = {\n /**\n * When set it will replace all `.` with `/`.\n */\n isFile?: boolean\n prefix?: string\n suffix?: string\n}\n\nexport function camelCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {\n if (isFile) {\n const splitArray = text.split('.')\n return splitArray.map((item, i) => (i === splitArray.length - 1 ? camelCase(item, { prefix, suffix }) : camelCase(item))).join('/')\n }\n\n return _camelcase(`${prefix} ${text} ${suffix}`, { pascalCase: false, preserveConsecutiveUppercase: true }).replace(/[^a-zA-Z0-9]/g, '')\n}\n\nexport function pascalCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {\n if (isFile) {\n const splitArray = text.split('.')\n return splitArray.map((item, i) => (i === splitArray.length - 1 ? pascalCase(item, { prefix, suffix }) : camelCase(item))).join('/')\n }\n\n return _camelcase(`${prefix} ${text} ${suffix}`, { pascalCase: true, preserveConsecutiveUppercase: true }).replace(/[^a-zA-Z0-9]/g, '')\n}\n","export function combineCodes(codes: string[]): string {\n return codes.join('\\n')\n}\n","export function createJSDocBlockText({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","export function escape(text?: string): string {\n return text ? text.replaceAll('`', '\\\\`') : ''\n}\n\n/**\n * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on\n * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4\n * @link https://github.com/joliss/js-string-escape/blob/master/index.js\n */\n\nexport function jsStringEscape(input: any): string {\n return `${input}`.replace(/[\"'\\\\\\n\\r\\u2028\\u2029]/g, (character) => {\n switch (character) {\n case '\"':\n case \"'\":\n case '\\\\':\n return `\\\\${character}`\n // Four possible LineTerminator characters need to be escaped:\n case '\\n':\n return '\\\\n'\n case '\\r':\n return '\\\\r'\n case '\\u2028':\n return '\\\\u2028'\n case '\\u2029':\n return '\\\\u2029'\n default:\n return ''\n }\n })\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n","type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","import { trimQuotes } from './trim'\n\nexport function stringify(value: string | number | boolean | undefined): string {\n if (value === undefined || value === null) {\n return '\"\"'\n }\n\n return JSON.stringify(trimQuotes(value.toString()))\n}\n\nexport function stringifyObject(value: object): string {\n const items = Object.entries(value)\n .map(([key, value]) => {\n if (typeof value === 'object') {\n return `${key}: {\n ${stringifyObject(value)}\n }`\n }\n\n return `${key}: ${value}`\n })\n .filter(Boolean)\n\n return items.join(',\\n')\n}\n","import { trimQuotes } from './trim'\n\nexport function toRegExpString(text: string, func: string | null = 'RegExp'): string {\n const raw = trimQuotes(text)\n\n const [, replacementTarget = '', matchedFlags] = raw.match(/^\\^(\\(\\?([igmsuy]+)\\))/i) ?? []\n const cleaned = raw\n .replace(/^\\\\?\\//, '')\n .replace(/\\\\?\\/$/, '')\n .replace(replacementTarget, '')\n\n const regex = new RegExp(cleaned, matchedFlags)\n const source = regex.source\n const flags = regex.flags\n\n if (func === null) {\n return `/${source}/${flags}`\n }\n\n // return as constructor → new RegExp(\"pattern\", \"flags\")\n return `new ${func}(${JSON.stringify(source)}${flags ? `, ${JSON.stringify(flags)}` : ''})`\n}\n","import { orderBy } from 'natural-orderby'\nimport { merge } from 'remeda'\n\nimport { camelCase, pascalCase } from './casing.ts'\nimport { combineCodes } from './combineCodes.ts'\nimport { createJSDocBlockText } from './createJSDocBlockText.ts'\nimport { escape, jsStringEscape } from './escape.ts'\nimport { createIndent } from './indent.ts'\nimport { nameSorter } from './nameSorter.ts'\nimport { searchAndReplace } from './searchAndReplace.ts'\nimport { stringify, stringifyObject } from './stringify.ts'\nimport { toRegExpString } from './toRegExp.ts'\nimport { isValidVarName, transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimQuotes } from './trim.ts'\n\nexport { orderBy } from 'natural-orderby'\nexport { merge } from 'remeda'\nexport { camelCase, pascalCase } from './casing.ts'\nexport { combineCodes } from './combineCodes.ts'\nexport { createJSDocBlockText } from './createJSDocBlockText.ts'\nexport { escape, jsStringEscape } from './escape.ts'\nexport { createIndent } from './indent.ts'\nexport { nameSorter } from './nameSorter.ts'\nexport { searchAndReplace } from './searchAndReplace.ts'\nexport { stringify, stringifyObject } from './stringify.ts'\nexport { toRegExpString } from './toRegExp.ts'\nexport { isValidVarName, transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimQuotes } from './trim.ts'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n isValidVarName,\n nameSorter,\n searchAndReplace,\n stringify,\n stringifyObject,\n toRegExpString,\n trim,\n trimQuotes,\n JSDoc: {\n createJSDocBlockText,\n },\n orderBy,\n merge,\n camelCase,\n pascalCase,\n} as const\n"],"x_google_ignoreList":[2],"mappings":"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"}
1
+ {"version":3,"file":"transformers-DWLXDYKb.cjs","names":["preserveConsecutiveUppercase","camelCase","_camelcase","value"],"sources":["../src/transformers/transformReservedWord.ts","../src/transformers/trim.ts","../../../node_modules/.pnpm/camelcase@8.0.0/node_modules/camelcase/index.js","../src/transformers/casing.ts","../src/transformers/combineCodes.ts","../src/transformers/createJSDocBlockText.ts","../src/transformers/escape.ts","../src/transformers/indent.ts","../src/transformers/nameSorter.ts","../src/transformers/searchAndReplace.ts","../src/transformers/stringify.ts","../src/transformers/toRegExp.ts","../src/transformers/index.ts"],"sourcesContent":["/**\n * @link https://github.com/jonschlinkert/reserved/blob/master/index.js\n */\nconst reservedWords = [\n 'abstract',\n 'arguments',\n 'boolean',\n 'break',\n 'byte',\n 'case',\n 'catch',\n 'char',\n 'class',\n 'const',\n 'continue',\n 'debugger',\n 'default',\n 'delete',\n 'do',\n 'double',\n 'else',\n 'enum',\n 'eval',\n 'export',\n 'extends',\n 'false',\n 'final',\n 'finally',\n 'float',\n 'for',\n 'function',\n 'goto',\n 'if',\n 'implements',\n 'import',\n 'in',\n 'instanceof',\n 'int',\n 'interface',\n 'let',\n 'long',\n 'native',\n 'new',\n 'null',\n 'package',\n 'private',\n 'protected',\n 'public',\n 'return',\n 'short',\n 'static',\n 'super',\n 'switch',\n 'synchronized',\n 'this',\n 'throw',\n 'throws',\n 'transient',\n 'true',\n 'try',\n 'typeof',\n 'var',\n 'void',\n 'volatile',\n 'while',\n 'with',\n 'yield',\n\n 'Array',\n 'Date',\n 'eval',\n 'function',\n 'hasOwnProperty',\n 'Infinity',\n 'isFinite',\n 'isNaN',\n 'isPrototypeOf',\n 'length',\n 'Math',\n 'name',\n 'NaN',\n 'Number',\n 'Object',\n 'prototype',\n 'String',\n 'toString',\n 'undefined',\n 'valueOf',\n]\n\nexport function transformReservedWord(word: string): string {\n if ((word && reservedWords.includes(word)) || word?.match(/^\\d/)) {\n return `_${word}`\n }\n\n return word\n}\n\nexport function isValidVarName(name: string) {\n try {\n Function(`var ${name}`)\n } catch (_e) {\n return false\n }\n return true\n}\n","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimQuotes(text: string): string {\n if (text.match(/^\"(.*)\"$/)) {\n return text.replace(/^\"(.*)\"$/, '$1')\n }\n if (text.match(/^'(.*)'$/)) {\n return text.replace(/^'(.*)'$/, '$1')\n }\n\n if (text.match(/^`(.*)`$/)) {\n return text.replace(/^`(.*)`$/, '$1')\n }\n\n return text\n}\n","const UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase, preserveConsecutiveUppercase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\tlet isLastLastCharPreserved = false;\n\n\tfor (let index = 0; index < string.length; index++) {\n\t\tconst character = string[index];\n\t\tisLastLastCharPreserved = index > 2 ? string[index - 3] === '-' : true;\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, index) + '-' + string.slice(index);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\tindex++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character) && (!isLastLastCharPreserved || preserveConsecutiveUppercase)) {\n\t\t\tstring = string.slice(0, index - 1) + '-' + string.slice(index - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replaceAll(LEADING_CAPITAL, match => toLowerCase(match));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input\n\t\t.replaceAll(NUMBERS_AND_IDENTIFIER, (match, pattern, offset) => ['_', '-'].includes(input.charAt(offset + match.length)) ? match : toUpperCase(match))\n\t\t.replaceAll(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier));\n};\n\nexport default function camelCase(input, options) {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options,\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false\n\t\t? string => string.toLowerCase()\n\t\t: string => string.toLocaleLowerCase(options.locale);\n\n\tconst toUpperCase = options.locale === false\n\t\t? string => string.toUpperCase()\n\t\t: string => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\tif (SEPARATORS.test(input)) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase, options.preserveConsecutiveUppercase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\tinput = options.preserveConsecutiveUppercase ? preserveConsecutiveUppercase(input, toLowerCase) : toLowerCase(input);\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n}\n","import _camelcase from 'camelcase'\n\ntype Options = {\n /**\n * When set it will replace all `.` with `/`.\n */\n isFile?: boolean\n prefix?: string\n suffix?: string\n}\n\nexport function camelCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {\n if (isFile) {\n const splitArray = text.split('.')\n return splitArray.map((item, i) => (i === splitArray.length - 1 ? camelCase(item, { prefix, suffix }) : camelCase(item))).join('/')\n }\n\n return _camelcase(`${prefix} ${text} ${suffix}`, { pascalCase: false, preserveConsecutiveUppercase: true }).replace(/[^a-zA-Z0-9]/g, '')\n}\n\nexport function pascalCase(text: string, { isFile, prefix = '', suffix = '' }: Options = {}): string {\n if (isFile) {\n const splitArray = text.split('.')\n return splitArray.map((item, i) => (i === splitArray.length - 1 ? pascalCase(item, { prefix, suffix }) : camelCase(item))).join('/')\n }\n\n return _camelcase(`${prefix} ${text} ${suffix}`, { pascalCase: true, preserveConsecutiveUppercase: true }).replace(/[^a-zA-Z0-9]/g, '')\n}\n","export function combineCodes(codes: string[]): string {\n return codes.join('\\n')\n}\n","export function createJSDocBlockText({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","export function escape(text?: string): string {\n return text ? text.replaceAll('`', '\\\\`') : ''\n}\n\n/**\n * Escape all characters not included in SingleStringCharacters and DoubleStringCharacters on\n * @link http://www.ecma-international.org/ecma-262/5.1/#sec-7.8.4\n * @link https://github.com/joliss/js-string-escape/blob/master/index.js\n */\n\nexport function jsStringEscape(input: any): string {\n return `${input}`.replace(/[\"'\\\\\\n\\r\\u2028\\u2029]/g, (character) => {\n switch (character) {\n case '\"':\n case \"'\":\n case '\\\\':\n return `\\\\${character}`\n // Four possible LineTerminator characters need to be escaped:\n case '\\n':\n return '\\\\n'\n case '\\r':\n return '\\\\r'\n case '\\u2028':\n return '\\\\u2028'\n case '\\u2029':\n return '\\\\u2029'\n default:\n return ''\n }\n })\n}\n","export function createIndent(size: number): string {\n return Array.from({ length: size + 1 }).join(' ')\n}\n","export function nameSorter<T extends { name: string }>(a: T, b: T): 0 | 1 | -1 {\n if (a.name < b.name) {\n return -1\n }\n if (a.name > b.name) {\n return 1\n }\n return 0\n}\n","type Options = {\n text: string\n replaceBy: string\n prefix?: string\n key: string\n searchValues?: (prefix: string, key: string) => Array<RegExp | string>\n}\n\nexport function searchAndReplace(options: Options): string {\n const { text, replaceBy, prefix = '', key } = options\n\n const searchValues = options.searchValues?.(prefix, key) || [\n `${prefix}[\"${key}\"]`,\n `${prefix}['${key}']`,\n `${prefix}[\\`${key}\\`]`,\n `${prefix}\"${key}\"`,\n `${prefix}'${key}'`,\n `${prefix}\\`${key}\\``,\n new RegExp(`${prefix}${key}`, 'g'),\n ]\n\n return searchValues.reduce((prev, searchValue) => {\n return prev.toString().replaceAll(searchValue, replaceBy)\n }, text) as string\n}\n","import { trimQuotes } from './trim'\n\nexport function stringify(value: string | number | boolean | undefined): string {\n if (value === undefined || value === null) {\n return '\"\"'\n }\n\n return JSON.stringify(trimQuotes(value.toString()))\n}\n\nexport function stringifyObject(value: object): string {\n const items = Object.entries(value)\n .map(([key, value]) => {\n if (typeof value === 'object') {\n return `${key}: {\n ${stringifyObject(value)}\n }`\n }\n\n return `${key}: ${value}`\n })\n .filter(Boolean)\n\n return items.join(',\\n')\n}\n","import { trimQuotes } from './trim'\n\nexport function toRegExpString(text: string, func: string | null = 'RegExp'): string {\n const raw = trimQuotes(text)\n\n const [, replacementTarget = '', matchedFlags] = raw.match(/^\\^(\\(\\?([igmsuy]+)\\))/i) ?? []\n const cleaned = raw\n .replace(/^\\\\?\\//, '')\n .replace(/\\\\?\\/$/, '')\n .replace(replacementTarget, '')\n\n const regex = new RegExp(cleaned, matchedFlags)\n const source = regex.source\n const flags = regex.flags\n\n if (func === null) {\n return `/${source}/${flags}`\n }\n\n // return as constructor → new RegExp(\"pattern\", \"flags\")\n return `new ${func}(${JSON.stringify(source)}${flags ? `, ${JSON.stringify(flags)}` : ''})`\n}\n","import { orderBy } from 'natural-orderby'\nimport { merge } from 'remeda'\n\nimport { camelCase, pascalCase } from './casing.ts'\nimport { combineCodes } from './combineCodes.ts'\nimport { createJSDocBlockText } from './createJSDocBlockText.ts'\nimport { escape, jsStringEscape } from './escape.ts'\nimport { createIndent } from './indent.ts'\nimport { nameSorter } from './nameSorter.ts'\nimport { searchAndReplace } from './searchAndReplace.ts'\nimport { stringify, stringifyObject } from './stringify.ts'\nimport { toRegExpString } from './toRegExp.ts'\nimport { isValidVarName, transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimQuotes } from './trim.ts'\n\nexport { orderBy } from 'natural-orderby'\nexport { merge } from 'remeda'\nexport { camelCase, pascalCase } from './casing.ts'\nexport { combineCodes } from './combineCodes.ts'\nexport { createJSDocBlockText } from './createJSDocBlockText.ts'\nexport { escape, jsStringEscape } from './escape.ts'\nexport { createIndent } from './indent.ts'\nexport { nameSorter } from './nameSorter.ts'\nexport { searchAndReplace } from './searchAndReplace.ts'\nexport { stringify, stringifyObject } from './stringify.ts'\nexport { toRegExpString } from './toRegExp.ts'\nexport { isValidVarName, transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimQuotes } from './trim.ts'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n isValidVarName,\n nameSorter,\n searchAndReplace,\n stringify,\n stringifyObject,\n toRegExpString,\n trim,\n trimQuotes,\n JSDoc: {\n createJSDocBlockText,\n },\n orderBy,\n merge,\n camelCase,\n pascalCase,\n} as const\n"],"x_google_ignoreList":[2],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, '__esModule', { value: true });
2
2
  const require_chunk = require('./chunk-CUT6urMc.cjs');
3
- const require_transformers = require('./transformers-BpnIvSiH.cjs');
3
+ const require_transformers = require('./transformers-DWLXDYKb.cjs');
4
4
  let natural_orderby = require("natural-orderby");
5
5
  natural_orderby = require_chunk.__toESM(natural_orderby);
6
6
  let remeda = require("remeda");
@@ -1,3 +1,3 @@
1
- import { _ as trimQuotes, a as stringify, c as nameSorter, d as jsStringEscape, f as createJSDocBlockText, g as trim, h as pascalCase, i as toRegExpString, l as createIndent, m as camelCase, n as orderBy, o as stringifyObject, p as combineCodes, r as transformers_default, s as searchAndReplace, t as merge, u as escape, v as isValidVarName, y as transformReservedWord } from "./transformers-BN5jfIAt.js";
1
+ import { _ as trimQuotes, a as stringify, c as nameSorter, d as jsStringEscape, f as createJSDocBlockText, g as trim, h as pascalCase, i as toRegExpString, l as createIndent, m as camelCase, n as orderBy, o as stringifyObject, p as combineCodes, r as transformers_default, s as searchAndReplace, t as merge, u as escape, v as isValidVarName, y as transformReservedWord } from "./transformers-CeNW0G32.js";
2
2
 
3
3
  export { camelCase, combineCodes, createIndent, createJSDocBlockText, transformers_default as default, escape, isValidVarName, jsStringEscape, merge, nameSorter, orderBy, pascalCase, searchAndReplace, stringify, stringifyObject, toRegExpString, transformReservedWord, trim, trimQuotes };
@@ -1,6 +1,6 @@
1
- import { a as Mode, i as File, n as BaseName, o as OptionalPath, r as Extname, s as ResolvedFile } from "./index-DdO15F70.js";
2
- import { n as Logger, o as EventEmitter } from "./logger-D_jvWsUF.js";
3
- import { t as PossiblePromise } from "./types-ClXc6HFo.js";
1
+ import { n as Logger, o as EventEmitter } from "./logger-BjfDkvkn.cjs";
2
+ import { t as PossiblePromise } from "./types-DueAg3XP.cjs";
3
+ import { KubbFile } from "@kubb/fabric-core/types";
4
4
  import { Fabric, FileManager } from "@kubb/react-fabric";
5
5
 
6
6
  //#region src/PluginManager.d.ts
@@ -34,8 +34,8 @@ type Events = {
34
34
  };
35
35
  type GetFileProps<TOptions = object> = {
36
36
  name: string;
37
- mode?: Mode;
38
- extname: Extname;
37
+ mode?: KubbFile.Mode;
38
+ extname: KubbFile.Extname;
39
39
  pluginKey: Plugin['key'];
40
40
  options?: TOptions;
41
41
  };
@@ -54,10 +54,10 @@ declare class PluginManager {
54
54
  extname,
55
55
  pluginKey,
56
56
  options
57
- }: GetFileProps<TOptions>): File<{
57
+ }: GetFileProps<TOptions>): KubbFile.File<{
58
58
  pluginKey: Plugin['key'];
59
59
  }>;
60
- resolvePath: <TOptions = object>(params: ResolvePathParams<TOptions>) => OptionalPath;
60
+ resolvePath: <TOptions = object>(params: ResolvePathParams<TOptions>) => KubbFile.OptionalPath;
61
61
  resolveName: (params: ResolveNameParams) => string;
62
62
  /**
63
63
  * Instead of calling `pluginManager.events.on` you can use `pluginManager.on`. This one also has better types.
@@ -241,7 +241,7 @@ type Config<TInput = Input> = {
241
241
  * Override the extension to the generated imports and exports, by default each plugin will add an extension
242
242
  * @default { '.ts': '.ts'}
243
243
  */
244
- extension?: Record<Extname, Extname | ''>;
244
+ extension?: Record<KubbFile.Extname, KubbFile.Extname | ''>;
245
245
  /**
246
246
  * Specify how `index.ts` files should be created. You can also disable the generation of barrel files here. While each plugin has its own `barrelType` option, this setting controls the creation of the root barrel file, such as` src/gen/index.ts`.
247
247
  * @default 'named'
@@ -374,7 +374,7 @@ type PluginLifecycle<TOptions extends PluginFactoryOptions = PluginFactoryOption
374
374
  * @type hookFirst
375
375
  * @example ('./Pet.ts', './src/gen/') => '/src/gen/Pet.ts'
376
376
  */
377
- resolvePath?: (this: PluginContext<TOptions>, baseName: BaseName, mode?: Mode, options?: TOptions['resolvePathOptions']) => OptionalPath;
377
+ resolvePath?: (this: PluginContext<TOptions>, baseName: KubbFile.BaseName, mode?: KubbFile.Mode, options?: TOptions['resolvePathOptions']) => KubbFile.OptionalPath;
378
378
  /**
379
379
  * Resolve to a name based on a string.
380
380
  * Useful when converting to PascalCase or camelCase.
@@ -392,8 +392,8 @@ type PluginLifecycleHooks = keyof PluginLifecycle;
392
392
  type PluginParameter<H extends PluginLifecycleHooks> = Parameters<Required<PluginLifecycle>[H]>;
393
393
  type ResolvePathParams<TOptions = object> = {
394
394
  pluginKey?: Plugin['key'];
395
- baseName: BaseName;
396
- mode?: Mode;
395
+ baseName: KubbFile.BaseName;
396
+ mode?: KubbFile.Mode;
397
397
  /**
398
398
  * Options to be passed to 'resolvePath' 3th parameter
399
399
  */
@@ -418,8 +418,8 @@ type PluginContext<TOptions extends PluginFactoryOptions = PluginFactoryOptions>
418
418
  */
419
419
  fileManager: FileManager;
420
420
  pluginManager: PluginManager;
421
- addFile: (...file: Array<File>) => Promise<Array<ResolvedFile>>;
422
- resolvePath: (params: ResolvePathParams<TOptions['resolvePathOptions']>) => OptionalPath;
421
+ addFile: (...file: Array<KubbFile.File>) => Promise<Array<KubbFile.ResolvedFile>>;
422
+ resolvePath: (params: ResolvePathParams<TOptions['resolvePathOptions']>) => KubbFile.OptionalPath;
423
423
  resolveName: (params: ResolveNameParams) => string;
424
424
  logger: Logger;
425
425
  /**
@@ -468,4 +468,4 @@ type Group = {
468
468
  };
469
469
  //#endregion
470
470
  export { ResolvePathParams as _, InputData as a, UserPluginWithLifeCycle as b, Plugin as c, PluginKey as d, PluginLifecycle as f, ResolveNameParams as g, PluginWithLifeCycle as h, Group as i, PluginContext as l, PluginParameter as m, Config as n, InputPath as o, PluginLifecycleHooks as p, GetPluginFactoryOptions as r, Output as s, BarrelType as t, PluginFactoryOptions as u, UserConfig as v, PluginManager as x, UserPlugin as y };
471
- //# sourceMappingURL=types-CCUiy4jG.d.ts.map
471
+ //# sourceMappingURL=types-CVONMhN_.d.cts.map
@@ -1,7 +1,7 @@
1
- import { a as Mode, i as File, n as BaseName, o as OptionalPath, r as Extname, s as ResolvedFile } from "./index-BmQIxvw0.cjs";
2
- import { n as Logger, o as EventEmitter } from "./logger-DpoDtxfo.cjs";
3
- import { t as PossiblePromise } from "./types-C3ea5qNG.cjs";
1
+ import { n as Logger, o as EventEmitter } from "./logger-BwhJWK-H.js";
2
+ import { t as PossiblePromise } from "./types-DCR_QgGt.js";
4
3
  import { Fabric, FileManager } from "@kubb/react-fabric";
4
+ import { KubbFile } from "@kubb/fabric-core/types";
5
5
 
6
6
  //#region src/PluginManager.d.ts
7
7
  type RequiredPluginLifecycle = Required<PluginLifecycle>;
@@ -34,8 +34,8 @@ type Events = {
34
34
  };
35
35
  type GetFileProps<TOptions = object> = {
36
36
  name: string;
37
- mode?: Mode;
38
- extname: Extname;
37
+ mode?: KubbFile.Mode;
38
+ extname: KubbFile.Extname;
39
39
  pluginKey: Plugin['key'];
40
40
  options?: TOptions;
41
41
  };
@@ -54,10 +54,10 @@ declare class PluginManager {
54
54
  extname,
55
55
  pluginKey,
56
56
  options
57
- }: GetFileProps<TOptions>): File<{
57
+ }: GetFileProps<TOptions>): KubbFile.File<{
58
58
  pluginKey: Plugin['key'];
59
59
  }>;
60
- resolvePath: <TOptions = object>(params: ResolvePathParams<TOptions>) => OptionalPath;
60
+ resolvePath: <TOptions = object>(params: ResolvePathParams<TOptions>) => KubbFile.OptionalPath;
61
61
  resolveName: (params: ResolveNameParams) => string;
62
62
  /**
63
63
  * Instead of calling `pluginManager.events.on` you can use `pluginManager.on`. This one also has better types.
@@ -241,7 +241,7 @@ type Config<TInput = Input> = {
241
241
  * Override the extension to the generated imports and exports, by default each plugin will add an extension
242
242
  * @default { '.ts': '.ts'}
243
243
  */
244
- extension?: Record<Extname, Extname | ''>;
244
+ extension?: Record<KubbFile.Extname, KubbFile.Extname | ''>;
245
245
  /**
246
246
  * Specify how `index.ts` files should be created. You can also disable the generation of barrel files here. While each plugin has its own `barrelType` option, this setting controls the creation of the root barrel file, such as` src/gen/index.ts`.
247
247
  * @default 'named'
@@ -374,7 +374,7 @@ type PluginLifecycle<TOptions extends PluginFactoryOptions = PluginFactoryOption
374
374
  * @type hookFirst
375
375
  * @example ('./Pet.ts', './src/gen/') => '/src/gen/Pet.ts'
376
376
  */
377
- resolvePath?: (this: PluginContext<TOptions>, baseName: BaseName, mode?: Mode, options?: TOptions['resolvePathOptions']) => OptionalPath;
377
+ resolvePath?: (this: PluginContext<TOptions>, baseName: KubbFile.BaseName, mode?: KubbFile.Mode, options?: TOptions['resolvePathOptions']) => KubbFile.OptionalPath;
378
378
  /**
379
379
  * Resolve to a name based on a string.
380
380
  * Useful when converting to PascalCase or camelCase.
@@ -392,8 +392,8 @@ type PluginLifecycleHooks = keyof PluginLifecycle;
392
392
  type PluginParameter<H extends PluginLifecycleHooks> = Parameters<Required<PluginLifecycle>[H]>;
393
393
  type ResolvePathParams<TOptions = object> = {
394
394
  pluginKey?: Plugin['key'];
395
- baseName: BaseName;
396
- mode?: Mode;
395
+ baseName: KubbFile.BaseName;
396
+ mode?: KubbFile.Mode;
397
397
  /**
398
398
  * Options to be passed to 'resolvePath' 3th parameter
399
399
  */
@@ -418,8 +418,8 @@ type PluginContext<TOptions extends PluginFactoryOptions = PluginFactoryOptions>
418
418
  */
419
419
  fileManager: FileManager;
420
420
  pluginManager: PluginManager;
421
- addFile: (...file: Array<File>) => Promise<Array<ResolvedFile>>;
422
- resolvePath: (params: ResolvePathParams<TOptions['resolvePathOptions']>) => OptionalPath;
421
+ addFile: (...file: Array<KubbFile.File>) => Promise<Array<KubbFile.ResolvedFile>>;
422
+ resolvePath: (params: ResolvePathParams<TOptions['resolvePathOptions']>) => KubbFile.OptionalPath;
423
423
  resolveName: (params: ResolveNameParams) => string;
424
424
  logger: Logger;
425
425
  /**
@@ -468,4 +468,4 @@ type Group = {
468
468
  };
469
469
  //#endregion
470
470
  export { ResolvePathParams as _, InputData as a, UserPluginWithLifeCycle as b, Plugin as c, PluginKey as d, PluginLifecycle as f, ResolveNameParams as g, PluginWithLifeCycle as h, Group as i, PluginContext as l, PluginParameter as m, Config as n, InputPath as o, PluginLifecycleHooks as p, GetPluginFactoryOptions as r, Output as s, BarrelType as t, PluginFactoryOptions as u, UserConfig as v, PluginManager as x, UserPlugin as y };
471
- //# sourceMappingURL=types-EV6-sImo.d.cts.map
471
+ //# sourceMappingURL=types-CyDeSlGF.d.ts.map
@@ -2,4 +2,4 @@
2
2
  type PossiblePromise<T> = Promise<T> | T;
3
3
  //#endregion
4
4
  export { PossiblePromise as t };
5
- //# sourceMappingURL=types-ClXc6HFo.d.ts.map
5
+ //# sourceMappingURL=types-DCR_QgGt.d.ts.map
@@ -2,4 +2,4 @@
2
2
  type PossiblePromise<T> = Promise<T> | T;
3
3
  //#endregion
4
4
  export { PossiblePromise as t };
5
- //# sourceMappingURL=types-C3ea5qNG.d.cts.map
5
+ //# sourceMappingURL=types-DueAg3XP.d.cts.map
package/dist/utils.cjs CHANGED
@@ -1,8 +1,16 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_transformers = require('./transformers-BpnIvSiH.cjs');
3
- const require_URLPath = require('./URLPath-Bu6Wkco7.cjs');
2
+ const require_transformers = require('./transformers-DWLXDYKb.cjs');
3
+ const require_URLPath = require('./URLPath-Dir2mxRT.cjs');
4
+ let node_path = require("node:path");
5
+ node_path = require_chunk.__toESM(node_path);
4
6
  let natural_orderby = require("natural-orderby");
5
7
  natural_orderby = require_chunk.__toESM(natural_orderby);
8
+ let node_url = require("node:url");
9
+ node_url = require_chunk.__toESM(node_url);
10
+ let node_fs = require("node:fs");
11
+ node_fs = require_chunk.__toESM(node_fs);
12
+ let jiti = require("jiti");
13
+ jiti = require_chunk.__toESM(jiti);
6
14
 
7
15
  //#region src/utils/Cache.ts
8
16
  var Cache = class {
@@ -142,6 +150,19 @@ function renderTemplate(template, data = void 0) {
142
150
  }, template) || "";
143
151
  }
144
152
 
153
+ //#endregion
154
+ //#region src/utils/resolveModuleSource.ts
155
+ function resolveModuleSource(pkgName) {
156
+ const parentURL = require("url").pathToFileURL(__filename).href;
157
+ const resolved = (0, jiti.default)(parentURL).esmResolve(pkgName, parentURL);
158
+ const filePath = resolved.startsWith("file:") ? (0, node_url.fileURLToPath)(resolved) : resolved;
159
+ return {
160
+ path: filePath,
161
+ source: (0, node_fs.readFileSync)(filePath, { encoding: "utf-8" }),
162
+ ext: node_path.default.extname(filePath)
163
+ };
164
+ }
165
+
145
166
  //#endregion
146
167
  //#region src/utils/timeout.ts
147
168
  async function timeout(ms) {
@@ -161,6 +182,7 @@ exports.isPromise = isPromise;
161
182
  exports.isPromiseFulfilledResult = isPromiseFulfilledResult;
162
183
  exports.isPromiseRejectedResult = isPromiseRejectedResult;
163
184
  exports.renderTemplate = renderTemplate;
185
+ exports.resolveModuleSource = resolveModuleSource;
164
186
  exports.setUniqueName = require_URLPath.setUniqueName;
165
187
  exports.timeout = timeout;
166
188
  //# sourceMappingURL=utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","names":["#buffer","#items","#orderItems","#addParams","camelCase","type: string[]","name: string[]","item"],"sources":["../src/utils/Cache.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"sourcesContent":["export class Cache<T> {\n #buffer = new Map<string, T>()\n\n async get(key: string): Promise<T | null> {\n return this.#buffer.get(key) ?? null\n }\n\n async set(key: string, value: T): Promise<void> {\n this.#buffer.set(key, value)\n }\n\n async delete(key: string): Promise<void> {\n this.#buffer.delete(key)\n }\n\n async clear(): Promise<void> {\n this.#buffer.clear()\n }\n\n async keys(): Promise<string[]> {\n return [...this.#buffer.keys()]\n }\n\n async values(): Promise<T[]> {\n return [...this.#buffer.values()]\n }\n\n async flush(): Promise<void> {\n // No-op for base cache\n }\n}\n","import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n/**\n * @deprecated\n */\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\n\n/**\n * @deprecated\n */\nexport class FunctionParams {\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor() {\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => {\n this.#items.push(it)\n })\n return this\n }\n this.#items.push(item)\n\n return this\n }\n static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join('; ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n if (item.length <= 0) {\n return acc\n }\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\n }\n}\n","import type { PossiblePromise } from './types.ts'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.cjs","names":["#buffer","#items","#orderItems","#addParams","camelCase","type: string[]","name: string[]","item","path"],"sources":["../src/utils/Cache.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/resolveModuleSource.ts","../src/utils/timeout.ts"],"sourcesContent":["export class Cache<T> {\n #buffer = new Map<string, T>()\n\n async get(key: string): Promise<T | null> {\n return this.#buffer.get(key) ?? null\n }\n\n async set(key: string, value: T): Promise<void> {\n this.#buffer.set(key, value)\n }\n\n async delete(key: string): Promise<void> {\n this.#buffer.delete(key)\n }\n\n async clear(): Promise<void> {\n this.#buffer.clear()\n }\n\n async keys(): Promise<string[]> {\n return [...this.#buffer.keys()]\n }\n\n async values(): Promise<T[]> {\n return [...this.#buffer.values()]\n }\n\n async flush(): Promise<void> {\n // No-op for base cache\n }\n}\n","import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n/**\n * @deprecated\n */\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\n\n/**\n * @deprecated\n */\nexport class FunctionParams {\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor() {\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => {\n this.#items.push(it)\n })\n return this\n }\n this.#items.push(item)\n\n return this\n }\n static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join('; ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n if (item.length <= 0) {\n return acc\n }\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\n }\n}\n","import type { PossiblePromise } from './types.ts'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","import { readFileSync } from 'node:fs'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport createJiti from 'jiti'\n\nexport function resolveModuleSource(pkgName: string) {\n const parentURL = import.meta.url\n const jiti = createJiti(parentURL)\n\n const resolved = jiti.esmResolve(pkgName, parentURL)\n const filePath = resolved.startsWith('file:') ? fileURLToPath(resolved) : resolved\n const source = readFileSync(filePath, { encoding: 'utf-8' })\n const ext = path.extname(filePath)\n return { path: filePath, source, ext } as const\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n"],"mappings":"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"}
package/dist/utils.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { t as PossiblePromise } from "./types-C3ea5qNG.cjs";
1
+ import { t as PossiblePromise } from "./types-DueAg3XP.cjs";
2
2
 
3
3
  //#region src/utils/Cache.d.ts
4
4
  declare class Cache<T> {
@@ -67,6 +67,13 @@ declare function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown
67
67
  //#region src/utils/renderTemplate.d.ts
68
68
  declare function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data?: TData | undefined): string;
69
69
  //#endregion
70
+ //#region src/utils/resolveModuleSource.d.ts
71
+ declare function resolveModuleSource(pkgName: string): {
72
+ readonly path: string;
73
+ readonly source: string;
74
+ readonly ext: string;
75
+ };
76
+ //#endregion
70
77
  //#region src/utils/timeout.d.ts
71
78
  declare function timeout(ms: number): Promise<unknown>;
72
79
  //#endregion
@@ -132,5 +139,5 @@ declare class URLPath {
132
139
  declare function getUniqueName(originalName: string, data: Record<string, number>): string;
133
140
  declare function setUniqueName(originalName: string, data: Record<string, number>): string;
134
141
  //#endregion
135
- export { Cache, FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
142
+ export { Cache, FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, resolveModuleSource, setUniqueName, timeout };
136
143
  //# sourceMappingURL=utils.d.cts.map
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { t as PossiblePromise } from "./types-ClXc6HFo.js";
1
+ import { t as PossiblePromise } from "./types-DCR_QgGt.js";
2
2
 
3
3
  //#region src/utils/Cache.d.ts
4
4
  declare class Cache<T> {
@@ -67,6 +67,13 @@ declare function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown
67
67
  //#region src/utils/renderTemplate.d.ts
68
68
  declare function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data?: TData | undefined): string;
69
69
  //#endregion
70
+ //#region src/utils/resolveModuleSource.d.ts
71
+ declare function resolveModuleSource(pkgName: string): {
72
+ readonly path: string;
73
+ readonly source: string;
74
+ readonly ext: string;
75
+ };
76
+ //#endregion
70
77
  //#region src/utils/timeout.d.ts
71
78
  declare function timeout(ms: number): Promise<unknown>;
72
79
  //#endregion
@@ -132,5 +139,5 @@ declare class URLPath {
132
139
  declare function getUniqueName(originalName: string, data: Record<string, number>): string;
133
140
  declare function setUniqueName(originalName: string, data: Record<string, number>): string;
134
141
  //#endregion
135
- export { Cache, FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
142
+ export { Cache, FunctionParams, type FunctionParamsAST, type URLObject, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, resolveModuleSource, setUniqueName, timeout };
136
143
  //# sourceMappingURL=utils.d.ts.map
package/dist/utils.js CHANGED
@@ -1,6 +1,10 @@
1
- import { m as camelCase } from "./transformers-BN5jfIAt.js";
2
- import { n as getUniqueName, r as setUniqueName, t as URLPath } from "./URLPath-Bpc_OJmh.js";
1
+ import { m as camelCase } from "./transformers-CeNW0G32.js";
2
+ import { n as getUniqueName, r as setUniqueName, t as URLPath } from "./URLPath-DbWtfVa1.js";
3
+ import path from "node:path";
3
4
  import { orderBy } from "natural-orderby";
5
+ import { fileURLToPath } from "node:url";
6
+ import { readFileSync } from "node:fs";
7
+ import createJiti from "jiti";
4
8
 
5
9
  //#region src/utils/Cache.ts
6
10
  var Cache = class {
@@ -140,16 +144,29 @@ function renderTemplate(template, data = void 0) {
140
144
  }, template) || "";
141
145
  }
142
146
 
147
+ //#endregion
148
+ //#region src/utils/resolveModuleSource.ts
149
+ function resolveModuleSource(pkgName) {
150
+ const parentURL = import.meta.url;
151
+ const resolved = createJiti(parentURL).esmResolve(pkgName, parentURL);
152
+ const filePath = resolved.startsWith("file:") ? fileURLToPath(resolved) : resolved;
153
+ return {
154
+ path: filePath,
155
+ source: readFileSync(filePath, { encoding: "utf-8" }),
156
+ ext: path.extname(filePath)
157
+ };
158
+ }
159
+
143
160
  //#endregion
144
161
  //#region src/utils/timeout.ts
145
162
  async function timeout(ms) {
146
- return new Promise((resolve) => {
163
+ return new Promise((resolve$1) => {
147
164
  setTimeout(() => {
148
- resolve(true);
165
+ resolve$1(true);
149
166
  }, ms);
150
167
  });
151
168
  }
152
169
 
153
170
  //#endregion
154
- export { Cache, FunctionParams, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
171
+ export { Cache, FunctionParams, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, resolveModuleSource, setUniqueName, timeout };
155
172
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["#buffer","#items","#orderItems","#addParams","type: string[]","name: string[]","item"],"sources":["../src/utils/Cache.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts"],"sourcesContent":["export class Cache<T> {\n #buffer = new Map<string, T>()\n\n async get(key: string): Promise<T | null> {\n return this.#buffer.get(key) ?? null\n }\n\n async set(key: string, value: T): Promise<void> {\n this.#buffer.set(key, value)\n }\n\n async delete(key: string): Promise<void> {\n this.#buffer.delete(key)\n }\n\n async clear(): Promise<void> {\n this.#buffer.clear()\n }\n\n async keys(): Promise<string[]> {\n return [...this.#buffer.keys()]\n }\n\n async values(): Promise<T[]> {\n return [...this.#buffer.values()]\n }\n\n async flush(): Promise<void> {\n // No-op for base cache\n }\n}\n","import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n/**\n * @deprecated\n */\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\n\n/**\n * @deprecated\n */\nexport class FunctionParams {\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor() {\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => {\n this.#items.push(it)\n })\n return this\n }\n this.#items.push(item)\n\n return this\n }\n static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join('; ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n if (item.length <= 0) {\n return acc\n }\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\n }\n}\n","import type { PossiblePromise } from './types.ts'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["#buffer","#items","#orderItems","#addParams","type: string[]","name: string[]","item"],"sources":["../src/utils/Cache.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts","../src/utils/resolveModuleSource.ts","../src/utils/timeout.ts"],"sourcesContent":["export class Cache<T> {\n #buffer = new Map<string, T>()\n\n async get(key: string): Promise<T | null> {\n return this.#buffer.get(key) ?? null\n }\n\n async set(key: string, value: T): Promise<void> {\n this.#buffer.set(key, value)\n }\n\n async delete(key: string): Promise<void> {\n this.#buffer.delete(key)\n }\n\n async clear(): Promise<void> {\n this.#buffer.clear()\n }\n\n async keys(): Promise<string[]> {\n return [...this.#buffer.keys()]\n }\n\n async values(): Promise<T[]> {\n return [...this.#buffer.values()]\n }\n\n async flush(): Promise<void> {\n // No-op for base cache\n }\n}\n","import { orderBy } from 'natural-orderby'\n\nimport { camelCase } from '../transformers/casing.ts'\n\ntype FunctionParamsASTWithoutType = {\n name?: string\n type?: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n\ntype FunctionParamsASTWithType = {\n name?: never\n type: string\n /**\n * @default true\n */\n required?: boolean\n /**\n * @default true\n */\n enabled?: boolean\n default?: string\n}\n/**\n * @deprecated\n */\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\n\n/**\n * @deprecated\n */\nexport class FunctionParams {\n #items: Array<FunctionParamsAST | FunctionParamsAST[]> = []\n constructor() {\n return this\n }\n\n get items(): FunctionParamsAST[] {\n return this.#items.flat()\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | FunctionParamsAST[] | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => {\n this.#items.push(it)\n })\n return this\n }\n this.#items.push(item)\n\n return this\n }\n static #orderItems(items: Array<FunctionParamsAST | FunctionParamsAST[]>) {\n return orderBy(\n items.filter(Boolean),\n [\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return !v.default\n },\n (v) => {\n if (Array.isArray(v)) {\n return undefined\n }\n return v.required ?? true\n },\n ],\n ['desc', 'desc'],\n )\n }\n\n static #addParams(acc: string[], item: FunctionParamsAST) {\n const { enabled = true, name, type, required = true, ...rest } = item\n\n if (!enabled) {\n return acc\n }\n\n if (!name) {\n // when name is not se we will use TypeScript generics\n acc.push(`${type}${rest.default ? ` = ${rest.default}` : ''}`)\n\n return acc\n }\n // TODO check whey we still need the camelcase here\n const parameterName = name.startsWith('{') ? name : camelCase(name)\n\n if (type) {\n if (required) {\n acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ''}`)\n } else {\n acc.push(`${parameterName}?: ${type}`)\n }\n } else {\n acc.push(`${parameterName}`)\n }\n\n return acc\n }\n\n static toObject(items: FunctionParamsAST[]): FunctionParamsAST {\n let type: string[] = []\n let name: string[] = []\n\n const enabled = items.every((item) => item.enabled) ? items.at(0)?.enabled : true\n const required = items.every((item) => item.required) ?? true\n\n items.forEach((item) => {\n name = FunctionParams.#addParams(name, { ...item, type: undefined })\n if (items.some((item) => item.type)) {\n type = FunctionParams.#addParams(type, item)\n }\n })\n\n return {\n name: `{ ${name.join(', ')} }`,\n type: type.length ? `{ ${type.join('; ')} }` : undefined,\n enabled,\n required,\n }\n }\n\n static toString(items: (FunctionParamsAST | FunctionParamsAST[])[]): string {\n const sortedData = FunctionParams.#orderItems(items)\n\n return sortedData\n .reduce((acc, item) => {\n if (Array.isArray(item)) {\n if (item.length <= 0) {\n return acc\n }\n const subItems = FunctionParams.#orderItems(item) as FunctionParamsAST[]\n const objectItem = FunctionParams.toObject(subItems)\n\n return FunctionParams.#addParams(acc, objectItem)\n }\n\n return FunctionParams.#addParams(acc, item)\n }, [] as string[])\n .join(', ')\n }\n\n toObject(): FunctionParamsAST {\n const items = FunctionParams.#orderItems(this.#items).flat()\n\n return FunctionParams.toObject(items)\n }\n\n toString(): string {\n const items = FunctionParams.#orderItems(this.#items)\n\n return FunctionParams.toString(items)\n }\n}\n","import type { PossiblePromise } from './types.ts'\n\nexport function isPromise<T>(result: PossiblePromise<T>): result is Promise<T> {\n return !!result && typeof (result as Promise<unknown>)?.then === 'function'\n}\n\nexport function isPromiseFulfilledResult<T = unknown>(result: PromiseSettledResult<unknown>): result is PromiseFulfilledResult<T> {\n return result.status === 'fulfilled'\n}\n\nexport function isPromiseRejectedResult<T>(result: PromiseSettledResult<unknown>): result is Omit<PromiseRejectedResult, 'reason'> & { reason: T } {\n return result.status === 'rejected'\n}\n","export function renderTemplate<TData extends Record<string, unknown> = Record<string, unknown>>(template: string, data: TData | undefined = undefined): string {\n if (!data || !Object.keys(data).length) {\n return template.replace(/{{(.*?)}}/g, '')\n }\n\n const matches = template.match(/{{(.*?)}}/g)\n\n return (\n matches?.reduce((prev, curr) => {\n const index = curr.split(/{{|}}/).filter(Boolean)[0]?.trim()\n if (index === undefined) {\n return prev\n }\n const value = data[index]\n\n if (value === undefined) {\n return prev\n }\n\n return prev\n .replace(curr, () => {\n if (typeof value === 'boolean') {\n return `${value.toString()}` || 'false'\n }\n\n return (value as string) || ''\n })\n .trim()\n }, template) || ''\n )\n}\n","import { readFileSync } from 'node:fs'\nimport path from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport createJiti from 'jiti'\n\nexport function resolveModuleSource(pkgName: string) {\n const parentURL = import.meta.url\n const jiti = createJiti(parentURL)\n\n const resolved = jiti.esmResolve(pkgName, parentURL)\n const filePath = resolved.startsWith('file:') ? fileURLToPath(resolved) : resolved\n const source = readFileSync(filePath, { encoding: 'utf-8' })\n const ext = path.extname(filePath)\n return { path: filePath, source, ext } as const\n}\n","export async function timeout(ms: number): Promise<unknown> {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true)\n }, ms)\n })\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/core",
3
- "version": "4.4.0",
3
+ "version": "4.5.0",
4
4
  "description": "Core functionality for Kubb's plugin-based code generation system, providing the foundation for transforming OpenAPI specifications.",
5
5
  "keywords": [
6
6
  "typescript",
@@ -26,10 +26,6 @@
26
26
  "import": "./dist/index.js",
27
27
  "require": "./dist/index.cjs"
28
28
  },
29
- "./fs": {
30
- "import": "./dist/fs.js",
31
- "require": "./dist/fs.cjs"
32
- },
33
29
  "./hooks": {
34
30
  "import": "./dist/hooks.js",
35
31
  "require": "./dist/hooks.cjs"
@@ -79,11 +75,19 @@
79
75
  "!/**/**.test.**",
80
76
  "!/**/__tests__/**"
81
77
  ],
78
+ "size-limit": [
79
+ {
80
+ "path": "./dist/*.js",
81
+ "limit": "510 KiB",
82
+ "gzip": true
83
+ }
84
+ ],
82
85
  "dependencies": {
83
- "@kubb/react-fabric": "0.2.8",
86
+ "@kubb/react-fabric": "0.2.14",
84
87
  "camelcase": "^8.0.0",
85
88
  "find-up": "^7.0.0",
86
89
  "fs-extra": "^11.3.2",
90
+ "jiti": "^2.6.1",
87
91
  "js-runtime": "^0.0.8",
88
92
  "natural-orderby": "^5.0.0",
89
93
  "object-hash": "^3.0.0",
@@ -99,15 +103,13 @@
99
103
  "@types/seedrandom": "^3.0.8",
100
104
  "@types/semver": "^7.7.1",
101
105
  "consola": "^3.4.2",
102
- "tsdown": "^0.15.11",
103
- "typescript": "^5.9.3",
104
106
  "zod": "^4.1.12"
105
107
  },
106
108
  "optionalDependencies": {
107
- "@kubb/fabric-core": "0.2.8"
109
+ "@kubb/fabric-core": "0.2.14"
108
110
  },
109
111
  "peerDependencies": {
110
- "@kubb/react-fabric": "0.2.8"
112
+ "@kubb/react-fabric": "0.2.14"
111
113
  },
112
114
  "engines": {
113
115
  "node": ">=20"
@@ -117,7 +119,7 @@
117
119
  "registry": "https://registry.npmjs.org/"
118
120
  },
119
121
  "scripts": {
120
- "build": "tsdown",
122
+ "build": "tsdown && size-limit",
121
123
  "clean": "npx rimraf ./dist",
122
124
  "lint": "bun biome lint .",
123
125
  "lint:fix": "bun biome lint --fix --unsafe .",
@@ -1,7 +1,7 @@
1
1
  /** biome-ignore-all lint/suspicious/useIterableCallbackReturn: not needed */
2
2
  import { join } from 'node:path'
3
+ import type { KubbFile } from '@kubb/fabric-core/types'
3
4
  import type { FileMetaBase } from './FileManager.ts'
4
- import type { KubbFile } from './fs/index.ts'
5
5
  import { getRelativePath } from './fs/index.ts'
6
6
  import type { Logger } from './logger.ts'
7
7
  import { TreeNode } from './utils/TreeNode.ts'