zudoku 0.42.1 → 0.43.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 (63) hide show
  1. package/dist/app/entry.client.js +21 -0
  2. package/dist/app/entry.client.js.map +1 -1
  3. package/dist/config/loader.d.ts +1 -16
  4. package/dist/config/loader.js +9 -90
  5. package/dist/config/loader.js.map +1 -1
  6. package/dist/lib/authentication/components/SignIn.d.ts +1 -1
  7. package/dist/lib/authentication/components/SignIn.js +5 -2
  8. package/dist/lib/authentication/components/SignIn.js.map +1 -1
  9. package/dist/lib/authentication/components/SignUp.d.ts +1 -1
  10. package/dist/lib/authentication/components/SignUp.js +4 -1
  11. package/dist/lib/authentication/components/SignUp.js.map +1 -1
  12. package/dist/lib/plugins/openapi/ParamInfos.js +1 -0
  13. package/dist/lib/plugins/openapi/ParamInfos.js.map +1 -1
  14. package/dist/lib/plugins/openapi/ParameterListItem.js +8 -1
  15. package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
  16. package/dist/lib/plugins/openapi/components/ConstValue.d.ts +5 -0
  17. package/dist/lib/plugins/openapi/components/ConstValue.js +6 -0
  18. package/dist/lib/plugins/openapi/components/ConstValue.js.map +1 -0
  19. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js +7 -3
  20. package/dist/lib/plugins/openapi/schema/SchemaPropertyItem.js.map +1 -1
  21. package/dist/lib/plugins/openapi/schema/SchemaView.js +9 -6
  22. package/dist/lib/plugins/openapi/schema/SchemaView.js.map +1 -1
  23. package/dist/lib/plugins/openapi/schema/utils.d.ts +1 -0
  24. package/dist/lib/plugins/openapi/schema/utils.js +3 -0
  25. package/dist/lib/plugins/openapi/schema/utils.js.map +1 -1
  26. package/dist/lib/plugins/openapi/util/generateSchemaExample.js +40 -0
  27. package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -1
  28. package/dist/vite/config.js +1 -1
  29. package/dist/vite/config.js.map +1 -1
  30. package/lib/AuthenticationPlugin-ByDF051g.js +99 -0
  31. package/lib/AuthenticationPlugin-ByDF051g.js.map +1 -0
  32. package/lib/Card-BtheiD7j.js +61 -0
  33. package/lib/Card-BtheiD7j.js.map +1 -0
  34. package/lib/{OasProvider-CZiF_RMW.js → OasProvider-DOs0v9u7.js} +2 -2
  35. package/lib/{OasProvider-CZiF_RMW.js.map → OasProvider-DOs0v9u7.js.map} +1 -1
  36. package/lib/{OperationList-CMMzLfIZ.js → OperationList-CKac6iap.js} +1152 -1102
  37. package/lib/OperationList-CKac6iap.js.map +1 -0
  38. package/lib/{SchemaList-_d3Mf4IX.js → SchemaList-BTX2mRMW.js} +3 -3
  39. package/lib/{SchemaList-_d3Mf4IX.js.map → SchemaList-BTX2mRMW.js.map} +1 -1
  40. package/lib/SchemaView-BYRn_-2l.js +388 -0
  41. package/lib/SchemaView-BYRn_-2l.js.map +1 -0
  42. package/lib/{index-BPqJMdth.js → index-DuB48L78.js} +393 -442
  43. package/lib/index-DuB48L78.js.map +1 -0
  44. package/lib/zudoku.auth-clerk.js +1 -1
  45. package/lib/zudoku.auth-openid.js +1 -1
  46. package/lib/zudoku.plugin-openapi.js +1 -1
  47. package/package.json +4 -4
  48. package/src/app/entry.client.tsx +26 -0
  49. package/src/lib/authentication/components/SignIn.tsx +35 -2
  50. package/src/lib/authentication/components/SignUp.tsx +35 -1
  51. package/src/lib/plugins/openapi/ParamInfos.tsx +1 -0
  52. package/src/lib/plugins/openapi/ParameterListItem.tsx +30 -0
  53. package/src/lib/plugins/openapi/components/ConstValue.tsx +24 -0
  54. package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +10 -4
  55. package/src/lib/plugins/openapi/schema/SchemaView.tsx +31 -20
  56. package/src/lib/plugins/openapi/schema/utils.ts +5 -0
  57. package/src/lib/plugins/openapi/util/generateSchemaExample.ts +45 -0
  58. package/lib/AuthenticationPlugin-DPCuR3xm.js +0 -58
  59. package/lib/AuthenticationPlugin-DPCuR3xm.js.map +0 -1
  60. package/lib/OperationList-CMMzLfIZ.js.map +0 -1
  61. package/lib/SchemaView-J7Srn-Iy.js +0 -357
  62. package/lib/SchemaView-J7Srn-Iy.js.map +0 -1
  63. package/lib/index-BPqJMdth.js.map +0 -1
