@kubb/core 2.0.0-beta.2 → 2.0.0-beta.4

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 (40) hide show
  1. package/dist/index.cjs +188 -156
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +9 -13
  4. package/dist/index.d.ts +9 -13
  5. package/dist/index.js +191 -158
  6. package/dist/index.js.map +1 -1
  7. package/dist/transformers.cjs +222 -0
  8. package/dist/transformers.cjs.map +1 -0
  9. package/dist/transformers.d.ts +55 -0
  10. package/dist/transformers.js +207 -0
  11. package/dist/transformers.js.map +1 -0
  12. package/dist/utils.cjs +226 -212
  13. package/dist/utils.cjs.map +1 -1
  14. package/dist/utils.d.cts +1 -49
  15. package/dist/utils.d.ts +1 -49
  16. package/dist/utils.js +227 -212
  17. package/dist/utils.js.map +1 -1
  18. package/package.json +9 -4
  19. package/src/FileManager.ts +33 -15
  20. package/src/PluginManager.ts +9 -9
  21. package/src/build.ts +1 -1
  22. package/src/index.ts +0 -1
  23. package/src/transformers/casing.ts +9 -0
  24. package/src/transformers/createJSDocBlockText.ts +9 -0
  25. package/src/transformers/index.ts +36 -0
  26. package/src/transformers/trim.ts +7 -0
  27. package/src/utils/FunctionParams.ts +3 -2
  28. package/src/utils/URLPath.ts +5 -5
  29. package/src/utils/index.ts +0 -1
  30. package/src/utils/write.ts +1 -1
  31. package/src/SchemaGenerator.ts +0 -8
  32. package/src/utils/transformers/createJSDocBlockText.ts +0 -15
  33. package/src/utils/transformers/index.ts +0 -22
  34. package/src/utils/transformers/trim.ts +0 -3
  35. /package/src/{utils/transformers → transformers}/combineCodes.ts +0 -0
  36. /package/src/{utils/transformers → transformers}/escape.ts +0 -0
  37. /package/src/{utils/transformers → transformers}/indent.ts +0 -0
  38. /package/src/{utils/transformers → transformers}/nameSorter.ts +0 -0
  39. /package/src/{utils/transformers → transformers}/searchAndReplace.ts +0 -0
  40. /package/src/{utils/transformers → transformers}/transformReservedWord.ts +0 -0
@@ -0,0 +1,36 @@
1
+ import { camelCase, pascalCase } from './casing.ts'
2
+ import { combineCodes } from './combineCodes.ts'
3
+ import { createJSDocBlockText } from './createJSDocBlockText.ts'
4
+ import { escape, jsStringEscape } from './escape.ts'
5
+ import { createIndent } from './indent.ts'
6
+ import { nameSorter } from './nameSorter.ts'
7
+ import { searchAndReplace } from './searchAndReplace.ts'
8
+ import { transformReservedWord } from './transformReservedWord.ts'
9
+ import { trim, trimExtName } from './trim.ts'
10
+
11
+ export { camelCase, pascalCase } from './casing.ts'
12
+ export { combineCodes } from './combineCodes.ts'
13
+ export { createJSDocBlockText } from './createJSDocBlockText.ts'
14
+ export { escape, jsStringEscape } from './escape.ts'
15
+ export { createIndent } from './indent.ts'
16
+ export { nameSorter } from './nameSorter.ts'
17
+ export { searchAndReplace } from './searchAndReplace.ts'
18
+ export { transformReservedWord } from './transformReservedWord.ts'
19
+ export { trim, trimExtName } from './trim.ts'
20
+
21
+ export default {
22
+ combineCodes,
23
+ escape,
24
+ jsStringEscape,
25
+ createIndent,
26
+ transformReservedWord,
27
+ nameSorter,
28
+ searchAndReplace,
29
+ trim,
30
+ trimExtName,
31
+ JSDoc: {
32
+ createJSDocBlockText,
33
+ },
34
+ camelCase,
35
+ pascalCase,
36
+ } as const
@@ -0,0 +1,7 @@
1
+ export function trim(text: string): string {
2
+ return text.replaceAll(/\n/g, '').trim()
3
+ }
4
+
5
+ export function trimExtName(text: string): string {
6
+ return text.replace(/\.[^/.]+$/, '')
7
+ }
@@ -1,6 +1,7 @@
1
- import { camelCase, camelCaseTransformMerge } from 'change-case'
2
1
  import { orderBy } from 'natural-orderby'
3
2
 
