UNPKG

@samchon/openapi

Version:

OpenAPI definitions and converters for 'typia' and 'nestia'.

1 lines 3.6 kB
{"version":3,"file":"EndpointUtil.mjs","sources":["../../src/utils/EndpointUtil.ts"],"sourcesContent":["import { NamingConvention } from \"./NamingConvention\";\n\nexport namespace EndpointUtil {\n export const capitalize = (str: string): string =>\n str.length !== 0 ? str[0].toUpperCase() + str.slice(1).toLowerCase() : str;\n\n export const pascal = (path: string): string =>\n splitWithNormalization(path)\n .filter((str) => str[0] !== \"{\")\n .map(NamingConvention.pascal)\n .join(\"\");\n\n export const splitWithNormalization = (path: string): string[] =>\n path\n .split(\"/\")\n .map((str) => normalize(str.trim()))\n .filter((str) => !!str.length);\n\n export const reJoinWithDecimalParameters = (path: string) => {\n path = path\n .split(\"/\")\n .map((str) =>\n str[0] === \"{\" && str[str.length - 1] === \"}\"\n ? `:${str.substring(1, str.length - 1)}`\n : str,\n )\n .join(\"/\");\n return `${path.startsWith(\"/\") ? \"\" : \"/\"}${path}`;\n };\n\n export const normalize = (str: string): string => {\n str = str.split(\".\").join(\"_\").split(\"-\").join(\"_\").trim();\n if (RESERVED.has(str)) return `_${str}`;\n else if (str.length !== 0 && \"0\" <= str[0] && str[0] <= \"9\")\n str = `_${str}`;\n return str;\n };\n\n export const escapeDuplicate =\n (keep: string[]) =>\n (change: string): string =>\n keep.includes(change) ? escapeDuplicate(keep)(`_${change}`) : change;\n}\n\nconst RESERVED: Set<string> = new Set([\n \"break\",\n \"case\",\n \"catch\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"else\",\n \"enum\",\n \"export\",\n \"extends\",\n \"false\",\n \"finally\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"module\",\n \"new\",\n \"null\",\n \"package\",\n \"public\",\n \"private\",\n \"protected\",\n \"return\",\n \"super\",\n \"switch\",\n \"this\",\n \"throw\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"while\",\n \"with\",\n]);\n"],"names":["EndpointUtil","capitalize","str","length","toUpperCase","slice","toLowerCase","pascal","path","splitWithNormalization","filter","map","NamingConvention","join","split","normalize","trim","reJoinWithDecimalParameters","substring","startsWith","RESERVED","has","escapeDuplicate","keep","change","includes","Set"],"mappings":";;AAEM,IAAWA;;CAAjB,SAAiBA;IACFA,aAAAC,aAAcC,OACzBA,IAAIC,WAAW,IAAID,IAAI,GAAGE,gBAAgBF,IAAIG,MAAM,GAAGC,gBAAgBJ;IAE5DF,aAAMO,SAAIC,QACrBR,aAAAS,uBAAuBD,MACpBE,QAAQR,OAAQA,IAAI,OAAO,MAC3BS,IAAIC,iBAAiBL,QACrBM,KAAK;IAEGb,aAAAS,yBAA0BD,QACrCA,KACGM,MAAM,KACNH,KAAKT,OAAQF,aAAAe,UAAUb,IAAIc,UAC3BN,QAAQR,SAAUA,IAAIC;IAEdH,aAAAiB,8BAA+BT;QAC1CA,OAAOA,KACJM,MAAM,KACNH,KAAKT,OACJA,IAAI,OAAO,OAAOA,IAAIA,IAAIC,SAAS,OAAO,MACtC,IAAID,IAAIgB,UAAU,GAAGhB,IAAIC,SAAS,OAClCD,MAELW,KAAK;QACR,OAAO,GAAGL,KAAKW,WAAW,OAAO,KAAK,MAAMX;AAAM;IAGvCR,aAAAe,YAAab;QACxBA,MAAMA,IAAIY,MAAM,KAAKD,KAAK,KAAKC,MAAM,KAAKD,KAAK,KAAKG;QACpD,IAAII,SAASC,IAAInB,MAAM,OAAO,IAAIA,YAC7B,IAAIA,IAAIC,WAAW,KAAK,OAAOD,IAAI,MAAMA,IAAI,MAAM,KACtDA,MAAM,IAAIA;QACZ,OAAOA;AAAG;IAGCF,aAAAsB,kBACVC,QACAC,UACCD,KAAKE,SAASD,UAAUxB,aAAAsB,gBAAgBC,KAAhBvB,CAAsB,IAAIwB,YAAYA;AACnE,EAxCD,CAAiBxB,iBAAAA,eAwChB,CAAA;;AAED,MAAMoB,WAAwB,IAAIM,IAAI,EACpC,SACA,QACA,SACA,SACA,SACA,YACA,YACA,WACA,UACA,MACA,QACA,QACA,UACA,WACA,SACA,WACA,OACA,YACA,MACA,UACA,MACA,cACA,UACA,OACA,QACA,WACA,UACA,WACA,aACA,UACA,SACA,UACA,QACA,SACA,QACA,OACA,UACA,OACA,QACA,SACA;;"}