@kubb/core 2.0.0-beta.12 → 2.0.0-beta.13
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.
- package/dist/chunk-56YH3VX6.js +239 -0
- package/dist/chunk-56YH3VX6.js.map +1 -0
- package/dist/chunk-6N4JBFFS.js +79 -0
- package/dist/chunk-6N4JBFFS.js.map +1 -0
- package/dist/chunk-72O327DC.cjs +247 -0
- package/dist/chunk-72O327DC.cjs.map +1 -0
- package/dist/chunk-77QZQ377.cjs +155 -0
- package/dist/chunk-77QZQ377.cjs.map +1 -0
- package/dist/chunk-ABFPJZJL.cjs +131 -0
- package/dist/chunk-ABFPJZJL.cjs.map +1 -0
- package/dist/chunk-FOQFLMOC.js +2336 -0
- package/dist/chunk-FOQFLMOC.js.map +1 -0
- package/dist/chunk-I7UUR5MZ.cjs +91 -0
- package/dist/chunk-I7UUR5MZ.cjs.map +1 -0
- package/dist/chunk-L6F5QUH2.js +129 -0
- package/dist/chunk-L6F5QUH2.js.map +1 -0
- package/dist/chunk-PY7I7OEN.cjs +92 -0
- package/dist/chunk-PY7I7OEN.cjs.map +1 -0
- package/dist/chunk-SX2AYX5F.js +18 -0
- package/dist/chunk-SX2AYX5F.js.map +1 -0
- package/dist/chunk-WFDR7OMY.js +148 -0
- package/dist/chunk-WFDR7OMY.js.map +1 -0
- package/dist/chunk-Z7XZQBAK.cjs +2339 -0
- package/dist/chunk-Z7XZQBAK.cjs.map +1 -0
- package/dist/fs.cjs +19 -2372
- package/dist/fs.cjs.map +1 -1
- package/dist/fs.js +3 -2373
- package/dist/fs.js.map +1 -1
- package/dist/index.cjs +209 -3251
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +139 -3473
- package/dist/index.js.map +1 -1
- package/dist/logger.cjs +18 -141
- package/dist/logger.cjs.map +1 -1
- package/dist/logger.js +2 -135
- package/dist/logger.js.map +1 -1
- package/dist/transformers.cjs +40 -208
- package/dist/transformers.cjs.map +1 -1
- package/dist/transformers.js +15 -201
- package/dist/transformers.js.map +1 -1
- package/dist/utils.cjs +29 -534
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.js +10 -526
- package/dist/utils.js.map +1 -1
- package/package.json +5 -5
- package/src/BarrelManager.ts +3 -3
- package/src/FileManager.ts +6 -5
- package/src/utils/FunctionParams.ts +2 -2
- package/src/utils/URLPath.ts +5 -5
package/dist/utils.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils/FunctionParams.ts","../../../node_modules/.pnpm/change-case@5.2.0/node_modules/change-case/src/index.ts","../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/transformReservedWord.ts","../src/transformers/trim.ts","../src/transformers/index.ts","../src/utils/promise.ts","../src/utils/Queue.ts","../src/utils/EventEmitter.ts","../src/utils/renderTemplate.ts","../src/utils/timeout.ts","../src/utils/uniqueName.ts","../src/utils/URLPath.ts"],"names":["camelCase","pascalCase"],"mappings":"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","sourcesContent":["import { orderBy } from 'natural-orderby'\n\nimport transformers from '../transformers/index.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\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\nexport class FunctionParams {\n public type?: 'generics' | 'typed'\n public items: FunctionParamsAST[] = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\n return this\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => this.items.push(it))\n return this\n }\n this.items.push(item)\n\n return this\n }\n\n toString(): string {\n const sortedData = orderBy(this.items.filter(Boolean), [(v) => !v.default, (v) => v.required ?? true], ['desc', 'desc'])\n\n return sortedData\n .filter(({ enabled = true }) => enabled)\n .reduce((acc, { name, type, required = true, ...rest }) => {\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 : transformers.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 }, [] as string[])\n .join(', ')\n }\n}\n","// Regexps involved with splitting words in various case formats.\nconst SPLIT_LOWER_UPPER_RE = /([\\p{Ll}\\d])(\\p{Lu})/gu;\nconst SPLIT_UPPER_UPPER_RE = /(\\p{Lu})([\\p{Lu}][\\p{Ll}])/gu;\nconst SPLIT_NUMBER_LOWER_RE = /(\\d)(\\p{Ll})/gu;\nconst SPLIT_LETTER_NUMBER_RE = /(\\p{L})(\\d)/gu;\n\n// Regexp involved with stripping non-word characters from the result.\nconst DEFAULT_STRIP_REGEXP = /[^\\p{L}\\d]+/giu;\n\n// The replacement value for splits.\nconst SPLIT_REPLACE_VALUE = \"$1\\0$2\";\n\n// The default characters to keep after transforming case.\nconst DEFAULT_PREFIX_CHARACTERS = \"\";\n\n/**\n * Supported locale values. Use `false` to ignore locale.\n * Defaults to `undefined`, which uses the host environment.\n */\nexport type Locale = string[] | string | false | undefined;\n\n/**\n * Options used for converting strings to pascal/camel case.\n */\nexport interface PascalCaseOptions extends Options {\n mergeAmbiguousCharacters?: boolean;\n}\n\n/**\n * Options used for converting strings to any case.\n */\nexport interface Options extends SplitOptions {\n locale?: Locale;\n delimiter?: string;\n prefixCharacters?: string;\n}\n\n/**\n * Options used for splitting strings into word segments.\n */\nexport interface SplitOptions {\n separateNumbers?: boolean;\n}\n\n/**\n * Split any cased input strings into an array of words.\n */\nexport function split(input: string, options?: SplitOptions) {\n let result = input.trim();\n\n result = result\n .replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE)\n .replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);\n\n if (options?.separateNumbers) {\n result = result\n .replace(SPLIT_NUMBER_LOWER_RE, SPLIT_REPLACE_VALUE)\n .replace(SPLIT_LETTER_NUMBER_RE, SPLIT_REPLACE_VALUE);\n }\n\n result = result.replace(DEFAULT_STRIP_REGEXP, \"\\0\");\n\n let start = 0;\n let end = result.length;\n\n // Trim the delimiter from around the output string.\n while (result.charAt(start) === \"\\0\") start++;\n if (start === end) return [];\n while (result.charAt(end - 1) === \"\\0\") end--;\n\n return result.slice(start, end).split(/\\0/g);\n}\n\n/**\n * Convert a string to space separated lower case (`foo bar`).\n */\nexport function noCase(input: string, options?: Options) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n return (\n prefix +\n split(input, options)\n .map(lowerFactory(options?.locale))\n .join(options?.delimiter ?? \" \")\n );\n}\n\n/**\n * Convert a string to camel case (`fooBar`).\n */\nexport function camelCase(input: string, options?: PascalCaseOptions) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return (\n prefix +\n split(input, options)\n .map((word, index) => {\n if (index === 0) return lower(word);\n return transform(word, index);\n })\n .join(options?.delimiter ?? \"\")\n );\n}\n\n/**\n * Convert a string to pascal case (`FooBar`).\n */\nexport function pascalCase(input: string, options?: PascalCaseOptions) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = options?.mergeAmbiguousCharacters\n ? capitalCaseTransformFactory(lower, upper)\n : pascalCaseTransformFactory(lower, upper);\n return (\n prefix +\n split(input, options)\n .map(transform)\n .join(options?.delimiter ?? \"\")\n );\n}\n\n/**\n * Convert a string to pascal snake case (`Foo_Bar`).\n */\nexport function pascalSnakeCase(input: string, options?: Options) {\n return capitalCase(input, { delimiter: \"_\", ...options });\n}\n\n/**\n * Convert a string to capital case (`Foo Bar`).\n */\nexport function capitalCase(input: string, options?: Options) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n return (\n prefix +\n split(input, options)\n .map(capitalCaseTransformFactory(lower, upper))\n .join(options?.delimiter ?? \" \")\n );\n}\n\n/**\n * Convert a string to constant case (`FOO_BAR`).\n */\nexport function constantCase(input: string, options?: Options) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n return (\n prefix +\n split(input, options)\n .map(upperFactory(options?.locale))\n .join(options?.delimiter ?? \"_\")\n );\n}\n\n/**\n * Convert a string to dot case (`foo.bar`).\n */\nexport function dotCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \".\", ...options });\n}\n\n/**\n * Convert a string to kebab case (`foo-bar`).\n */\nexport function kebabCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"-\", ...options });\n}\n\n/**\n * Convert a string to path case (`foo/bar`).\n */\nexport function pathCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"/\", ...options });\n}\n\n/**\n * Convert a string to path case (`Foo bar`).\n */\nexport function sentenceCase(input: string, options?: Options) {\n const prefix = getPrefix(input, options?.prefixCharacters);\n const lower = lowerFactory(options?.locale);\n const upper = upperFactory(options?.locale);\n const transform = capitalCaseTransformFactory(lower, upper);\n return (\n prefix +\n split(input, options)\n .map((word, index) => {\n if (index === 0) return transform(word);\n return lower(word);\n })\n .join(options?.delimiter ?? \" \")\n );\n}\n\n/**\n * Convert a string to snake case (`foo_bar`).\n */\nexport function snakeCase(input: string, options?: Options) {\n return noCase(input, { delimiter: \"_\", ...options });\n}\n\n/**\n * Convert a string to header case (`Foo-Bar`).\n */\nexport function trainCase(input: string, options?: Options) {\n return capitalCase(input, { delimiter: \"-\", ...options });\n}\n\nfunction lowerFactory(locale: Locale): (input: string) => string {\n return locale === false\n ? (input: string) => input.toLowerCase()\n : (input: string) => input.toLocaleLowerCase(locale);\n}\n\nfunction upperFactory(locale: Locale): (input: string) => string {\n return locale === false\n ? (input: string) => input.toUpperCase()\n : (input: string) => input.toLocaleUpperCase(locale);\n}\n\nfunction capitalCaseTransformFactory(\n lower: (input: string) => string,\n upper: (input: string) => string,\n) {\n return (word: string) => `${upper(word[0])}${lower(word.slice(1))}`;\n}\n\nfunction pascalCaseTransformFactory(\n lower: (input: string) => string,\n upper: (input: string) => string,\n) {\n return (word: string, index: number) => {\n const char0 = word[0];\n const initial =\n index > 0 && char0 >= \"0\" && char0 <= \"9\" ? \"_\" + char0 : upper(char0);\n return initial + lower(word.slice(1));\n };\n}\n\nfunction getPrefix(\n input: string,\n prefixCharacters = DEFAULT_PREFIX_CHARACTERS,\n): string {\n let prefix = \"\";\n for (let i = 0; i < input.length; i++) {\n const char = input.charAt(i);\n if (prefixCharacters.includes(char)) {\n prefix += char;\n } else {\n break;\n }\n }\n return prefix;\n}\n","import { camelCase as changeCaseCamel, pascalCase as changePascalCase } from 'change-case'\n\nexport function camelCase(text: string): string {\n return changeCaseCamel(text, { delimiter: '', mergeAmbiguousCharacters: true })\n}\n\nexport function pascalCase(text: string): string {\n return changePascalCase(text, { delimiter: '', mergeAmbiguousCharacters: true })\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// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\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","/**\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","export function trim(text: string): string {\n return text.replaceAll(/\\n/g, '').trim()\n}\n\nexport function trimExtName(text: string): string {\n return text.replace(/\\.[^/.]+$/, '')\n}\n","import { 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 { transformReservedWord } from './transformReservedWord.ts'\nimport { trim, trimExtName } from './trim.ts'\n\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 { transformReservedWord } from './transformReservedWord.ts'\nexport { trim, trimExtName } from './trim.ts'\n\nexport default {\n combineCodes,\n escape,\n jsStringEscape,\n createIndent,\n transformReservedWord,\n nameSorter,\n searchAndReplace,\n trim,\n trimExtName,\n JSDoc: {\n createJSDocBlockText,\n },\n camelCase,\n pascalCase,\n} as const\n","import type { PossiblePromise } from '@kubb/types'\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","import crypto from 'node:crypto'\nimport { performance } from 'node:perf_hooks'\n\nimport { EventEmitter } from './EventEmitter.ts'\n\nexport type QueueJob<T = unknown> = {\n (...args: unknown[]): Promise<T | void>\n}\n\ntype RunOptions = {\n controller?: AbortController\n name?: string\n description?: string\n}\n\ntype QueueItem = {\n reject: <T>(reason?: T) => void\n resolve: <T>(value: T | PromiseLike<T>) => void\n job: QueueJob<unknown>\n} & Required<RunOptions>\n\ntype Events = {\n jobDone: [result: unknown]\n jobFailed: [error: Error]\n}\n\nexport class Queue {\n #queue: QueueItem[] = []\n readonly eventEmitter: EventEmitter<Events> = new EventEmitter()\n\n #workerCount = 0\n\n #maxParallel: number\n #debug = false\n\n constructor(maxParallel: number, debug = false) {\n this.#maxParallel = maxParallel\n this.#debug = debug\n }\n\n run<T>(job: QueueJob<T>, options: RunOptions = { controller: new AbortController(), name: crypto.randomUUID(), description: '' }): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n const item = { reject, resolve, job, name: options.name, description: options.description || options.name } as QueueItem\n\n options.controller?.signal.addEventListener('abort', () => {\n this.#queue = this.#queue.filter((queueItem) => queueItem.name === item.name)\n\n reject('Aborted')\n })\n\n this.#queue.push(item)\n this.#work()\n })\n }\n\n runSync<T>(job: QueueJob<T>, options: RunOptions = { controller: new AbortController(), name: crypto.randomUUID(), description: '' }): void {\n new Promise<T>((resolve, reject) => {\n const item = { reject, resolve, job, name: options.name, description: options.description || options.name } as QueueItem\n\n options.controller?.signal.addEventListener('abort', () => {\n this.#queue = this.#queue.filter((queueItem) => queueItem.name === item.name)\n })\n\n this.#queue.push(item)\n this.#work()\n })\n }\n\n get hasJobs(): boolean {\n return this.#workerCount > 0 || this.#queue.length > 0\n }\n\n get count(): number {\n return this.#workerCount\n }\n\n #work(): void {\n if (this.#workerCount >= this.#maxParallel) {\n return\n }\n\n this.#workerCount++\n\n let entry: QueueItem | undefined\n while ((entry = this.#queue.shift())) {\n const { reject, resolve, job, name, description } = entry\n\n if (this.#debug) {\n performance.mark(name + '_start')\n }\n\n job()\n .then((result) => {\n this.eventEmitter.emit('jobDone', result)\n\n resolve(result)\n\n if (this.#debug) {\n performance.mark(name + '_stop')\n performance.measure(description, name + '_start', name + '_stop')\n }\n })\n .catch((err) => {\n this.eventEmitter.emit('jobFailed', err as Error)\n reject(err)\n })\n }\n this.#workerCount--\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as []))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\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","export function getUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n originalName += used\n }\n data[originalName] = 1\n return originalName\n}\n\nexport function setUniqueName(originalName: string, data: Record<string, number>): string {\n let used = data[originalName] || 0\n if (used) {\n data[originalName] = ++used\n\n return originalName\n }\n data[originalName] = 1\n return originalName\n}\n","import transformers from '../transformers/index.ts'\n\nexport type URLObject = {\n url: string\n params?: Record<string, string>\n}\n\ntype ObjectOptions = {\n type?: 'path' | 'template'\n replacer?: (pathParam: string) => string\n stringify?: boolean\n}\n\nexport class URLPath {\n path: string\n\n constructor(path: string) {\n this.path = path\n\n return this\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n get URL(): string {\n return this.toURLPath()\n }\n get isURL(): boolean {\n try {\n const url = new URL(this.path)\n if (url?.href) {\n return true\n }\n } catch (error) {\n return false\n }\n return false\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n get template(): string {\n return this.toTemplateString()\n }\n get object(): URLObject | string {\n return this.toObject()\n }\n get params(): Record<string, string> | undefined {\n return this.getParams()\n }\n\n toObject({ type = 'path', replacer, stringify }: ObjectOptions = {}): URLObject | string {\n const object = {\n url: type === 'path' ? this.toURLPath() : this.toTemplateString(replacer),\n params: this.getParams(),\n }\n\n if (stringify) {\n if (type === 'template') {\n return JSON.stringify(object).replaceAll(\"'\", '').replaceAll(`\"`, '')\n }\n\n if (object.params) {\n return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll(\"'\", '').replaceAll(`\"`, '')} }`\n }\n\n return `{ url: '${object.url}' }`\n }\n\n return object\n }\n\n /**\n * Convert Swagger path to template literals/ template strings(camelcase)\n * @example /pet/{petId} => `/pet/${petId}`\n * @example /account/monetary-accountID => `/account/${monetaryAccountId}`\n * @example /account/userID => `/account/${userId}`\n */\n toTemplateString(replacer?: (pathParam: string) => string): string {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n let newPath = this.path.replaceAll('{', '${')\n\n if (found) {\n newPath = found.reduce((prev, curr) => {\n const pathParam = replacer\n ? replacer(transformers.camelCase(curr))\n : transformers.camelCase(curr)\n const replacement = `\\${${pathParam}}`\n\n return prev.replace(curr, replacement)\n }, this.path)\n }\n\n return `\\`${newPath}\\``\n }\n\n getParams(replacer?: (pathParam: string) => string): Record<string, string> | undefined {\n const regex = /{(\\w|-)*}/g\n const found = this.path.match(regex)\n\n if (!found) {\n return undefined\n }\n\n const params: Record<string, string> = {}\n found.forEach((item) => {\n item = item.replaceAll('{', '').replaceAll('}', '')\n\n const pathParam = replacer\n ? replacer(transformers.camelCase(item))\n : transformers.camelCase(item)\n\n params[pathParam] = pathParam\n }, this.path)\n\n return params\n }\n\n /**\n * Convert Swagger path to URLPath(syntax of Express)\n * @example /pet/{petId} => /pet/:petId\n */\n toURLPath(): string {\n return this.path.replaceAll('{', ':').replaceAll('}', '')\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/utils/index.ts","../src/utils/FunctionParams.ts","../src/utils/promise.ts","../src/utils/renderTemplate.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;ACAA;AAAA,SAAS,eAAe;AAiCjB,IAAM,iBAAN,MAAqB;AAAA,EAG1B,YAAY,MAA6B;AADzC,SAAO,QAA6B,CAAC;AAEnC,SAAK,OAAO;AAEZ,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,MAA4F;AAC9F,QAAI,CAAC,MAAM;AACT,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,WAAK,OAAO,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,MAAM,KAAK,EAAE,CAAC;AACxD,aAAO;AAAA,IACT;AACA,SAAK,MAAM,KAAK,IAAI;AAEpB,WAAO;AAAA,EACT;AAAA,EAEA,WAAmB;AACjB,UAAM,aAAa,QAAQ,KAAK,MAAM,OAAO,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY,IAAI,GAAG,CAAC,QAAQ,MAAM,CAAC;AAEvH,WAAO,WACJ,OAAO,CAAC,EAAE,UAAU,KAAK,MAAM,OAAO,EACtC,OAAO,CAAC,KAAK,EAAE,MAAM,MAAM,WAAW,MAAM,GAAG,KAAK,MAAM;AACzD,UAAI,CAAC,MAAM;AAET,YAAI,KAAK,GAAG,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAE7D,eAAO;AAAA,MACT;AAEA,YAAM,gBAAgB,KAAK,WAAW,GAAG,IAAI,OAAO,UAAU,IAAI;AAElE,UAAI,MAAM;AACR,YAAI,UAAU;AACZ,cAAI,KAAK,GAAG,aAAa,KAAK,IAAI,GAAG,KAAK,UAAU,MAAM,KAAK,OAAO,KAAK,EAAE,EAAE;AAAA,QACjF,OAAO;AACL,cAAI,KAAK,GAAG,aAAa,MAAM,IAAI,EAAE;AAAA,QACvC;AAAA,MACF,OAAO;AACL,YAAI,KAAK,GAAG,aAAa,EAAE;AAAA,MAC7B;AAEA,aAAO;AAAA,IACT,GAAG,CAAC,CAAa,EAChB,KAAK,IAAI;AAAA,EACd;AACF;;;ACrFA;AAEO,SAAS,UAAa,QAAkD;AAC7E,SAAO,CAAC,CAAC,UAAU,OAAQ,QAA6B,SAAS;AACnE;AAEO,SAAS,yBAAsC,QAA4E;AAChI,SAAO,OAAO,WAAW;AAC3B;AAEO,SAAS,wBAA2B,QAAwG;AACjJ,SAAO,OAAO,WAAW;AAC3B;;;ACZA;AAAO,SAAS,eAAgF,UAAkB,OAA0B,QAAmB;AAC7J,MAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,EAAE,QAAQ;AACtC,WAAO,SAAS,QAAQ,cAAc,EAAE;AAAA,EAC1C;AAEA,QAAM,UAAU,SAAS,MAAM,YAAY;AAE3C,SACE,SAAS,OAAO,CAAC,MAAM,SAAS;AAC9B,UAAM,QAAQ,KAAK,MAAM,OAAO,EAAE,OAAO,OAAO,EAAE,CAAC,GAAG,KAAK;AAC3D,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AACA,UAAM,QAAQ,KAAK,KAAK;AAExB,QAAI,UAAU,QAAW;AACvB,aAAO;AAAA,IACT;AAEA,WAAO,KACJ,QAAQ,MAAM,MAAM;AACnB,UAAI,OAAO,UAAU,WAAW;AAC9B,eAAO,GAAG,MAAM,SAAS,CAAC,MAAM;AAAA,MAClC;AAEA,aAAQ,SAAoB;AAAA,IAC9B,CAAC,EACA,KAAK;AAAA,EACV,GAAG,QAAQ,KAAK;AAEpB","sourcesContent":["export type { FunctionParamsAST } from './FunctionParams.ts'\nexport { FunctionParams } from './FunctionParams.ts'\nexport { isPromise, isPromiseFulfilledResult, isPromiseRejectedResult } from './promise.ts'\nexport type { QueueJob } from './Queue.ts'\nexport { Queue } from './Queue.ts'\nexport { renderTemplate } from './renderTemplate.ts'\nexport { timeout } from './timeout.ts'\nexport { getUniqueName, setUniqueName } from './uniqueName.ts'\nexport type { URLObject } from './URLPath.ts'\nexport { URLPath } from './URLPath.ts'\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\nexport type FunctionParamsAST = FunctionParamsASTWithoutType | FunctionParamsASTWithType\nexport class FunctionParams {\n public type?: 'generics' | 'typed'\n public items: FunctionParamsAST[] = []\n constructor(type?: 'generics' | 'typed') {\n this.type = type\n\n return this\n }\n\n add(item: FunctionParamsAST | Array<FunctionParamsAST | undefined> | undefined): FunctionParams {\n if (!item) {\n return this\n }\n\n if (Array.isArray(item)) {\n item.filter(Boolean).forEach((it) => this.items.push(it))\n return this\n }\n this.items.push(item)\n\n return this\n }\n\n toString(): string {\n const sortedData = orderBy(this.items.filter(Boolean), [(v) => !v.default, (v) => v.required ?? true], ['desc', 'desc'])\n\n return sortedData\n .filter(({ enabled = true }) => enabled)\n .reduce((acc, { name, type, required = true, ...rest }) => {\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 }, [] as string[])\n .join(', ')\n }\n}\n","import type { PossiblePromise } from '@kubb/types'\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"]}
|
package/dist/utils.js
CHANGED
|
@@ -1,316 +1,16 @@
|
|
|
1
1
|
import { createRequire } from 'module';
|
|
2
|
+
export { Queue, URLPath, getUniqueName, setUniqueName, timeout } from './chunk-56YH3VX6.js';
|
|
3
|
+
import { camelCase } from './chunk-SX2AYX5F.js';
|
|
4
|
+
import { init_esm_shims } from './chunk-6N4JBFFS.js';
|
|
2
5
|
import { orderBy } from 'natural-orderby';
|
|
3
|
-
import crypto from 'crypto';
|
|
4
|
-
import { performance } from 'perf_hooks';
|
|
5
|
-
import { EventEmitter as EventEmitter$1 } from 'events';
|
|
6
6
|
|
|
7
7
|
createRequire(import.meta.url);
|
|
8
|
-
|
|
9
|
-
var __accessCheck = (obj, member, msg) => {
|
|
10
|
-
if (!member.has(obj))
|
|
11
|
-
throw TypeError("Cannot " + msg);
|
|
12
|
-
};
|
|
13
|
-
var __privateGet = (obj, member, getter) => {
|
|
14
|
-
__accessCheck(obj, member, "read from private field");
|
|
15
|
-
return getter ? getter.call(obj) : member.get(obj);
|
|
16
|
-
};
|
|
17
|
-
var __privateAdd = (obj, member, value) => {
|
|
18
|
-
if (member.has(obj))
|
|
19
|
-
throw TypeError("Cannot add the same private member more than once");
|
|
20
|
-
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
21
|
-
};
|
|
22
|
-
var __privateSet = (obj, member, value, setter) => {
|
|
23
|
-
__accessCheck(obj, member, "write to private field");
|
|
24
|
-
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
25
|
-
return value;
|
|
26
|
-
};
|
|
27
|
-
var __privateWrapper = (obj, member, setter, getter) => ({
|
|
28
|
-
set _(value) {
|
|
29
|
-
__privateSet(obj, member, value, setter);
|
|
30
|
-
},
|
|
31
|
-
get _() {
|
|
32
|
-
return __privateGet(obj, member, getter);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
var __privateMethod = (obj, member, method) => {
|
|
36
|
-
__accessCheck(obj, member, "access private method");
|
|
37
|
-
return method;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
// ../../node_modules/.pnpm/change-case@5.2.0/node_modules/change-case/dist/index.js
|
|
41
|
-
var SPLIT_LOWER_UPPER_RE = /([\p{Ll}\d])(\p{Lu})/gu;
|
|
42
|
-
var SPLIT_UPPER_UPPER_RE = /(\p{Lu})([\p{Lu}][\p{Ll}])/gu;
|
|
43
|
-
var SPLIT_NUMBER_LOWER_RE = /(\d)(\p{Ll})/gu;
|
|
44
|
-
var SPLIT_LETTER_NUMBER_RE = /(\p{L})(\d)/gu;
|
|
45
|
-
var DEFAULT_STRIP_REGEXP = /[^\p{L}\d]+/giu;
|
|
46
|
-
var SPLIT_REPLACE_VALUE = "$1\0$2";
|
|
47
|
-
var DEFAULT_PREFIX_CHARACTERS = "";
|
|
48
|
-
function split(input, options) {
|
|
49
|
-
let result = input.trim();
|
|
50
|
-
result = result.replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE).replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);
|
|
51
|
-
if (options?.separateNumbers) {
|
|
52
|
-
result = result.replace(SPLIT_NUMBER_LOWER_RE, SPLIT_REPLACE_VALUE).replace(SPLIT_LETTER_NUMBER_RE, SPLIT_REPLACE_VALUE);
|
|
53
|
-
}
|
|
54
|
-
result = result.replace(DEFAULT_STRIP_REGEXP, "\0");
|
|
55
|
-
let start = 0;
|
|
56
|
-
let end = result.length;
|
|
57
|
-
while (result.charAt(start) === "\0")
|
|
58
|
-
start++;
|
|
59
|
-
if (start === end)
|
|
60
|
-
return [];
|
|
61
|
-
while (result.charAt(end - 1) === "\0")
|
|
62
|
-
end--;
|
|
63
|
-
return result.slice(start, end).split(/\0/g);
|
|
64
|
-
}
|
|
65
|
-
function camelCase(input, options) {
|
|
66
|
-
const prefix = getPrefix(input, options?.prefixCharacters);
|
|
67
|
-
const lower = lowerFactory(options?.locale);
|
|
68
|
-
const upper = upperFactory(options?.locale);
|
|
69
|
-
const transform = options?.mergeAmbiguousCharacters ? capitalCaseTransformFactory(lower, upper) : pascalCaseTransformFactory(lower, upper);
|
|
70
|
-
return prefix + split(input, options).map((word, index) => {
|
|
71
|
-
if (index === 0)
|
|
72
|
-
return lower(word);
|
|
73
|
-
return transform(word, index);
|
|
74
|
-
}).join(options?.delimiter ?? "");
|
|
75
|
-
}
|
|
76
|
-
function pascalCase(input, options) {
|
|
77
|
-
const prefix = getPrefix(input, options?.prefixCharacters);
|
|
78
|
-
const lower = lowerFactory(options?.locale);
|
|
79
|
-
const upper = upperFactory(options?.locale);
|
|
80
|
-
const transform = options?.mergeAmbiguousCharacters ? capitalCaseTransformFactory(lower, upper) : pascalCaseTransformFactory(lower, upper);
|
|
81
|
-
return prefix + split(input, options).map(transform).join(options?.delimiter ?? "");
|
|
82
|
-
}
|
|
83
|
-
function lowerFactory(locale) {
|
|
84
|
-
return locale === false ? (input) => input.toLowerCase() : (input) => input.toLocaleLowerCase(locale);
|
|
85
|
-
}
|
|
86
|
-
function upperFactory(locale) {
|
|
87
|
-
return locale === false ? (input) => input.toUpperCase() : (input) => input.toLocaleUpperCase(locale);
|
|
88
|
-
}
|
|
89
|
-
function capitalCaseTransformFactory(lower, upper) {
|
|
90
|
-
return (word) => `${upper(word[0])}${lower(word.slice(1))}`;
|
|
91
|
-
}
|
|
92
|
-
function pascalCaseTransformFactory(lower, upper) {
|
|
93
|
-
return (word, index) => {
|
|
94
|
-
const char0 = word[0];
|
|
95
|
-
const initial = index > 0 && char0 >= "0" && char0 <= "9" ? "_" + char0 : upper(char0);
|
|
96
|
-
return initial + lower(word.slice(1));
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
function getPrefix(input, prefixCharacters = DEFAULT_PREFIX_CHARACTERS) {
|
|
100
|
-
let prefix = "";
|
|
101
|
-
for (let i = 0; i < input.length; i++) {
|
|
102
|
-
const char = input.charAt(i);
|
|
103
|
-
if (prefixCharacters.includes(char)) {
|
|
104
|
-
prefix += char;
|
|
105
|
-
} else {
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return prefix;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// src/transformers/casing.ts
|
|
113
|
-
function camelCase2(text) {
|
|
114
|
-
return camelCase(text, { delimiter: "", mergeAmbiguousCharacters: true });
|
|
115
|
-
}
|
|
116
|
-
function pascalCase2(text) {
|
|
117
|
-
return pascalCase(text, { delimiter: "", mergeAmbiguousCharacters: true });
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// src/transformers/combineCodes.ts
|
|
121
|
-
function combineCodes(codes) {
|
|
122
|
-
return codes.join("\n");
|
|
123
|
-
}
|
|
124
8
|
|
|
125
|
-
// src/
|
|
126
|
-
|
|
127
|
-
const filteredComments = comments.filter(Boolean);
|
|
128
|
-
if (!filteredComments.length) {
|
|
129
|
-
return "";
|
|
130
|
-
}
|
|
131
|
-
return `/**
|
|
132
|
-
* ${filteredComments.join("\n * ")}
|
|
133
|
-
*/`;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// src/transformers/escape.ts
|
|
137
|
-
function escape(text) {
|
|
138
|
-
return text ? text.replaceAll("`", "\\`") : "";
|
|
139
|
-
}
|
|
140
|
-
function jsStringEscape(input) {
|
|
141
|
-
return `${input}`.replace(/["'\\\n\r\u2028\u2029]/g, (character) => {
|
|
142
|
-
switch (character) {
|
|
143
|
-
case '"':
|
|
144
|
-
case "'":
|
|
145
|
-
case "\\":
|
|
146
|
-
return "\\" + character;
|
|
147
|
-
case "\n":
|
|
148
|
-
return "\\n";
|
|
149
|
-
case "\r":
|
|
150
|
-
return "\\r";
|
|
151
|
-
case "\u2028":
|
|
152
|
-
return "\\u2028";
|
|
153
|
-
case "\u2029":
|
|
154
|
-
return "\\u2029";
|
|
155
|
-
default:
|
|
156
|
-
return "";
|
|
157
|
-
}
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// src/transformers/indent.ts
|
|
162
|
-
function createIndent(size) {
|
|
163
|
-
return Array.from({ length: size + 1 }).join(" ");
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// src/transformers/nameSorter.ts
|
|
167
|
-
function nameSorter(a, b) {
|
|
168
|
-
if (a.name < b.name) {
|
|
169
|
-
return -1;
|
|
170
|
-
}
|
|
171
|
-
if (a.name > b.name) {
|
|
172
|
-
return 1;
|
|
173
|
-
}
|
|
174
|
-
return 0;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
// src/transformers/searchAndReplace.ts
|
|
178
|
-
function searchAndReplace(options) {
|
|
179
|
-
const { text, replaceBy, prefix = "", key } = options;
|
|
180
|
-
const searchValues = options.searchValues?.(prefix, key) || [
|
|
181
|
-
`${prefix}["${key}"]`,
|
|
182
|
-
`${prefix}['${key}']`,
|
|
183
|
-
`${prefix}[\`${key}\`]`,
|
|
184
|
-
`${prefix}"${key}"`,
|
|
185
|
-
`${prefix}'${key}'`,
|
|
186
|
-
`${prefix}\`${key}\``,
|
|
187
|
-
new RegExp(`${prefix}${key}`, "g")
|
|
188
|
-
];
|
|
189
|
-
return searchValues.reduce((prev, searchValue) => {
|
|
190
|
-
return prev.toString().replaceAll(searchValue, replaceBy);
|
|
191
|
-
}, text);
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
// src/transformers/transformReservedWord.ts
|
|
195
|
-
var reservedWords = [
|
|
196
|
-
"abstract",
|
|
197
|
-
"arguments",
|
|
198
|
-
"boolean",
|
|
199
|
-
"break",
|
|
200
|
-
"byte",
|
|
201
|
-
"case",
|
|
202
|
-
"catch",
|
|
203
|
-
"char",
|
|
204
|
-
"class",
|
|
205
|
-
"const",
|
|
206
|
-
"continue",
|
|
207
|
-
"debugger",
|
|
208
|
-
"default",
|
|
209
|
-
"delete",
|
|
210
|
-
"do",
|
|
211
|
-
"double",
|
|
212
|
-
"else",
|
|
213
|
-
"enum",
|
|
214
|
-
"eval",
|
|
215
|
-
"export",
|
|
216
|
-
"extends",
|
|
217
|
-
"false",
|
|
218
|
-
"final",
|
|
219
|
-
"finally",
|
|
220
|
-
"float",
|
|
221
|
-
"for",
|
|
222
|
-
"function",
|
|
223
|
-
"goto",
|
|
224
|
-
"if",
|
|
225
|
-
"implements",
|
|
226
|
-
"import",
|
|
227
|
-
"in",
|
|
228
|
-
"instanceof",
|
|
229
|
-
"int",
|
|
230
|
-
"interface",
|
|
231
|
-
"let",
|
|
232
|
-
"long",
|
|
233
|
-
"native",
|
|
234
|
-
"new",
|
|
235
|
-
"null",
|
|
236
|
-
"package",
|
|
237
|
-
"private",
|
|
238
|
-
"protected",
|
|
239
|
-
"public",
|
|
240
|
-
"return",
|
|
241
|
-
"short",
|
|
242
|
-
"static",
|
|
243
|
-
"super",
|
|
244
|
-
"switch",
|
|
245
|
-
"synchronized",
|
|
246
|
-
"this",
|
|
247
|
-
"throw",
|
|
248
|
-
"throws",
|
|
249
|
-
"transient",
|
|
250
|
-
"true",
|
|
251
|
-
"try",
|
|
252
|
-
"typeof",
|
|
253
|
-
"var",
|
|
254
|
-
"void",
|
|
255
|
-
"volatile",
|
|
256
|
-
"while",
|
|
257
|
-
"with",
|
|
258
|
-
"yield",
|
|
259
|
-
"Array",
|
|
260
|
-
"Date",
|
|
261
|
-
"eval",
|
|
262
|
-
"function",
|
|
263
|
-
"hasOwnProperty",
|
|
264
|
-
"Infinity",
|
|
265
|
-
"isFinite",
|
|
266
|
-
"isNaN",
|
|
267
|
-
"isPrototypeOf",
|
|
268
|
-
"length",
|
|
269
|
-
"Math",
|
|
270
|
-
"name",
|
|
271
|
-
"NaN",
|
|
272
|
-
"Number",
|
|
273
|
-
"Object",
|
|
274
|
-
"prototype",
|
|
275
|
-
"String",
|
|
276
|
-
"toString",
|
|
277
|
-
"undefined",
|
|
278
|
-
"valueOf"
|
|
279
|
-
];
|
|
280
|
-
function transformReservedWord(word) {
|
|
281
|
-
if (word && reservedWords.includes(word) || word?.match(/^\d/)) {
|
|
282
|
-
return `_${word}`;
|
|
283
|
-
}
|
|
284
|
-
return word;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
// src/transformers/trim.ts
|
|
288
|
-
function trim(text) {
|
|
289
|
-
return text.replaceAll(/\n/g, "").trim();
|
|
290
|
-
}
|
|
291
|
-
function trimExtName(text) {
|
|
292
|
-
return text.replace(/\.[^/.]+$/, "");
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
// src/transformers/index.ts
|
|
296
|
-
var transformers_default = {
|
|
297
|
-
combineCodes,
|
|
298
|
-
escape,
|
|
299
|
-
jsStringEscape,
|
|
300
|
-
createIndent,
|
|
301
|
-
transformReservedWord,
|
|
302
|
-
nameSorter,
|
|
303
|
-
searchAndReplace,
|
|
304
|
-
trim,
|
|
305
|
-
trimExtName,
|
|
306
|
-
JSDoc: {
|
|
307
|
-
createJSDocBlockText
|
|
308
|
-
},
|
|
309
|
-
camelCase: camelCase2,
|
|
310
|
-
pascalCase: pascalCase2
|
|
311
|
-
};
|
|
9
|
+
// src/utils/index.ts
|
|
10
|
+
init_esm_shims();
|
|
312
11
|
|
|
313
12
|
// src/utils/FunctionParams.ts
|
|
13
|
+
init_esm_shims();
|
|
314
14
|
var FunctionParams = class {
|
|
315
15
|
constructor(type) {
|
|
316
16
|
this.items = [];
|
|
@@ -335,7 +35,7 @@ var FunctionParams = class {
|
|
|
335
35
|
acc.push(`${type}${rest.default ? ` = ${rest.default}` : ""}`);
|
|
336
36
|
return acc;
|
|
337
37
|
}
|
|
338
|
-
const parameterName = name.startsWith("{") ? name :
|
|
38
|
+
const parameterName = name.startsWith("{") ? name : camelCase(name);
|
|
339
39
|
if (type) {
|
|
340
40
|
if (required) {
|
|
341
41
|
acc.push(`${parameterName}: ${type}${rest.default ? ` = ${rest.default}` : ""}`);
|
|
@@ -351,6 +51,7 @@ var FunctionParams = class {
|
|
|
351
51
|
};
|
|
352
52
|
|
|
353
53
|
// src/utils/promise.ts
|
|
54
|
+
init_esm_shims();
|
|
354
55
|
function isPromise(result) {
|
|
355
56
|
return !!result && typeof result?.then === "function";
|
|
356
57
|
}
|
|
@@ -360,100 +61,9 @@ function isPromiseFulfilledResult(result) {
|
|
|
360
61
|
function isPromiseRejectedResult(result) {
|
|
361
62
|
return result.status === "rejected";
|
|
362
63
|
}
|
|
363
|
-
var _emitter;
|
|
364
|
-
var EventEmitter = class {
|
|
365
|
-
constructor() {
|
|
366
|
-
__privateAdd(this, _emitter, new EventEmitter$1());
|
|
367
|
-
__privateGet(this, _emitter).setMaxListeners(100);
|
|
368
|
-
}
|
|
369
|
-
emit(eventName, ...eventArg) {
|
|
370
|
-
__privateGet(this, _emitter).emit(eventName, ...eventArg);
|
|
371
|
-
}
|
|
372
|
-
on(eventName, handler) {
|
|
373
|
-
__privateGet(this, _emitter).on(eventName, handler);
|
|
374
|
-
}
|
|
375
|
-
off(eventName, handler) {
|
|
376
|
-
__privateGet(this, _emitter).off(eventName, handler);
|
|
377
|
-
}
|
|
378
|
-
removeAll() {
|
|
379
|
-
__privateGet(this, _emitter).removeAllListeners();
|
|
380
|
-
}
|
|
381
|
-
};
|
|
382
|
-
_emitter = new WeakMap();
|
|
383
|
-
|
|
384
|
-
// src/utils/Queue.ts
|
|
385
|
-
var _queue, _workerCount, _maxParallel, _debug, _work, work_fn;
|
|
386
|
-
var Queue = class {
|
|
387
|
-
constructor(maxParallel, debug = false) {
|
|
388
|
-
__privateAdd(this, _work);
|
|
389
|
-
__privateAdd(this, _queue, []);
|
|
390
|
-
this.eventEmitter = new EventEmitter();
|
|
391
|
-
__privateAdd(this, _workerCount, 0);
|
|
392
|
-
__privateAdd(this, _maxParallel, void 0);
|
|
393
|
-
__privateAdd(this, _debug, false);
|
|
394
|
-
__privateSet(this, _maxParallel, maxParallel);
|
|
395
|
-
__privateSet(this, _debug, debug);
|
|
396
|
-
}
|
|
397
|
-
run(job, options = { controller: new AbortController(), name: crypto.randomUUID(), description: "" }) {
|
|
398
|
-
return new Promise((resolve, reject) => {
|
|
399
|
-
const item = { reject, resolve, job, name: options.name, description: options.description || options.name };
|
|
400
|
-
options.controller?.signal.addEventListener("abort", () => {
|
|
401
|
-
__privateSet(this, _queue, __privateGet(this, _queue).filter((queueItem) => queueItem.name === item.name));
|
|
402
|
-
reject("Aborted");
|
|
403
|
-
});
|
|
404
|
-
__privateGet(this, _queue).push(item);
|
|
405
|
-
__privateMethod(this, _work, work_fn).call(this);
|
|
406
|
-
});
|
|
407
|
-
}
|
|
408
|
-
runSync(job, options = { controller: new AbortController(), name: crypto.randomUUID(), description: "" }) {
|
|
409
|
-
new Promise((resolve, reject) => {
|
|
410
|
-
const item = { reject, resolve, job, name: options.name, description: options.description || options.name };
|
|
411
|
-
options.controller?.signal.addEventListener("abort", () => {
|
|
412
|
-
__privateSet(this, _queue, __privateGet(this, _queue).filter((queueItem) => queueItem.name === item.name));
|
|
413
|
-
});
|
|
414
|
-
__privateGet(this, _queue).push(item);
|
|
415
|
-
__privateMethod(this, _work, work_fn).call(this);
|
|
416
|
-
});
|
|
417
|
-
}
|
|
418
|
-
get hasJobs() {
|
|
419
|
-
return __privateGet(this, _workerCount) > 0 || __privateGet(this, _queue).length > 0;
|
|
420
|
-
}
|
|
421
|
-
get count() {
|
|
422
|
-
return __privateGet(this, _workerCount);
|
|
423
|
-
}
|
|
424
|
-
};
|
|
425
|
-
_queue = new WeakMap();
|
|
426
|
-
_workerCount = new WeakMap();
|
|
427
|
-
_maxParallel = new WeakMap();
|
|
428
|
-
_debug = new WeakMap();
|
|
429
|
-
_work = new WeakSet();
|
|
430
|
-
work_fn = function() {
|
|
431
|
-
if (__privateGet(this, _workerCount) >= __privateGet(this, _maxParallel)) {
|
|
432
|
-
return;
|
|
433
|
-
}
|
|
434
|
-
__privateWrapper(this, _workerCount)._++;
|
|
435
|
-
let entry;
|
|
436
|
-
while (entry = __privateGet(this, _queue).shift()) {
|
|
437
|
-
const { reject, resolve, job, name, description } = entry;
|
|
438
|
-
if (__privateGet(this, _debug)) {
|
|
439
|
-
performance.mark(name + "_start");
|
|
440
|
-
}
|
|
441
|
-
job().then((result) => {
|
|
442
|
-
this.eventEmitter.emit("jobDone", result);
|
|
443
|
-
resolve(result);
|
|
444
|
-
if (__privateGet(this, _debug)) {
|
|
445
|
-
performance.mark(name + "_stop");
|
|
446
|
-
performance.measure(description, name + "_start", name + "_stop");
|
|
447
|
-
}
|
|
448
|
-
}).catch((err) => {
|
|
449
|
-
this.eventEmitter.emit("jobFailed", err);
|
|
450
|
-
reject(err);
|
|
451
|
-
});
|
|
452
|
-
}
|
|
453
|
-
__privateWrapper(this, _workerCount)._--;
|
|
454
|
-
};
|
|
455
64
|
|
|
456
65
|
// src/utils/renderTemplate.ts
|
|
66
|
+
init_esm_shims();
|
|
457
67
|
function renderTemplate(template, data = void 0) {
|
|
458
68
|
if (!data || !Object.keys(data).length) {
|
|
459
69
|
return template.replace(/{{(.*?)}}/g, "");
|
|
@@ -477,132 +87,6 @@ function renderTemplate(template, data = void 0) {
|
|
|
477
87
|
}, template) || "";
|
|
478
88
|
}
|
|
479
89
|
|
|
480
|
-
|
|
481
|
-
async function timeout(ms) {
|
|
482
|
-
return new Promise((resolve) => {
|
|
483
|
-
setTimeout(() => {
|
|
484
|
-
resolve(true);
|
|
485
|
-
}, ms);
|
|
486
|
-
});
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
// src/utils/uniqueName.ts
|
|
490
|
-
function getUniqueName(originalName, data) {
|
|
491
|
-
let used = data[originalName] || 0;
|
|
492
|
-
if (used) {
|
|
493
|
-
data[originalName] = ++used;
|
|
494
|
-
originalName += used;
|
|
495
|
-
}
|
|
496
|
-
data[originalName] = 1;
|
|
497
|
-
return originalName;
|
|
498
|
-
}
|
|
499
|
-
function setUniqueName(originalName, data) {
|
|
500
|
-
let used = data[originalName] || 0;
|
|
501
|
-
if (used) {
|
|
502
|
-
data[originalName] = ++used;
|
|
503
|
-
return originalName;
|
|
504
|
-
}
|
|
505
|
-
data[originalName] = 1;
|
|
506
|
-
return originalName;
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
// src/utils/URLPath.ts
|
|
510
|
-
var URLPath = class {
|
|
511
|
-
constructor(path) {
|
|
512
|
-
this.path = path;
|
|
513
|
-
return this;
|
|
514
|
-
}
|
|
515
|
-
/**
|
|
516
|
-
* Convert Swagger path to URLPath(syntax of Express)
|
|
517
|
-
* @example /pet/{petId} => /pet/:petId
|
|
518
|
-
*/
|
|
519
|
-
get URL() {
|
|
520
|
-
return this.toURLPath();
|
|
521
|
-
}
|
|
522
|
-
get isURL() {
|
|
523
|
-
try {
|
|
524
|
-
const url = new URL(this.path);
|
|
525
|
-
if (url?.href) {
|
|
526
|
-
return true;
|
|
527
|
-
}
|
|
528
|
-
} catch (error) {
|
|
529
|
-
return false;
|
|
530
|
-
}
|
|
531
|
-
return false;
|
|
532
|
-
}
|
|
533
|
-
/**
|
|
534
|
-
* Convert Swagger path to template literals/ template strings(camelcase)
|
|
535
|
-
* @example /pet/{petId} => `/pet/${petId}`
|
|
536
|
-
* @example /account/monetary-accountID => `/account/${monetaryAccountId}`
|
|
537
|
-
* @example /account/userID => `/account/${userId}`
|
|
538
|
-
*/
|
|
539
|
-
get template() {
|
|
540
|
-
return this.toTemplateString();
|
|
541
|
-
}
|
|
542
|
-
get object() {
|
|
543
|
-
return this.toObject();
|
|
544
|
-
}
|
|
545
|
-
get params() {
|
|
546
|
-
return this.getParams();
|
|
547
|
-
}
|
|
548
|
-
toObject({ type = "path", replacer, stringify } = {}) {
|
|
549
|
-
const object = {
|
|
550
|
-
url: type === "path" ? this.toURLPath() : this.toTemplateString(replacer),
|
|
551
|
-
params: this.getParams()
|
|
552
|
-
};
|
|
553
|
-
if (stringify) {
|
|
554
|
-
if (type === "template") {
|
|
555
|
-
return JSON.stringify(object).replaceAll("'", "").replaceAll(`"`, "");
|
|
556
|
-
}
|
|
557
|
-
if (object.params) {
|
|
558
|
-
return `{ url: '${object.url}', params: ${JSON.stringify(object.params).replaceAll("'", "").replaceAll(`"`, "")} }`;
|
|
559
|
-
}
|
|
560
|
-
return `{ url: '${object.url}' }`;
|
|
561
|
-
}
|
|
562
|
-
return object;
|
|
563
|
-
}
|
|
564
|
-
/**
|
|
565
|
-
* Convert Swagger path to template literals/ template strings(camelcase)
|
|
566
|
-
* @example /pet/{petId} => `/pet/${petId}`
|
|
567
|
-
* @example /account/monetary-accountID => `/account/${monetaryAccountId}`
|
|
568
|
-
* @example /account/userID => `/account/${userId}`
|
|
569
|
-
*/
|
|
570
|
-
toTemplateString(replacer) {
|
|
571
|
-
const regex = /{(\w|-)*}/g;
|
|
572
|
-
const found = this.path.match(regex);
|
|
573
|
-
let newPath = this.path.replaceAll("{", "${");
|
|
574
|
-
if (found) {
|
|
575
|
-
newPath = found.reduce((prev, curr) => {
|
|
576
|
-
const pathParam = replacer ? replacer(transformers_default.camelCase(curr)) : transformers_default.camelCase(curr);
|
|
577
|
-
const replacement = `\${${pathParam}}`;
|
|
578
|
-
return prev.replace(curr, replacement);
|
|
579
|
-
}, this.path);
|
|
580
|
-
}
|
|
581
|
-
return `\`${newPath}\``;
|
|
582
|
-
}
|
|
583
|
-
getParams(replacer) {
|
|
584
|
-
const regex = /{(\w|-)*}/g;
|
|
585
|
-
const found = this.path.match(regex);
|
|
586
|
-
if (!found) {
|
|
587
|
-
return void 0;
|
|
588
|
-
}
|
|
589
|
-
const params = {};
|
|
590
|
-
found.forEach((item) => {
|
|
591
|
-
item = item.replaceAll("{", "").replaceAll("}", "");
|
|
592
|
-
const pathParam = replacer ? replacer(transformers_default.camelCase(item)) : transformers_default.camelCase(item);
|
|
593
|
-
params[pathParam] = pathParam;
|
|
594
|
-
}, this.path);
|
|
595
|
-
return params;
|
|
596
|
-
}
|
|
597
|
-
/**
|
|
598
|
-
* Convert Swagger path to URLPath(syntax of Express)
|
|
599
|
-
* @example /pet/{petId} => /pet/:petId
|
|
600
|
-
*/
|
|
601
|
-
toURLPath() {
|
|
602
|
-
return this.path.replaceAll("{", ":").replaceAll("}", "");
|
|
603
|
-
}
|
|
604
|
-
};
|
|
605
|
-
|
|
606
|
-
export { FunctionParams, Queue, URLPath, getUniqueName, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate, setUniqueName, timeout };
|
|
90
|
+
export { FunctionParams, isPromise, isPromiseFulfilledResult, isPromiseRejectedResult, renderTemplate };
|
|
607
91
|
//# sourceMappingURL=out.js.map
|
|
608
92
|
//# sourceMappingURL=utils.js.map
|