@@ -21,6 +21,27 @@ if (root.childElementCount > 0) {
21
21
  else {
22
22
  void render(routes);
23
23
  }
24
+ // eslint-disable-next-line no-console
25
+ console.log("%cZUDOKU%c by Zuplo v" + window.ZUDOKU_VERSION, [
26
+ "color: #FF00BD",
27
+ "line-height: 50px",
28
+ "font-weight: bolder",
29
+ "font-size: 30px",
30
+ "-webkit-text-stroke-width: 1px",
31
+ "-webkit-text-stroke-color: #FF00BD",
32
+ "text-transform: uppercase",
33
+ "text-align: center",
34
+ "letter-spacing: 5px",
35
+ ].join(" ;"), [
36
+ "color: #Df0097",
37
+ "line-height: 50px",
38
+ "font-weight: bolder",
39
+ "font-size: 15px",
40
+ "text-align: center",
41
+ "letter-spacing: 5px",
42
+ ].join(" ;"));
43
+ // eslint-disable-next-line no-console
44
+ console.log("» Learn more about Zudoku https://zudoku.dev");
24
45
  async function hydrateLazyRoutes(routes) {
25
46
  const path = window.location.pathname;
26
47
  const lazyMatches = matchRoutes(routes, path, config.basePath)?.filter((m) => m.route.lazy);
@@ -1 +1 @@
1
- {"version":3,"file":"entry.client.js","sourceRoot":"","sources":["../../src/app/entry.client.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,WAAW,GAEZ,MAAM,cAAc,CAAC;AACtB,OAAO,MAAM,MAAM,uBAAuB,CAAC;AAC3C,OAAO,0BAA0B,CAAC;AAClC,OAAO,6BAA6B,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAE,CAAC;AAQ9C,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,SAAS,CAAC;AAEhE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACtC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAoB,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;IAC/B,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC;KAAM,CAAC;IACN,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAqB;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CACpB,CAAC;IAEF,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;gBAAE,OAAO;YAE/C,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,IAAK,EAAE,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,MAAqB;IACnC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE;QACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;IACH,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,MAAqB;IAC1C,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE;QACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;IAEH,WAAW,CAAC,IAAI,EAAE,KAAC,SAAS,IAAC,OAAO,QAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAC;AAC3D,CAAC;AAED,gDAAgD;AAChD,4DAA4D;AAC5D,gGAAgG;AAChG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE;IACjD,CAAC,CAAC,cAAc,EAAE,CAAC;IACnB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;AAC3B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"entry.client.js","sourceRoot":"","sources":["../../src/app/entry.client.tsx"],"names":[],"mappings":"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"}
@@ -2,20 +2,5 @@ import type { RollupOutput, RollupWatcher } from "rollup";
2
2
  import { type ConfigWithMeta } from "./common.js";
3
3
  import { type CommonConfig } from "./validators/common.js";
4
4
  export declare const fileExists: (path: string) => Promise<boolean>;
5
- export declare function findConfigFilePath(rootDir: string): Promise<{
6
- configPath: string;
7
- configType: "zudoku" | "dev-portal";
8
- } | {
9
- configPath: undefined;
10
- configType: undefined;
11
- }>;
12
- declare function loadZudokuCodeConfig<TConfig>(configPath: string): Promise<{
13
- dependencies: string[];
14
- config: TConfig;
15
- }>;
16
- export type ConfigLoaderOverrides = {
17
- loadZudokuCodeConfig?: typeof loadZudokuCodeConfig;
18
- };
19
- export declare function tryLoadZudokuConfig<TConfig extends CommonConfig>(rootDir: string, moduleDir: string, envVars: Record<string, string | undefined>, overrides?: ConfigLoaderOverrides): Promise<ConfigWithMeta<TConfig>>;
5
+ export declare function tryLoadZudokuConfig<TConfig extends CommonConfig>(rootDir: string, moduleDir: string): Promise<ConfigWithMeta<TConfig>>;
20
6
  export declare function findOutputPathOfServerConfig(output: RollupOutput | RollupOutput[] | RollupWatcher): string;
21
- export {};
@@ -1,7 +1,6 @@
1
- import { readFile, stat } from "node:fs/promises";
1
+ import { stat } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { runnerImport } from "vite";
4
- import { validateCommonConfig, } from "./validators/common.js";
5
4
  import { validateConfig } from "./validators/validate.js";
6
5
  const zudokuConfigFiles = [
7
6
  "zudoku.config.js",
@@ -10,43 +9,19 @@ const zudokuConfigFiles = [
10
9
  "zudoku.config.tsx",
11
10
  "zudoku.config.mjs",
12
11
  ];
13
- const devPortalConfigFile = "dev-portal.json";
14
12
  export const fileExists = (path) => stat(path)
15
13
  .then(() => true)
16
14
  .catch(() => false);
17
- let configPath;
18
- let configType;
19
- export async function findConfigFilePath(rootDir) {
20
- // Also check if file exists, so renaming the file will trigger a restart as well
21
- if (configPath && configType && (await fileExists(configPath))) {
22
- return { configPath, configType };
23
- }
24
- const devPortalConfigPath = path.join(rootDir, devPortalConfigFile);
25
- if (await fileExists(devPortalConfigPath)) {
26
- configPath = devPortalConfigPath;
27
- configType = "dev-portal";
28
- return { configPath, configType };
29
- }
15
+ async function getConfigFilePath(rootDir) {
30
16
  for (const fileName of zudokuConfigFiles) {
31
17
  const filepath = path.join(rootDir, fileName);
32
18
  if (await fileExists(filepath)) {
33
- configPath = filepath;
34
- configType = "zudoku";
35
- return { configPath, configType };
19
+ return filepath;
36
20
  }
37
21
  }
38
- configPath = undefined;
39
- configType = undefined;
40
- return { configPath, configType };
41
- }
42
- async function getConfigFilePath(rootDir) {
43
- const result = await findConfigFilePath(rootDir);
44
- if (result.configType) {
45
- return result;
46
- }
47
22
  throw new Error(`No zudoku config file found in project root.`);
48
23
  }
49
- async function loadZudokuCodeConfig(configPath) {
24
+ async function loadZudokuConfig(configPath) {
50
25
  const { module, dependencies } = await runnerImport(configPath, {
51
26
  server: {
52
27
  // this allows us to 'load' CSS files in the config
@@ -59,65 +34,10 @@ async function loadZudokuCodeConfig(configPath) {
59
34
  config: module.default,
60
35
  };
61
36
  }
62
- async function loadDevPortalConfig(configPath, envVars) {
63
- const json = await readFile(configPath, "utf-8");
64
- let config;
65
- try {
66
- config = JSON.parse(json);
67
- }
68
- catch {
69
- throw new Error("Failed to parse dev-portal.json. Check that the file is valid JSON.");
70
- }
71
- // 1. Validate the config
72
- validateCommonConfig(config);
73
- // 2. Replace $env() placeholders with actual environment
74
- config = replaceEnvVariables(config, envVars);
75
- return config;
76
- }
77
- /**
78
- * Replaces the $env() placeholders in the config with the actual environment
79
- */
80
- function replaceEnvVariables(
81
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
- obj, envVars) {
83
- if (typeof obj === "string") {
84
- const envVarMatch = obj.match(/^\$env\(([^)]+)\)$/);
85
- if (envVarMatch) {
86
- const envVarName = envVarMatch[1];
87
- return envVars[envVarName];
88
- }
89
- return obj;
90
- }
91
- else if (Array.isArray(obj)) {
92
- return obj.map((o) => replaceEnvVariables(o, envVars));
93
- }
94
- else if (typeof obj === "object" && obj !== null) {
95
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
96
- const newObj = {};
97
- for (const key in obj) {
98
- if (Object.hasOwn(obj, key)) {
99
- newObj[key] = replaceEnvVariables(obj[key], envVars);
100
- }
101
- }
102
- return newObj;
103
- }
104
- return obj;
105
- }
106
- export async function tryLoadZudokuConfig(rootDir, moduleDir, envVars, overrides) {
107
- const { configPath, configType } = await getConfigFilePath(rootDir);
108
- let config;
109
- let dependencies;
110
- if (configType === "dev-portal") {
111
- config = await loadDevPortalConfig(configPath, envVars);
112
- dependencies = [];
113
- }
114
- else {
115
- const loadConfig = overrides?.loadZudokuCodeConfig ?? loadZudokuCodeConfig;
116
- ({ config, dependencies } = await loadConfig(configPath));
117
- // This is here instead of in the load function so that
118
- // it works even if we are overriding the load function
119
- validateConfig(config);
120
- }
37
+ export async function tryLoadZudokuConfig(rootDir, moduleDir) {
38
+ const configPath = await getConfigFilePath(rootDir);
39
+ const { config, dependencies } = await loadZudokuConfig(configPath);
40
+ validateConfig(config);
121
41
  const configWithMetadata = {
122
42
  ...config,
123
43
  __meta: {
@@ -130,13 +50,12 @@ export async function tryLoadZudokuConfig(rootDir, moduleDir, envVars, overrides
130
50
  };
131
51
  return configWithMetadata;
132
52
  }
133
- const outputFileNames = ["dev-portal.js", "zudoku.config.js"];
134
53
  export function findOutputPathOfServerConfig(output) {
135
54
  if (Array.isArray(output)) {
136
55
  throw new Error("Expected a single output, but got an array");
137
56
  }
138
57
  if ("output" in output) {
139
- const result = output.output.find((o) => "isEntry" in o && o.isEntry && outputFileNames.includes(o.fileName));
58
+ const result = output.output.find((o) => "isEntry" in o && o.isEntry && o.fileName === "zudoku.config.js");
140
59
  if (result) {
141
60
  return result.fileName;
142
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,iBAAiB,GAAG;IACxB,kBAAkB;IAClB,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CACzC,IAAI,CAAC,IAAI,CAAC;KACP,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;KAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAExB,KAAK,UAAU,iBAAiB,CAAC,OAAe;IAC9C,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,UAAkB;IAElB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,YAAY,CACjD,UAAU,EACV;QACE,MAAM,EAAE;YACN,mDAAmD;YACnD,gDAAgD;YAChD,+BAA+B,EAAE,IAAI;SACtC;KACF,CACF,CAAC;IAEF,OAAO;QACL,YAAY,EAAE,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC;QAC3C,MAAM,EAAE,MAAM,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,SAAiB;IAEjB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,CAAU,UAAU,CAAC,CAAC;IAC7E,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,MAAM,kBAAkB,GAA4B;QAClD,GAAG,MAAM;QACT,MAAM,EAAE;YACN,OAAO;YACP,SAAS;YACT,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;YAC5B,YAAY;YACZ,UAAU;SACX;KACF,CAAC;IAEF,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,MAAqD;IAErD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,kBAAkB,CACxE,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC9D,CAAC"}
@@ -1 +1 @@
1
- export declare const SignIn: () => null;
1
+ export declare const SignIn: () => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { useEffect } from "react";
2
- import { useSearchParams } from "react-router";
3
+ import { Link, useSearchParams } from "react-router";
4
+ import { Button } from "zudoku/ui/Button.js";
5
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "zudoku/ui/Card.js";
3
6
  import { useZudoku } from "../../components/context/ZudokuContext.js";
4
7
  export const SignIn = () => {
5
8
  const context = useZudoku();
@@ -9,6 +12,6 @@ export const SignIn = () => {
9
12
  redirectTo: search.get("redirect") ?? undefined,
10
13
  });
11
14
  }, [context.authentication, search]);
12
- return null;
15
+ return (_jsx("div", { className: "flex items-center justify-center mt-8", children: _jsxs(Card, { className: "max-w-md w-full", children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { className: "text-lg", children: "Sign in" }), _jsx(CardDescription, { children: "You're being redirected to our secure login provider to complete your sign-in process." })] }), _jsx(CardContent, { children: _jsxs("div", { className: "flex flex-col gap-2 justify-center", children: [_jsx(Button, { onClick: () => context.authentication?.signIn(), variant: "default", children: "Login" }), _jsx(Button, { variant: "link", className: "text-muted-foreground", asChild: true, children: _jsx(Link, { to: "/", children: "Go home" }) })] }) })] }) }));
13
16
  };
14
17
  //# sourceMappingURL=SignIn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignIn.js","sourceRoot":"","sources":["../../../../src/lib/authentication/components/SignIn.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,eAAe,EAAE,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS;SAChD,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAErC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
1
+ {"version":3,"file":"SignIn.js","sourceRoot":"","sources":["../../../../src/lib/authentication/components/SignIn.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,UAAU,EACV,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,eAAe,EAAE,CAAC;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;YAClC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS;SAChD,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAErC,OAAO,CACL,cAAK,SAAS,EAAC,uCAAuC,YACpD,MAAC,IAAI,IAAC,SAAS,EAAC,iBAAiB,aAC/B,MAAC,UAAU,eACT,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,wBAAoB,EAClD,KAAC,eAAe,yGAGE,IACP,EACb,KAAC,WAAW,cACV,eAAK,SAAS,EAAC,oCAAoC,aACjD,KAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,EAC/C,OAAO,EAAC,SAAS,sBAGV,EACT,KAAC,MAAM,IAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAC,uBAAuB,EAAC,OAAO,kBAC9D,KAAC,IAAI,IAAC,EAAE,EAAC,GAAG,wBAAe,GACpB,IACL,GACM,IACT,GACH,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- export declare const SignUp: () => null;
1
+ export declare const SignUp: () => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { useEffect } from "react";
3
+ import { Button, Link } from "zudoku/components";
4
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "zudoku/ui/Card.js";
2
5
  import { useZudoku } from "../../components/context/ZudokuContext.js";
3
6
  export const SignUp = () => {
4
7
  const context = useZudoku();
5
8
  useEffect(() => {
6
9
  void (context.authentication?.signUp() ?? context.authentication?.signIn());
7
10
  }, [context.authentication]);
8
- return null;
11
+ return (_jsx("div", { className: "flex items-center justify-center mt-8", children: _jsxs(Card, { className: "max-w-md w-full", children: [_jsxs(CardHeader, { children: [_jsx(CardTitle, { className: "text-lg", children: "Sign up" }), _jsx(CardDescription, { children: "You're being redirected to our secure login provider to complete your sign up process." })] }), _jsx(CardContent, { children: _jsxs("div", { className: "flex flex-col gap-2 justify-center", children: [_jsx(Button, { onClick: () => context.authentication?.signIn(), variant: "default", children: "Register" }), _jsx(Button, { variant: "link", className: "text-muted-foreground", asChild: true, children: _jsx(Link, { to: "/", children: "Go home" }) })] }) })] }) }));
9
12
  };
10
13
  //# sourceMappingURL=SignUp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SignUp.js","sourceRoot":"","sources":["../../../../src/lib/authentication/components/SignUp.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAE7B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
1
+ {"version":3,"file":"SignUp.js","sourceRoot":"","sources":["../../../../src/lib/authentication/components/SignUp.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,UAAU,EACV,SAAS,GACV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAEtE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAE7B,OAAO,CACL,cAAK,SAAS,EAAC,uCAAuC,YACpD,MAAC,IAAI,IAAC,SAAS,EAAC,iBAAiB,aAC/B,MAAC,UAAU,eACT,KAAC,SAAS,IAAC,SAAS,EAAC,SAAS,wBAAoB,EAClD,KAAC,eAAe,yGAGE,IACP,EACb,KAAC,WAAW,cACV,eAAK,SAAS,EAAC,oCAAoC,aACjD,KAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,EAC/C,OAAO,EAAC,SAAS,yBAGV,EACT,KAAC,MAAM,IAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAC,uBAAuB,EAAC,OAAO,kBAC9D,KAAC,IAAI,IAAC,EAAE,EAAC,GAAG,wBAAe,GACpB,IACL,GACM,IACT,GACH,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -19,6 +19,7 @@ const getSchemaInfos = (schema) => {
19
19
  ? schema.type.join(" | ")
20
20
  : schema.type,
21
21
  schema.enum && "enum",
22
+ schema.const && "const",
22
23
  schema.format,
23
24
  schema.minimum && `min: ${schema.minimum}`,
24
25
  schema.maximum && `max: ${schema.maximum}`,
@@ -1 +1 @@
1
- {"version":3,"file":"ParamInfos.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParamInfos.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,MAAM,OAAO,GAAG,CAAC,EAAE,OAAO,EAAuB,EAAE,EAAE;IACnD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAEzE,OAAO,CACL,MAAC,UAAU,IACT,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,YAAY,IAAI,gBAAgB,CAAC,EAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,EACzC,aAAa,EAAE,KAAK,aAEnB,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EACnC,YAAY,IAAI,CACf,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,uBAAuB,YACpD,CAAC,UAAU,IAAI,KAAC,qBAAqB,IAAC,IAAI,EAAE,EAAE,GAAI,GAC5C,CACV,IACU,CACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC/C,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,OAAO;QACL,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI;YAC1C,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI;YAC1B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzB,CAAC,CAAC,MAAM,CAAC,IAAI;QAEjB,MAAM,CAAC,IAAI,IAAI,MAAM;QACrB,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,OAAO,IAAI,QAAQ,MAAM,CAAC,OAAO,EAAE;QAC1C,MAAM,CAAC,OAAO,IAAI,QAAQ,MAAM,CAAC,OAAO,EAAE;QAC1C,MAAM,CAAC,SAAS,IAAI,cAAc,MAAM,CAAC,SAAS,EAAE;QACpD,MAAM,CAAC,SAAS,IAAI,cAAc,MAAM,CAAC,SAAS,EAAE;QACpD,MAAM,CAAC,QAAQ,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE;QACjD,MAAM,CAAC,QAAQ,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE;QACjD,MAAM,CAAC,WAAW,IAAI,QAAQ;QAC9B,MAAM,CAAC,aAAa,IAAI,aAAa,MAAM,CAAC,aAAa,EAAE;QAC3D,MAAM,CAAC,aAAa,IAAI,aAAa,MAAM,CAAC,aAAa,EAAE;QAC3D,MAAM,CAAC,QAAQ,IAAI,UAAU;QAC7B,MAAM,CAAC,SAAS,IAAI,WAAW;QAC/B,MAAM,CAAC,UAAU,IAAI,YAAY;QACjC,MAAM,CAAC,OAAO,IAAI,CAChB,2CACW,KAAC,OAAO,IAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAI,IAC5C,CACJ;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,MAAM,EACN,UAAU,GAAG,EAAE,EACf,SAAS,GAKV,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,OAAO,CACtE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CACzE,CAAC;IAEF,OAAO,CACL,eAAM,SAAS,EAAE,SAAS,YACvB,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,gBAAM,SAAS,EAAC,uBAAuB,aACpC,IAAI,EACJ,KAAK,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CACnC,eAAM,SAAS,EAAC,0BAA0B,mCAEnC,CACR,KAN0C,KAAK,CAO3C,CACR,CAAC,GACG,CACR,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ParamInfos.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParamInfos.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as Collapsible from "@radix-ui/react-collapsible";
3
+ import { MinusIcon, PlusIcon } from "lucide-react";
4
+ import { useState } from "react";
2
5
  import { Markdown } from "../../components/Markdown.js";
6
+ import { Button } from "../../ui/Button.js";
3
7
  import { ColorizedParam } from "./ColorizedParam.js";
4
8
  import { ParamInfos } from "./ParamInfos.js";
5
9
  import { EnumValues } from "./components/EnumValues.js";
6
10
  import { SelectOnClick } from "./components/SelectOnClick.js";
7
11
  import { SchemaExampleAndDefault } from "./schema/SchemaExampleAndDefault.js";
12
+ import { SchemaView } from "./schema/SchemaView.js";
13
+ import { isArrayType } from "./schema/utils.js";
8
14
  const getParameterSchema = (parameter) => {
9
15
  if (parameter.schema != null && typeof parameter.schema === "object") {
10
16
  return parameter.schema;
@@ -15,10 +21,11 @@ const getParameterSchema = (parameter) => {
15
21
  };
16
22
  export const ParameterListItem = ({ parameter, group, id, }) => {
17
23
  const paramSchema = getParameterSchema(parameter);
24
+ const [isOpen, setIsOpen] = useState(false);
18
25
  return (_jsxs("li", { className: "p-4 bg-border/20 text-sm flex flex-col gap-1.5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(SelectOnClick, { asChild: true, children: _jsx("code", { children: group === "path" ? (_jsx(ColorizedParam, { name: parameter.name, backgroundOpacity: "15%", className: "px-2", slug: `${id}-${parameter.name}` })) : (parameter.name) }) }), _jsx(ParamInfos, { schema: paramSchema, extraItems: [
19
26
  parameter.required && (_jsx("span", { className: "text-primary", children: "required" })),
20
27
  parameter.style && `style: ${parameter.style}`,
21
28
  parameter.explode && `explode: ${parameter.explode}`,
22
- ] })] }), parameter.description && (_jsx(Markdown, { content: parameter.description, className: "text-sm prose-p:my-1 prose-code:whitespace-pre-line" })), paramSchema.type === "array" && paramSchema.items.enum ? (_jsx(EnumValues, { values: paramSchema.items.enum })) : (paramSchema.enum && _jsx(EnumValues, { values: paramSchema.enum })), _jsx(SchemaExampleAndDefault, { schema: paramSchema })] }));
29
+ ] })] }), parameter.description && (_jsx(Markdown, { content: parameter.description, className: "text-sm prose-p:my-1 prose-code:whitespace-pre-line" })), paramSchema.type === "array" && paramSchema.items.enum ? (_jsx(EnumValues, { values: paramSchema.items.enum })) : (paramSchema.enum && _jsx(EnumValues, { values: paramSchema.enum })), _jsx(SchemaExampleAndDefault, { schema: paramSchema }), (paramSchema.type === "object" || isArrayType(paramSchema)) && (_jsxs(Collapsible.Root, { defaultOpen: false, onOpenChange: setIsOpen, open: isOpen, children: [_jsx(Collapsible.Trigger, { asChild: true, children: _jsxs(Button, { variant: "expand", size: "sm", children: [isOpen ? _jsx(MinusIcon, { size: 12 }) : _jsx(PlusIcon, { size: 12 }), isOpen ? "Hide properties" : "Show properties"] }) }), _jsx(Collapsible.Content, { children: _jsx("div", { className: "mt-2", children: _jsx(SchemaView, { schema: "items" in paramSchema ? paramSchema.items : paramSchema }) }) })] }))] }));
23
30
  };
