@tsed/schema 6.114.1 → 6.114.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.
@@ -14,22 +14,36 @@ function getVariable(subpath) {
14
14
  postfix: splited.length ? `.${splited.join(".")}` : ""
15
15
  };
16
16
  }
17
+ function parseUrl(key) {
18
+ let inCapture = 0;
19
+ return key
20
+ .split("")
21
+ .filter((c) => {
22
+ if (c === "(") {
23
+ inCapture++;
24
+ }
25
+ const result = inCapture === 0;
26
+ if (c === ")") {
27
+ inCapture--;
28
+ }
29
+ return result;
30
+ })
31
+ .join("")
32
+ .split("/")
33
+ .filter((o) => !!o);
34
+ }
17
35
  /**
18
36
  * @ignore
19
37
  */
20
38
  function getJsonPathParameters(base, path = "") {
21
39
  if (path instanceof RegExp) {
22
- path = path.toString().replace(/^\//, "").replace(/\/$/, "").replace(/\\/, "");
40
+ path = path.toString().replace(/^\//g, "").replace(/\/$/g, "").replace(/\\/g, "");
23
41
  }
24
42
  const params = [];
25
43
  const paths = [];
26
44
  let isOptional = false;
27
45
  let current = "";
28
- `${base}${path}`
29
- .replace(/\((.*)\)/gi, "")
30
- .split("/")
31
- .filter((o) => !!o)
32
- .map((key) => {
46
+ parseUrl(`${base}${path}`).map((key) => {
33
47
  const subpath = key.replace(":", "").replace("?", "");
34
48
  if (key.includes(":")) {
35
49
  const optional = key.includes("?");
@@ -1 +1 @@
1
- {"version":3,"file":"getJsonPathParameters.js","sourceRoot":"","sources":["../../../src/utils/getJsonPathParameters.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @ignore\n */\nfunction getVariable(subpath: string) {\n const [prefix, right] = subpath.split(\"=\");\n const splited = (right || prefix).split(\".\");\n const name = splited.splice(0, 1)[0];\n\n return {\n prefix: right && prefix ? `${prefix}=` : \"\",\n name,\n postfix: splited.length ? `.${splited.join(\".\")}` : \"\"\n };\n}\n\n/**\n * @ignore\n */\nexport function getJsonPathParameters(base: string, path: string | RegExp | (string | RegExp)[] = \"\"): {path: string; parameters: any[]}[] {\n if (path instanceof RegExp) {\n path = path.toString().replace(/^\\//, \"\").replace(/\\/$/, \"\").replace(/\\\\/, \"\");\n }\n\n const params: any[] = [];\n const paths: any[] = [];\n let isOptional = false;\n let current = \"\";\n\n `${base}${path}`\n .replace(/\\((.*)\\)/gi, \"\")\n .split(\"/\")\n .filter((o) => !!o)\n .map((key) => {\n const subpath = key.replace(\":\", \"\").replace(\"?\", \"\");\n\n if (key.includes(\":\")) {\n const optional = key.includes(\"?\");\n\n // Append previous config\n if (optional && !isOptional) {\n isOptional = true;\n\n paths.push({\n path: current,\n parameters: [].concat(params as any)\n });\n }\n\n const {prefix, name, postfix} = getVariable(subpath);\n current += `/${prefix}{${name}}${postfix}`;\n\n params.push({\n in: \"path\",\n name,\n type: \"string\",\n required: true\n });\n\n if (optional && isOptional) {\n paths.push({\n path: current,\n parameters: [].concat(params as any)\n });\n }\n } else {\n current += `/${key}`;\n }\n });\n\n return paths.length\n ? paths\n : [\n {\n path: current,\n parameters: [].concat(params as any)\n }\n ];\n}\n"]}
1
+ {"version":3,"file":"getJsonPathParameters.js","sourceRoot":"","sources":["../../../src/utils/getJsonPathParameters.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @ignore\n */\nfunction getVariable(subpath: string) {\n const [prefix, right] = subpath.split(\"=\");\n const splited = (right || prefix).split(\".\");\n const name = splited.splice(0, 1)[0];\n\n return {\n prefix: right && prefix ? `${prefix}=` : \"\",\n name,\n postfix: splited.length ? `.${splited.join(\".\")}` : \"\"\n };\n}\n\nfunction parseUrl(key: string) {\n let inCapture = 0;\n\n return key\n .split(\"\")\n .filter((c) => {\n if (c === \"(\") {\n inCapture++;\n }\n\n const result = inCapture === 0;\n\n if (c === \")\") {\n inCapture--;\n }\n\n return result;\n })\n .join(\"\")\n .split(\"/\")\n .filter((o) => !!o);\n}\n\n/**\n * @ignore\n */\nexport function getJsonPathParameters(base: string, path: string | RegExp | (string | RegExp)[] = \"\"): {path: string; parameters: any[]}[] {\n if (path instanceof RegExp) {\n path = path.toString().replace(/^\\//g, \"\").replace(/\\/$/g, \"\").replace(/\\\\/g, \"\");\n }\n\n const params: any[] = [];\n const paths: any[] = [];\n let isOptional = false;\n let current = \"\";\n\n parseUrl(`${base}${path}`).map((key) => {\n const subpath = key.replace(\":\", \"\").replace(\"?\", \"\");\n\n if (key.includes(\":\")) {\n const optional = key.includes(\"?\");\n\n // Append previous config\n if (optional && !isOptional) {\n isOptional = true;\n\n paths.push({\n path: current,\n parameters: [].concat(params as any)\n });\n }\n\n const {prefix, name, postfix} = getVariable(subpath);\n current += `/${prefix}{${name}}${postfix}`;\n\n params.push({\n in: \"path\",\n name,\n type: \"string\",\n required: true\n });\n\n if (optional && isOptional) {\n paths.push({\n path: current,\n parameters: [].concat(params as any)\n });\n }\n } else {\n current += `/${key}`;\n }\n });\n\n return paths.length\n ? paths\n : [\n {\n path: current,\n parameters: [].concat(params as any)\n }\n ];\n}\n"]}
@@ -11,22 +11,36 @@ function getVariable(subpath) {
11
11
  postfix: splited.length ? `.${splited.join(".")}` : ""
12
12
  };
13
13
  }
14
+ function parseUrl(key) {
15
+ let inCapture = 0;
16
+ return key
17
+ .split("")
18
+ .filter((c) => {
19
+ if (c === "(") {
20
+ inCapture++;
21
+ }
22
+ const result = inCapture === 0;
23
+ if (c === ")") {
24
+ inCapture--;
25
+ }
26
+ return result;
27
+ })
28
+ .join("")
29
+ .split("/")
30
+ .filter((o) => !!o);
31
+ }
14
32
  /**
15
33
  * @ignore
16
34
  */
17
35
  export function getJsonPathParameters(base, path = "") {
18
36
  if (path instanceof RegExp) {
19
- path = path.toString().replace(/^\//, "").replace(/\/$/, "").replace(/\\/, "");
37
+ path = path.toString().replace(/^\//g, "").replace(/\/$/g, "").replace(/\\/g, "");
20
38
  }
21
39
  const params = [];
22
40
  const paths = [];
23
41
  let isOptional = false;
24
42
  let current = "";
25
- `${base}${path}`
26
- .replace(/\((.*)\)/gi, "")
27
- .split("/")
28
- .filter((o) => !!o)
29
- .map((key) => {
43
+ parseUrl(`${base}${path}`).map((key) => {
30
44
  const subpath = key.replace(":", "").replace("?", "");
31
45
  if (key.includes(":")) {
32
46
  const optional = key.includes("?");
@@ -1 +1 @@
1
- {"version":3,"file":"getJsonPathParameters.js","sourceRoot":"","sources":["../../../src/utils/getJsonPathParameters.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErC,OAAO;QACL,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;QAC3C,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;KACvD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,OAA8C,EAAE;IAClG,IAAI,IAAI,YAAY,MAAM,EAAE;QAC1B,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KAChF;IAED,MAAM,MAAM,GAAU,EAAE,CAAC;IACzB,MAAM,KAAK,GAAU,EAAE,CAAC;IACxB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,GAAG,IAAI,GAAG,IAAI,EAAE;SACb,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAClB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEtD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEnC,yBAAyB;YACzB,IAAI,QAAQ,IAAI,CAAC,UAAU,EAAE;gBAC3B,UAAU,GAAG,IAAI,CAAC;gBAElB,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAa,CAAC;iBACrC,CAAC,CAAC;aACJ;YAED,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACrD,OAAO,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YAE3C,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,MAAM;gBACV,IAAI;gBACJ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,IAAI,QAAQ,IAAI,UAAU,EAAE;gBAC1B,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,OAAO;oBACb,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAa,CAAC;iBACrC,CAAC,CAAC;aACJ;SACF;aAAM;YACL,OAAO,IAAI,IAAI,GAAG,EAAE,CAAC;SACtB;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,KAAK,CAAC,MAAM;QACjB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,MAAa,CAAC;aACrC;SACF,CAAC;AACR,CAAC","sourcesContent":["/**\n * @ignore\n */\nfunction getVariable(subpath: string) {\n const [prefix, right] = subpath.split(\"=\");\n const splited = (right || prefix).split(\".\");\n const name = splited.splice(0, 1)[0];\n\n return {\n prefix: right && prefix ? `${prefix}=` : \"\",\n name,\n postfix: splited.length ? `.${splited.join(\".\")}` : \"\"\n };\n}\n\n/**\n * @ignore\n */\nexport function getJsonPathParameters(base: string, path: string | RegExp | (string | RegExp)[] = \"\"): {path: string; parameters: any[]}[] {\n if (path instanceof RegExp) {\n path = path.toString().replace(/^\\//, \"\").replace(/\\/$/, \"\").replace(/\\\\/, \"\");\n }\n\n const params: any[] = [];\n const paths: any[] = [];\n let isOptional = false;\n let current = \"\";\n\n `${base}${path}`\n .replace(/\\((.*)\\)/gi, \"\")\n .split(\"/\")\n .filter((o) => !!o)\n .map((key) => {\n const subpath = key.replace(\":\", \"\").replace(\"?\", \"\");\n\n if (key.includes(\":\")) {\n const optional = key.includes(\"?\");\n\n // Append previous config\n if (optional && !isOptional) {\n isOptional = true;\n\n paths.push({\n path: current,\n parameters: [].concat(params as any)\n });\n }\n\n const {prefix, name, postfix} = getVariable(subpath);\n current += `/${prefix}{${name}}${postfix}`;\n\n params.push({\n in: \"path\",\n name,\n type: \"string\",\n required: true\n });\n\n if (optional && isOptional) {\n paths.push({\n path: current,\n parameters: [].concat(params as any)\n });\n }\n } else {\n current += `/${key}`;\n }\n });\n\n return paths.length\n ? paths\n : [\n {\n path: current,\n parameters: [].concat(params as any)\n }\n ];\n}\n"]}
1
+ {"version":3,"file":"getJsonPathParameters.js","sourceRoot":"","sources":["../../../src/utils/getJsonPathParameters.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @ignore\n */\nfunction getVariable(subpath: string) {\n const [prefix, right] = subpath.split(\"=\");\n const splited = (right || prefix).split(\".\");\n const name = splited.splice(0, 1)[0];\n\n return {\n prefix: right && prefix ? `${prefix}=` : \"\",\n name,\n postfix: splited.length ? `.${splited.join(\".\")}` : \"\"\n };\n}\n\nfunction parseUrl(key: string) {\n let inCapture = 0;\n\n return key\n .split(\"\")\n .filter((c) => {\n if (c === \"(\") {\n inCapture++;\n }\n\n const result = inCapture === 0;\n\n if (c === \")\") {\n inCapture--;\n }\n\n return result;\n })\n .join(\"\")\n .split(\"/\")\n .filter((o) => !!o);\n}\n\n/**\n * @ignore\n */\nexport function getJsonPathParameters(base: string, path: string | RegExp | (string | RegExp)[] = \"\"): {path: string; parameters: any[]}[] {\n if (path instanceof RegExp) {\n path = path.toString().replace(/^\\//g, \"\").replace(/\\/$/g, \"\").replace(/\\\\/g, \"\");\n }\n\n const params: any[] = [];\n const paths: any[] = [];\n let isOptional = false;\n let current = \"\";\n\n parseUrl(`${base}${path}`).map((key) => {\n const subpath = key.replace(\":\", \"\").replace(\"?\", \"\");\n\n if (key.includes(\":\")) {\n const optional = key.includes(\"?\");\n\n // Append previous config\n if (optional && !isOptional) {\n isOptional = true;\n\n paths.push({\n path: current,\n parameters: [].concat(params as any)\n });\n }\n\n const {prefix, name, postfix} = getVariable(subpath);\n current += `/${prefix}{${name}}${postfix}`;\n\n params.push({\n in: \"path\",\n name,\n type: \"string\",\n required: true\n });\n\n if (optional && isOptional) {\n paths.push({\n path: current,\n parameters: [].concat(params as any)\n });\n }\n } else {\n current += `/${key}`;\n }\n });\n\n return paths.length\n ? paths\n : [\n {\n path: current,\n parameters: [].concat(params as any)\n }\n ];\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsed/schema",
3
- "version": "6.114.1",
3
+ "version": "6.114.4",
4
4
  "description": "JsonSchema module for Ts.ED Framework",
5
5
  "private": false,
6
6
  "source": "./src/index.ts",
@@ -32,7 +32,7 @@
32
32
  "tsed"
33
33
  ],
34
34
  "dependencies": {
35
- "@tsed/openspec": "6.114.1",
35
+ "@tsed/openspec": "6.114.4",
36
36
  "camel-case": "4.1.2",
37
37
  "fs-extra": "^10.0.1",
38
38
  "json-schema": "0.4.0",
@@ -43,8 +43,8 @@
43
43
  },
44
44
  "devDependencies": {
45
45
  "@apidevtools/swagger-parser": "10.0.3",
46
- "@tsed/core": "6.114.1",
47
- "@tsed/openspec": "6.114.1",
46
+ "@tsed/core": "6.114.4",
47
+ "@tsed/openspec": "6.114.4",
48
48
  "@types/fs-extra": "9.0.13",
49
49
  "@types/json-schema": "7.0.11",
50
50
  "@types/micromatch": "4.0.2",
@@ -52,8 +52,8 @@
52
52
  "api-spec-converter": "2.12.0"
53
53
  },
54
54
  "peerDependencies": {
55
- "@tsed/core": "^6.114.1",
56
- "@tsed/openspec": "^6.114.1"
55
+ "@tsed/core": "^6.114.4",
56
+ "@tsed/openspec": "^6.114.4"
57
57
  },
58
58
  "peerDependenciesMeta": {
59
59
  "@tsed/openspec": {
package/readme.md CHANGED
@@ -11,7 +11,8 @@
11
11
  [![npm version](https://badge.fury.io/js/%40tsed%2Fcommon.svg)](https://badge.fury.io/js/%40tsed%2Fcommon)
12
12
  [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
13
13
  [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
14
- [![backers](https://opencollective.com/tsed/tiers/badge.svg)](https://opencollective.com/tsed)
14
+ [![github](https://img.shields.io/static/v1?label=Github%20sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/romakita)
15
+ [![opencollective](https://img.shields.io/static/v1?label=OpenCollective%20sponsor&message=%E2%9D%A4&logo=OpenCollective&color=%23fe8e86)](https://opencollective.com/tsed)
15
16
 
16
17
  </div>
17
18