3
+ import transformers from '../transformers/index.ts'
4
+
4
5
  type FunctionParamsASTWithoutType = {
5
6
  name?: string
6
7
  type?: string
@@ -66,7 +67,7 @@ export class FunctionParams {
66
67
  return acc
67
68
  }
68
69
  // TODO check whey we still need the camelcase here
69
- const parameterName = name.startsWith('{') ? name : camelCase(name, { delimiter: '', transform: camelCaseTransformMerge })
70
+ const parameterName = name.startsWith('{') ? name : transformers.camelCase(name)
70
71
 
71
72
  if (type) {
72
73
  if (required) {
@@ -1,4 +1,4 @@
1
- import { camelCase, camelCaseTransformMerge } from 'change-case'
1
+ import transformers from '../transformers/index.ts'
2
2
 
3
3
  export type URLObject = {
4
4
  url: string
@@ -90,8 +90,8 @@ export class URLPath {
90
90
  if (found) {
91
91
  newPath = found.reduce((prev, curr) => {
92
92
  const pathParam = replacer
93
- ? replacer(camelCase(curr, { delimiter: '', transform: camelCaseTransformMerge }))
94
- : camelCase(curr, { delimiter: '', transform: camelCaseTransformMerge })
93
+ ? replacer(transformers.camelCase(curr))
94
+ : transformers.camelCase(curr)
95
95
  const replacement = `\${${pathParam}}`
96
96
 
97
97
  return prev.replace(curr, replacement)
@@ -114,8 +114,8 @@ export class URLPath {
114
114
  item = item.replaceAll('{', '').replaceAll('}', '')
115
115
 
116
116
  const pathParam = replacer
117
- ? replacer(camelCase(item, { delimiter: '', transform: camelCaseTransformMerge }))
118
- : camelCase(item, { delimiter: '', transform: camelCaseTransformMerge })
117
+ ? replacer(transformers.camelCase(item))
118
+ : transformers.camelCase(item)
119
119
 
120
120
  params[pathParam] = pathParam
121
121
  }, this.path)
@@ -12,7 +12,6 @@ export * from './read.ts'
12
12
  export * from './renderTemplate.ts'
13
13
  export * from './throttle.ts'
14
14
  export * from './timeout.ts'
15
- export * from './transformers/index.ts'
16
15
  export * from './TreeNode.ts'
17
16
  export * from './uniqueName.ts'
18
17
  export * from './URLPath.ts'
@@ -1,4 +1,4 @@
1
- import { dirname, resolve } from 'node:path'
1
+ import { dirname, resolve, extname } from 'node:path'
2
2
 
3
3
  import fs from 'fs-extra'
4
4
  import { switcher } from 'js-runtime'
@@ -1,8 +0,0 @@
1
- import { Generator } from './Generator.ts'
2
-
3
- /**
4
- * Abstract class that contains the building blocks for plugins to create their own SchemaGenerator
5
- */
6
- export abstract class SchemaGenerator<TOptions extends object, TInput, TOutput> extends Generator<TOptions> {
7
- abstract build(schema: TInput, name: string, description?: string): TOutput
8
- }
@@ -1,15 +0,0 @@
1
- export function createJSDocBlockText({ comments, newLine }: { comments: Array<string>; newLine?: boolean }): string {
2
- const filteredComments = comments.filter(Boolean)
3
-
4
- if (!filteredComments.length) {
5
- return ''
6
- }
7
-
8
- const source = `/**\n * ${filteredComments.join('\n * ')}\n */`
9
-
10
- if (newLine) {
11
- return `${source}\n`
12
- }
13
-
14
- return source
15
- }
@@ -1,22 +0,0 @@
1
- import { combineCodes } from './combineCodes.ts'
2
- import { createJSDocBlockText } from './createJSDocBlockText.ts'
3
- import { escape, jsStringEscape } from './escape.ts'
4
- import { createIndent } from './indent.ts'
5
- import { nameSorter } from './nameSorter.ts'
6
- import { searchAndReplace } from './searchAndReplace.ts'
7
- import { transformReservedWord } from './transformReservedWord.ts'
8
- import { trim } from './trim.ts'
9
-
10
- export const transformers = {
11
- combineCodes,
12
- escape,
13
- jsStringEscape,
14
- createIndent,
15
- transformReservedWord,
16
- nameSorter,
17
- searchAndReplace,
18
- trim,
19
- JSDoc: {
20
- createJSDocBlockText,
21
- },
22
- } as const
@@ -1,3 +0,0 @@
1
- export function trim(text: string): string {
2
- return text.replaceAll(/\n/g, '').trim()
3
- }