24
31
  //# sourceMappingURL=ParameterListItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParameterListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,MAAM,kBAAkB,GAAG,CACzB,SAAkC,EACpB,EAAE;IAChB,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,SAAS,EACT,KAAK,EACL,EAAE,GAKH,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAElD,OAAO,CACL,cAAI,SAAS,EAAC,gDAAgD,aAC5D,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,aAAa,IAAC,OAAO,kBACpB,yBACG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAClB,KAAC,cAAc,IACb,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,iBAAiB,EAAC,KAAK,EACvB,SAAS,EAAC,MAAM,EAChB,IAAI,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,GAC/B,CACH,CAAC,CAAC,CAAC,CACF,SAAS,CAAC,IAAI,CACf,GACI,GACO,EAChB,KAAC,UAAU,IACT,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE;4BACV,SAAS,CAAC,QAAQ,IAAI,CACpB,eAAM,SAAS,EAAC,cAAc,yBAAgB,CAC/C;4BACD,SAAS,CAAC,KAAK,IAAI,UAAU,SAAS,CAAC,KAAK,EAAE;4BAC9C,SAAS,CAAC,OAAO,IAAI,YAAY,SAAS,CAAC,OAAO,EAAE;yBACrD,GACD,IACE,EACL,SAAS,CAAC,WAAW,IAAI,CACxB,KAAC,QAAQ,IACP,OAAO,EAAE,SAAS,CAAC,WAAW,EAC9B,SAAS,EAAC,qDAAqD,GAC/D,CACH,EACA,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CACxD,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,GAAI,CAC/C,CAAC,CAAC,CAAC,CACF,WAAW,CAAC,IAAI,IAAI,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,CAAC,IAAI,GAAI,CAC7D,EACD,KAAC,uBAAuB,IAAC,MAAM,EAAE,WAAW,GAAI,IAC7C,CACN,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ParameterListItem.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/ParameterListItem.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,kBAAkB,GAAG,CACzB,SAAkC,EACpB,EAAE;IAChB,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC,MAAM,CAAC;IAC1B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,SAAS,EACT,KAAK,EACL,EAAE,GAKH,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,OAAO,CACL,cAAI,SAAS,EAAC,gDAAgD,aAC5D,eAAK,SAAS,EAAC,yBAAyB,aACtC,KAAC,aAAa,IAAC,OAAO,kBACpB,yBACG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAClB,KAAC,cAAc,IACb,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,iBAAiB,EAAC,KAAK,EACvB,SAAS,EAAC,MAAM,EAChB,IAAI,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,IAAI,EAAE,GAC/B,CACH,CAAC,CAAC,CAAC,CACF,SAAS,CAAC,IAAI,CACf,GACI,GACO,EAChB,KAAC,UAAU,IACT,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE;4BACV,SAAS,CAAC,QAAQ,IAAI,CACpB,eAAM,SAAS,EAAC,cAAc,yBAAgB,CAC/C;4BACD,SAAS,CAAC,KAAK,IAAI,UAAU,SAAS,CAAC,KAAK,EAAE;4BAC9C,SAAS,CAAC,OAAO,IAAI,YAAY,SAAS,CAAC,OAAO,EAAE;yBACrD,GACD,IACE,EACL,SAAS,CAAC,WAAW,IAAI,CACxB,KAAC,QAAQ,IACP,OAAO,EAAE,SAAS,CAAC,WAAW,EAC9B,SAAS,EAAC,qDAAqD,GAC/D,CACH,EACA,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CACxD,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,GAAI,CAC/C,CAAC,CAAC,CAAC,CACF,WAAW,CAAC,IAAI,IAAI,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,CAAC,IAAI,GAAI,CAC7D,EACD,KAAC,uBAAuB,IAAC,MAAM,EAAE,WAAW,GAAI,EAC/C,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAC9D,MAAC,WAAW,CAAC,IAAI,IACf,WAAW,EAAE,KAAK,EAClB,YAAY,EAAE,SAAS,EACvB,IAAI,EAAE,MAAM,aAEZ,KAAC,WAAW,CAAC,OAAO,IAAC,OAAO,kBAC1B,MAAC,MAAM,IAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,aAC/B,MAAM,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,GAAI,EACzD,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,IACxC,GACW,EACtB,KAAC,WAAW,CAAC,OAAO,cAClB,cAAK,SAAS,EAAC,MAAM,YACnB,KAAC,UAAU,IACT,MAAM,EACJ,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,GAE1D,GACE,GACc,IACL,CACpB,IACE,CACN,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { SchemaObject } from "../../../oas/parser/index.js";
2
+ export declare const ConstValue: ({ schema, hideDescription, }: {
3
+ schema: SchemaObject;
4
+ hideDescription?: boolean;
5
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { SelectOnClick } from "./SelectOnClick.js";
3
+ export const ConstValue = ({ schema, hideDescription = false, }) => {
4
+ return (_jsx("div", { className: "flex flex-col gap-1 text-xs", children: _jsxs("div", { children: [_jsx("span", { className: "text-muted-foreground", children: "Const value: " }), _jsx(SelectOnClick, { className: "border rounded px-1 font-mono", children: schema.const }), !hideDescription && schema.description && (_jsx("div", { className: "text-muted-foreground", children: schema.description }))] }) }));
5
+ };
6
+ //# sourceMappingURL=ConstValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConstValue.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/components/ConstValue.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,MAAM,EACN,eAAe,GAAG,KAAK,GAIxB,EAAE,EAAE;IACH,OAAO,CACL,cAAK,SAAS,EAAC,6BAA6B,YAC1C,0BACE,eAAM,SAAS,EAAC,uBAAuB,8BAAqB,EAC5D,KAAC,aAAa,IAAC,SAAS,EAAC,+BAA+B,YACrD,MAAM,CAAC,KAAK,GACC,EACf,CAAC,eAAe,IAAI,MAAM,CAAC,WAAW,IAAI,CACzC,cAAK,SAAS,EAAC,uBAAuB,YAAE,MAAM,CAAC,WAAW,GAAO,CAClE,IACG,GACF,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -7,13 +7,14 @@ import { Markdown, ProseClasses } from "../../../components/Markdown.js";
7
7
  import { Button } from "../../../ui/Button.js";
8
8
  import { cn } from "../../../util/cn.js";
9
9
  import { objectEntries } from "../../../util/objectEntries.js";
10
+ import { ConstValue } from "../components/ConstValue.js";
10
11
  import { EnumValues } from "../components/EnumValues.js";
11
12
  import { SelectOnClick } from "../components/SelectOnClick.js";
12
13
  import { ParamInfos } from "../ParamInfos.js";
13
14
  import { LogicalGroup } from "./LogicalGroup/LogicalGroup.js";
14
15
  import { SchemaExampleAndDefault } from "./SchemaExampleAndDefault.js";
15
16
  import { SchemaView } from "./SchemaView.js";
16
- import { hasLogicalGroupings, isCircularRef, isComplexType, LogicalSchemaTypeMap, } from "./utils.js";
17
+ import { hasLogicalGroupings, isArrayType, isCircularRef, isComplexType, LogicalSchemaTypeMap, } from "./utils.js";
17
18
  export const SchemaLogicalGroup = ({ schema }) => {
18
19
  const [isOpen, setIsOpen] = useState(true);
19
20
  const toggleOpen = useCallback(() => setIsOpen((prev) => !prev), []);
@@ -31,10 +32,13 @@ export const SchemaPropertyItem = ({ name, schema, group, defaultOpen = false, s
31
32
  }
32
33
  return (_jsx("li", { className: "p-4 bg-border/20 hover:bg-border/30", children: _jsxs("div", { className: "flex flex-col gap-2.5 justify-between text-sm", children: [_jsxs("div", { className: "space-x-2", children: [_jsx(SelectOnClick, { asChild: true, children: _jsx("code", { children: name }) }), _jsx(ParamInfos, { schema: schema, extraItems: [
33
34
  group !== "optional" && (_jsx("span", { className: "text-primary", children: "required" })),
34
- schema.type === "array" &&
35
+ isArrayType(schema) &&
35
36
  "items" in schema &&
36
37
  isCircularRef(schema.items) && _jsx(RecursiveIndicator, {}),
37
- ] })] }), schema.description && (_jsx(Markdown, { className: cn(ProseClasses, "text-sm leading-normal line-clamp-4"), content: schema.description })), schema.type === "array" && "items" in schema && schema.items.enum && (_jsx(EnumValues, { values: schema.items.enum })), schema.enum && _jsx(EnumValues, { values: schema.enum }), _jsx(SchemaExampleAndDefault, { schema: schema }), (hasLogicalGroupings(schema) || isComplexType(schema)) && (_jsxs(Collapsible.Root, { defaultOpen: defaultOpen, open: isOpen, onOpenChange: () => setIsOpen(!isOpen), children: [showCollapseButton && (_jsx(Collapsible.Trigger, { asChild: true, children: _jsxs(Button, { variant: "expand", size: "sm", className: "h-7", children: [isOpen ? _jsx(MinusIcon, { size: 12 }) : _jsx(PlusIcon, { size: 12 }), !isOpen ? "Show properties" : "Hide properties"] }) })), _jsx(Collapsible.Content, { children: _jsx("div", { className: "mt-2", children: hasLogicalGroupings(schema) ? (_jsx(SchemaLogicalGroup, { schema: schema })) : schema.type === "object" ? (_jsx(SchemaView, { schema: schema })) : (schema.type === "array" &&
38
+ ] })] }), schema.description && (_jsx(Markdown, { className: cn(ProseClasses, "text-sm leading-normal line-clamp-4"), content: schema.description })), schema.type === "array" && "items" in schema && schema.items.enum && (_jsx(EnumValues, { values: schema.items.enum })), schema.const && _jsx(ConstValue, { schema: schema, hideDescription: true }), schema.enum && _jsx(EnumValues, { values: schema.enum }), _jsx(SchemaExampleAndDefault, { schema: schema }), (hasLogicalGroupings(schema) ||
39
+ isComplexType(schema) ||
40
+ isArrayType(schema) ||
41
+ schema.additionalProperties) && (_jsxs(Collapsible.Root, { defaultOpen: defaultOpen, open: isOpen, onOpenChange: () => setIsOpen(!isOpen), children: [showCollapseButton && (_jsx(Collapsible.Trigger, { asChild: true, children: _jsxs(Button, { variant: "expand", size: "sm", children: [isOpen ? _jsx(MinusIcon, { size: 12 }) : _jsx(PlusIcon, { size: 12 }), !isOpen ? "Show properties" : "Hide properties"] }) })), _jsx(Collapsible.Content, { children: _jsx("div", { className: "mt-2", children: hasLogicalGroupings(schema) ? (_jsx(SchemaLogicalGroup, { schema: schema })) : schema.type === "object" ? (_jsx(SchemaView, { schema: schema })) : (isArrayType(schema) &&
38
42
  "items" in schema &&
39
43
  typeof schema.items === "object" &&
40
44
  !isCircularRef(schema.items) && (_jsx(SchemaView, { schema: schema.items }))) }) })] }))] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaPropertyItem.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaPropertyItem.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { InfoIcon } from "lucide-react";
2
3
  import { Markdown, ProseClasses } from "../../../components/Markdown.js";
3
- import { Card, CardContent, CardHeader, CardTitle } from "../../../ui/Card.js";
4
+ import { Card } from "../../../ui/Card.js";
4
5
  import { cn } from "../../../util/cn.js";
5
6
  import { groupBy } from "../../../util/groupBy.js";
7
+ import { ConstValue } from "../components/ConstValue.js";
6
8
  import { EnumValues } from "../components/EnumValues.js";
7
9
  import { ParamInfos } from "../ParamInfos.js";
8
10
  import { SchemaExampleAndDefault } from "./SchemaExampleAndDefault.js";
@@ -14,6 +16,9 @@ export const SchemaView = ({ schema, defaultOpen = false, }) => {
14
16
  if (!schema || Object.keys(schema).length === 0) {
15
17
  return (_jsx(Card, { className: "p-4", children: _jsx("span", { className: "text-sm text-muted-foreground italic", children: "No schema specified" }) }));
16
18
  }
19
+ if (schema.const) {
20
+ return _jsx(ConstValue, { schema: schema });
21
+ }
17
22
  if (hasLogicalGroupings(schema)) {
18
23
  return _jsx(SchemaLogicalGroup, { schema: schema });
19
24
  }
@@ -21,7 +26,7 @@ export const SchemaView = ({ schema, defaultOpen = false, }) => {
21
26
  return renderBasicSchema(schema);
22
27
  }
23
28
  if (schema.type === "array" && typeof schema.items === "object") {
24
- return (_jsxs(Card, { className: "p-4 space-y-2 text-sm", children: [_jsx(ParamInfos, { schema: schema }), _jsx(SchemaView, { schema: schema.items })] }));
29
+ return _jsx(SchemaView, { schema: schema.items });
25
30
  }
26
31
  if (schema.type === "object") {
27
32
  const groupedProperties = groupBy(Object.entries(schema.properties ?? {}), ([propertyName, property]) => {
@@ -32,10 +37,8 @@ export const SchemaView = ({ schema, defaultOpen = false, }) => {
32
37
  : "optional";
33
38
  });
34
39
  const groupNames = ["required", "optional", "deprecated"];
35
- return (_jsx(Card, { className: "divide-y overflow-hidden", children: groupNames.map((group) => groupedProperties[group] && (_jsx("ul", { className: "divide-y", children: groupedProperties[group].map(([name, schema]) => (_jsx(SchemaPropertyItem, { name: name, schema: schema, group: group, defaultOpen: defaultOpen }, name))) }, group))) }));
36
- }
37
- if (schema.additionalProperties) {
38
- return (_jsxs(Card, { className: "my-2", children: [_jsx(CardHeader, { children: _jsx(CardTitle, { children: "Additional Properties:" }) }), _jsx(CardContent, { children: _jsx(SchemaView, { schema: schema.additionalProperties }) })] }));
40
+ const additionalProperties = typeof schema.additionalProperties === "object" ? (_jsx(SchemaView, { schema: schema.additionalProperties })) : schema.additionalProperties === true ? (_jsxs("div", { className: cn(ProseClasses, "text-sm p-4 bg-border/20 hover:bg-border/30 flex items-center gap-1"), children: [_jsx("span", { children: "Additional properties are allowed" }), _jsx("a", { className: "p-0.5 -m-0.5", href: "https://swagger.io/docs/specification/v3_0/data-models/dictionaries/", rel: "noopener noreferrer", target: "_blank", children: _jsx(InfoIcon, { size: 14 }) })] })) : null;
41
+ return (_jsxs(Card, { className: "divide-y overflow-hidden", children: [groupNames.map((group) => groupedProperties[group] && (_jsx("ul", { className: "divide-y", children: groupedProperties[group].map(([name, schema]) => (_jsx(SchemaPropertyItem, { name: name, schema: schema, group: group, defaultOpen: defaultOpen }, name))) }, group))), additionalProperties] }));
39
42
  }
40
43
  return null;
41
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaView.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/schema/SchemaView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaView.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/schema/SchemaView.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { SchemaObject } from "../../../oas/parser/index.js";
2
2
  export declare const isBasicType: (type: unknown) => type is "string" | "number" | "boolean" | "integer" | "null";
3
+ export declare const isArrayType: (value: SchemaObject) => boolean;
3
4
  export declare const isComplexType: (value: SchemaObject) => boolean;
4
5
  export declare const hasLogicalGroupings: (value: SchemaObject) => boolean;
5
6
  export declare const LogicalSchemaTypeMap: {
@@ -1,6 +1,9 @@
1
1
  import { CIRCULAR_REF } from "../../../oas/graphql/circular.js";
2
2
  export const isBasicType = (type) => typeof type === "string" &&
3
3
  ["string", "number", "boolean", "integer", "null"].includes(type);
4
+ export const isArrayType = (value) => value.type === "array" ||
5
+ // schema.type might be an array of types, so we need to check if "array" is one of them
6
+ (Array.isArray(value.type) && value.type.includes("array"));
4
7
  export const isComplexType = (value) => (value.type === "object" && Object.keys(value.properties ?? {}).length > 0) ||
5
8
  (value.type === "array" &&
6
9
  typeof value.items === "object" &&
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/schema/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGhE,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAa,EACiD,EAAE,CAChE,OAAO,IAAI,KAAK,QAAQ;IACxB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,EAAE,CACnD,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3E,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;QACrB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAmB,EAAE,EAAE,CACzD,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,KAAK;CACJ,CAAC;AAIX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAe,EAAoB,EAAE,CACjE,MAAM,KAAK,YAAY,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/schema/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGhE,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAa,EACiD,EAAE,CAChE,OAAO,IAAI,KAAK,QAAQ;IACxB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAmB,EAAE,EAAE,CACjD,KAAK,CAAC,IAAI,KAAK,OAAO;IACtB,wFAAwF;IACxF,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,EAAE,CACnD,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3E,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;QACrB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAC/B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAmB,EAAE,EAAE,CACzD,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,IAAI;IACX,KAAK,EAAE,KAAK;CACJ,CAAC;AAIX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAe,EAAoB,EAAE,CACjE,MAAM,KAAK,YAAY,CAAC"}
@@ -14,6 +14,10 @@ export const generateSchemaExample = (schema, name) => {
14
14
  : defaultExample;
15
15
  }
16
16
  }
17
+ // No example needed for const values
18
+ if (schema.const !== undefined) {
19
+ return schema.const;
20
+ }
17
21
  // For object schemas with properties
18
22
  if (schema.type === "object" && schema.properties) {
19
23
  const example = {};
@@ -34,9 +38,45 @@ export const generateSchemaExample = (schema, name) => {
34
38
  }
35
39
  return [];
36
40
  }
41
+ if (schema.format !== undefined) {
42
+ // Partial implementation of JSON Schema format examples
43
+ // https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-validation-00#rfc.section.7.3
44
+ switch (schema.format) {
45
+ case "date-time":
46
+ return "2024-08-25T15:00:00Z";
47
+ case "date":
48
+ return "2024-08-25";
49
+ case "time":
50
+ return "15:00:00";
51
+ case "email":
52
+ return "test@example.com";
53
+ case "uri":
54
+ return "https://www.example.com/path/to/resource";
55
+ case "uri-reference":
56
+ return "/path/to/resource";
57
+ case "uuid":
58
+ return "00000000-0000-0000-0000-000000000000";
59
+ }
60
+ }
37
61
  if (schema.enum) {
38
62
  return schema.enum[0];
39
63
  }
64
+ if (schema.oneOf) {
65
+ const randomIndex = Math.floor(Math.random() * schema.oneOf.length);
66
+ return generateSchemaExample(schema.oneOf[randomIndex]);
67
+ }
68
+ if (schema.anyOf) {
69
+ // Should likely be expanded to return a partial set of values, but it would require
70
+ // detection if being used within an array or a string type.
71
+ const randomIndex = Math.floor(Math.random() * schema.anyOf.length);
72
+ return generateSchemaExample(schema.anyOf[randomIndex]);
73
+ }
74
+ if (schema.allOf) {
75
+ // https://swagger.io/docs/specification/v3_0/data-models/oneof-anyof-allof-not/#allof
76
+ return schema.allOf.reduce((acc, allOfSchema) => {
77
+ return { ...acc, ...generateSchemaExample(allOfSchema) };
78
+ }, {});
79
+ }
40
80
  switch (schema.type) {
41
81
  case "string":
42
82
  return name || "string";
@@ -1 +1 @@
1
- {"version":3,"file":"generateSchemaExample.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/util/generateSchemaExample.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,MAAoB,EACpB,IAAa,EAER,EAAE;IACP,uCAAuC;IACvC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,uCAAuC;IACvC,IACE,MAAM,CAAC,QAAQ;QACf,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QACnC,SAAS,IAAI,MAAM,CAAC,QAAQ,EAC5B,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC/C,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,OAAO,cAAc,KAAK,QAAQ,IAAI,OAAO,IAAI,cAAc;gBACpE,CAAC,CAAC,cAAc,CAAC,KAAK;gBACtB,CAAC,CAAC,cAAc,CAAC;QACrB,CAAC;IACH,CAAC;IAED,qCAAqC;IACrC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAClD,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,UAA0B,EAAE,GAAG,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACrC,qBAAqB,CAAC,UAA0B,CAAC,CAClD,CAAC;QACJ,CAAC;QACD,sHAAsH;QACtH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAqB,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACX,OAAO,IAAI,IAAI,QAAQ,CAAC;QAC1B,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC;QACX,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC;QACd,KAAK,MAAM;YACT,OAAO,IAAI,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC;QACZ,KAAK,SAAS,CAAC;QACf;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"generateSchemaExample.js","sourceRoot":"","sources":["../../../../../src/lib/plugins/openapi/util/generateSchemaExample.ts"],"names":[],"mappings":"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"}