@digi-frontend/dgate-api-documentation 1.0.20 → 1.0.25

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 (42) hide show
  1. package/dist/_virtual/index3.js +1 -1
  2. package/dist/_virtual/index4.js +1 -1
  3. package/dist/_virtual/index5.js +1 -1
  4. package/dist/_virtual/index6.js +1 -1
  5. package/dist/node_modules/toposort/index.js +1 -1
  6. package/dist/node_modules/yup/index.esm.js +1 -1
  7. package/dist/src/components/InfoForm/InfoForm.js +1 -1
  8. package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
  9. package/dist/src/components/JsonInput/JsonInput.js +1 -1
  10. package/dist/src/components/JsonInput/JsonInput.js.map +1 -1
  11. package/dist/src/components/LivePreview/LivePreview.js +1 -1
  12. package/dist/src/components/LivePreview/LivePreview.js.map +1 -1
  13. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  14. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  15. package/dist/src/components/Tooltip/Tooltip.js.map +1 -1
  16. package/dist/src/components/table/table.js +1 -1
  17. package/dist/src/components/table/table.js.map +1 -1
  18. package/dist/src/components/table/tags-table.js +1 -1
  19. package/dist/src/components/table/tags-table.js.map +1 -1
  20. package/dist/src/constants/regex.js +1 -1
  21. package/dist/src/constants/regex.js.map +1 -1
  22. package/dist/src/layout/layout.js +1 -1
  23. package/dist/src/layout/layout.js.map +1 -1
  24. package/dist/src/validator/form.scheme.js +1 -1
  25. package/dist/src/validator/form.scheme.js.map +1 -1
  26. package/dist/styles.css +488 -488
  27. package/dist/types/components/Tooltip/Tooltip.d.ts +2 -2
  28. package/dist/types/constants/regex.d.ts +1 -0
  29. package/dist/types/layout/layout.d.ts +2 -1
  30. package/dist/types/validator/form.scheme.d.ts +1 -1
  31. package/package.json +2 -2
  32. package/src/components/InfoForm/InfoForm.tsx +37 -15
  33. package/src/components/JsonInput/JsonInput.tsx +7 -1
  34. package/src/components/LivePreview/LivePreview.tsx +40 -22
  35. package/src/components/MethodAccordion/MethodAccordion.tsx +37 -15
  36. package/src/components/Tooltip/Tooltip.scss +3 -3
  37. package/src/components/Tooltip/Tooltip.tsx +2 -3
  38. package/src/components/table/table.tsx +3 -1
  39. package/src/components/table/tags-table.tsx +27 -5
  40. package/src/constants/regex.ts +1 -0
  41. package/src/layout/layout.tsx +49 -7
  42. package/src/validator/form.scheme.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["import { JSX, useEffect } from 'react'\r\nimport { Alert, Button } from 'digitinary-ui'\r\nimport MethodsAccordion from '../components/MethodAccordion/MethodAccordion'\r\nimport styles from './layout.module.css'\r\nimport InfoForm from '../components/InfoForm/InfoForm'\r\nimport SectionHead from '../components/SectionHead/SectionHead'\r\nimport { transformOpenApiObject, transformOpenApiObjectToOrigin } from '../helpers/layout.helper'\r\nimport { OpenAPIFile } from '../types/openApi'\r\nimport LivePreview from '../components/LivePreview/LivePreview'\r\nimport { FormikProvider, useFormik } from 'formik'\r\nimport { schemaValidation } from '../validator/form.scheme'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\nimport { methodColorMapping } from '../constants/index'\r\n\r\ninterface ILayoutProps {\r\n openApiJson?: OpenAPIFile\r\n handleSave?: (values: unknown) => unknown\r\n}\r\n\r\nconst Layout = ({ openApiJson, handleSave }: ILayoutProps): JSX.Element => {\r\n const clonedOpenApiJson = structuredClone(openApiJson)\r\n const transformedOpenApi = transformOpenApiObject(clonedOpenApiJson)\r\n const formik = useFormik<TransformedOpenApi>({\r\n initialValues: structuredClone(transformedOpenApi),\r\n validationSchema: schemaValidation,\r\n validateOnMount: true,\r\n onSubmit: (values, { validateForm, resetForm }) => {\r\n // Handle save logic\r\n const originalOpenApiForm = transformOpenApiObjectToOrigin(values)\r\n handleSave(originalOpenApiForm)\r\n resetForm({\r\n values: values, // You can reset it to the same values if you want\r\n })\r\n\r\n validateForm(values)\r\n },\r\n })\r\n\r\n return (\r\n <div className={styles.docsLayout}>\r\n <Alert className={styles.apiDocAlert} color=\"info\">\r\n Changes are saved and published for API information and each endpoint individually as you\r\n update.\r\n </Alert>\r\n <div className={styles.layoutContainer}>\r\n <div className={`${styles.editorSide} ${styles.docSide}`}>\r\n <SectionHead\r\n className={styles.editorSectionHead}\r\n text={\r\n <div className={styles.editorSectionHead_content}>\r\n API Information\r\n <Button\r\n className={styles.methodForm_submitBtn}\r\n size=\"medium\"\r\n fullWidth={false}\r\n type=\"submit\"\r\n variant=\"contained\"\r\n color=\"primary\"\r\n onClick={formik.submitForm}\r\n >\r\n Save\r\n </Button>\r\n </div>\r\n }\r\n />\r\n <FormikProvider value={formik}>\r\n <InfoForm />\r\n </FormikProvider>\r\n <SectionHead className={styles.editorSectionHead} text=\"API Methods\" />\r\n <FormikProvider value={formik}>\r\n {formik.values.paths.map((path, pathIndex) => (\r\n <>\r\n {path.methods\r\n .sort(\r\n (a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order\r\n )\r\n .map((method, methodIndex) => (\r\n <MethodsAccordion\r\n tags={formik.values.tags}\r\n method={method}\r\n path={path.path}\r\n setFieldValue={(key, value) => {\r\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\r\n formik.setFieldValue(h, value)\r\n }}\r\n />\r\n ))}\r\n </>\r\n ))}\r\n </FormikProvider>\r\n </div>\r\n <div className={`${styles.livePreviewSide} ${styles.docSide}`}>\r\n {transformedOpenApi && (\r\n <FormikProvider value={formik}>\r\n <LivePreview transformedData={transformedOpenApi} />\r\n </FormikProvider>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Layout\r\n"],"names":["Layout","openApiJson","handleSave","clonedOpenApiJson","structuredClone","transformedOpenApi","transformOpenApiObject","formik","useFormik","initialValues","validationSchema","schemaValidation","validateOnMount","onSubmit","values","validateForm","resetForm","originalOpenApiForm","transformOpenApiObjectToOrigin","_jsxs","jsxs","className","styles","docsLayout","children","_jsx","jsx","Alert","apiDocAlert","color","layoutContainer","editorSide","docSide","SectionHead","editorSectionHead","text","editorSectionHead_content","Button","methodForm_submitBtn","size","fullWidth","type","variant","onClick","submitForm","FormikProvider","value","InfoForm","paths","map","path","pathIndex","_Fragment","methods","sort","a","b","methodColorMapping","order","method","methodIndex","MethodsAccordion","tags","setFieldValue","key","h","livePreviewSide","LivePreview","transformedData"],"mappings":"sqBAmBM,MAAAA,EAAS,EAAGC,cAAaC,iBAC7B,MAAMC,EAAoBC,gBAAgBH,GACpCI,EAAqBC,EAAuBH,GAC5CI,EAASC,EAA8B,CAC3CC,cAAeL,gBAAgBC,GAC/BK,iBAAkBC,EAClBC,iBAAiB,EACjBC,SAAU,CAACC,GAAUC,eAAcC,gBAEjC,MAAMC,EAAsBC,EAA+BJ,GAC3DZ,EAAWe,GACXD,EAAU,CACRF,OAAQA,IAGVC,EAAaD,EAAO,IAIxB,OACEK,EAAAC,KAAA,MAAA,CAAKC,UAAWC,EAAOC,WACrBC,SAAA,CAAAC,EAAAC,IAACC,EAAKA,MAAC,CAAAN,UAAWC,EAAOM,YAAaC,MAAM,OAAML,SAAA,sGAIlDL,EAAAC,KAAA,MAAA,CAAKC,UAAWC,EAAOQ,0BACrBX,EAAKC,KAAA,MAAA,CAAAC,UAAW,GAAGC,EAAOS,cAAcT,EAAOU,UAASR,SAAA,CACtDC,EAAAA,IAACQ,EAAW,CACVZ,UAAWC,EAAOY,kBAClBC,KACEhB,EAAKC,KAAA,MAAA,CAAAC,UAAWC,EAAOc,0BAAyBZ,SAAA,CAAA,kBAE9CC,MAACY,EAAAA,QACChB,UAAWC,EAAOgB,qBAClBC,KAAK,SACLC,WAAW,EACXC,KAAK,SACLC,QAAQ,YACRb,MAAM,UACNc,QAASpC,EAAOqC,WAGTpB,SAAA,cAIfC,EAAAA,IAACoB,GAAeC,MAAOvC,EAAMiB,SAC3BC,MAACsB,EAAQ,MAEXtB,MAACQ,EAAW,CAACZ,UAAWC,EAAOY,kBAAmBC,KAAK,gBACvDV,MAACoB,EAAc,CAACC,MAAOvC,EACpBiB,SAAAjB,EAAOO,OAAOkC,MAAMC,KAAI,CAACC,EAAMC,IAC9B1B,EAAAA,IACG2B,EAAAA,SAAA,CAAA5B,SAAA0B,EAAKG,QACHC,MACC,CAACC,EAAGC,IAAMC,EAAmBF,EAAEd,MAAMiB,MAAQD,EAAmBD,EAAEf,MAAMiB,QAEzET,KAAI,CAACU,EAAQC,IACZnC,EAAAA,IAACoC,EACC,CAAAC,KAAMvD,EAAOO,OAAOgD,KACpBH,OAAQA,EACRT,KAAMA,EAAKA,KACXa,cAAe,CAACC,EAAKlB,KACnB,MAAMmB,EAAI,SAASd,cAAsBS,MAAgBI,IACzDzD,EAAOwD,cAAcE,EAAGnB,EAAM,eAQ9CrB,EAAAC,IAAA,MAAA,CAAKL,UAAW,GAAGC,EAAO4C,mBAAmB5C,EAAOU,UAASR,SAC1DnB,GACCoB,MAACoB,EAAc,CAACC,MAAOvC,WACrBkB,EAAAA,IAAC0C,GAAYC,gBAAiB/D,aAMzC"}
1
+ {"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["import { JSX, useEffect, useState } from 'react'\r\nimport { Alert, Button } from 'digitinary-ui'\r\nimport MethodsAccordion from '../components/MethodAccordion/MethodAccordion'\r\nimport styles from './layout.module.css'\r\nimport InfoForm from '../components/InfoForm/InfoForm'\r\nimport SectionHead from '../components/SectionHead/SectionHead'\r\nimport { transformOpenApiObject, transformOpenApiObjectToOrigin } from '../helpers/layout.helper'\r\nimport { OpenAPIFile } from '../types/openApi'\r\nimport LivePreview from '../components/LivePreview/LivePreview'\r\nimport { FormikProvider, useFormik } from 'formik'\r\nimport { schemaValidation } from '../validator/form.scheme'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\nimport { methodColorMapping } from '../constants/index'\r\nimport CommonDialog from '../components/dialog'\r\n\r\ninterface ILayoutProps {\r\n openApiJson?: OpenAPIFile\r\n handleSave?: (values: unknown) => unknown\r\n setIsFormDirty?: any\r\n}\r\n\r\nconst Layout = ({ openApiJson, handleSave, setIsFormDirty }: ILayoutProps): JSX.Element => {\r\n const clonedOpenApiJson = structuredClone(openApiJson)\r\n const transformedOpenApi = transformOpenApiObject(clonedOpenApiJson)\r\n const formik = useFormik<TransformedOpenApi>({\r\n initialValues: structuredClone(transformedOpenApi),\r\n validationSchema: schemaValidation,\r\n validateOnMount: true,\r\n onSubmit: (values, { validateForm, resetForm }) => {\r\n // Handle save logic\r\n const originalOpenApiForm = transformOpenApiObjectToOrigin(values)\r\n handleSave(originalOpenApiForm)\r\n resetForm({\r\n values: values, // You can reset it to the same values if you want\r\n })\r\n\r\n validateForm(values)\r\n },\r\n })\r\n const [isPublishDialogOpen, setIsPublishDialogOpen] = useState(false)\r\n\r\n useEffect(() => {\r\n if (setIsFormDirty) {\r\n setIsFormDirty(formik.dirty)\r\n }\r\n }, [formik.dirty])\r\n\r\n return (\r\n <div className={styles.docsLayout}>\r\n {formik.dirty && (\r\n <Alert className={styles.apiDocAlert} color=\"warning\" severity=\"warning\">\r\n There are changes you made may not be saved\r\n </Alert>\r\n )}\r\n <div className={styles.layoutContainer}>\r\n <div className={`${styles.editorSide} ${styles.docSide}`}>\r\n <SectionHead\r\n className={styles.editorSectionHead}\r\n text={\r\n <div className={styles.editorSectionHead_content}>\r\n API Information\r\n <Button\r\n className={styles.methodForm_submitBtn}\r\n size=\"medium\"\r\n fullWidth={false}\r\n type=\"submit\"\r\n variant=\"contained\"\r\n color=\"primary\"\r\n onClick={() => setIsPublishDialogOpen(true)}\r\n disabled={!formik.isValid || formik.isSubmitting}\r\n >\r\n Save\r\n </Button>\r\n </div>\r\n }\r\n />\r\n <FormikProvider value={formik}>\r\n <InfoForm />\r\n </FormikProvider>\r\n <SectionHead className={styles.editorSectionHead} text=\"API Methods\" />\r\n <FormikProvider value={formik}>\r\n {formik.values.paths.map((path, pathIndex) => (\r\n <>\r\n {path.methods\r\n .sort(\r\n (a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order\r\n )\r\n .map((method, methodIndex) => (\r\n <MethodsAccordion\r\n tags={formik.values.tags}\r\n method={method}\r\n path={path.path}\r\n setFieldValue={(key, value) => {\r\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\r\n formik.setFieldValue(h, value)\r\n }}\r\n />\r\n ))}\r\n </>\r\n ))}\r\n </FormikProvider>\r\n </div>\r\n <div className={`${styles.livePreviewSide} ${styles.docSide}`}>\r\n {transformedOpenApi && (\r\n <FormikProvider value={formik}>\r\n <LivePreview transformedData={transformedOpenApi} />\r\n </FormikProvider>\r\n )}\r\n </div>\r\n </div>\r\n <CommonDialog\r\n status=\"warning\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n >\r\n Are you sure you want to Publish your changes?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: () => {\r\n formik.handleSubmit()\r\n setIsPublishDialogOpen(false)\r\n },\r\n text: 'Publish',\r\n color: 'warning',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setIsPublishDialogOpen(false)}\r\n open={isPublishDialogOpen}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Layout\r\n"],"names":["Layout","openApiJson","handleSave","setIsFormDirty","clonedOpenApiJson","structuredClone","transformedOpenApi","transformOpenApiObject","formik","useFormik","initialValues","validationSchema","schemaValidation","validateOnMount","onSubmit","values","validateForm","resetForm","originalOpenApiForm","transformOpenApiObjectToOrigin","isPublishDialogOpen","setIsPublishDialogOpen","useState","useEffect","dirty","_jsxs","jsxs","className","styles","docsLayout","children","_jsx","Alert","apiDocAlert","color","severity","layoutContainer","editorSide","docSide","SectionHead","editorSectionHead","text","editorSectionHead_content","Button","methodForm_submitBtn","size","fullWidth","type","variant","onClick","disabled","isValid","isSubmitting","FormikProvider","value","jsx","InfoForm","paths","map","path","pathIndex","_Fragment","methods","sort","a","b","methodColorMapping","order","method","methodIndex","MethodsAccordion","tags","setFieldValue","key","h","livePreviewSide","LivePreview","transformedData","CommonDialog","status","content","style","textAlign","fontWeight","fontSize","lineHeight","handleSubmit","onCancel","onClose","open"],"mappings":"mwBAqBM,MAAAA,EAAS,EAAGC,cAAaC,aAAYC,qBACzC,MAAMC,EAAoBC,gBAAgBJ,GACpCK,EAAqBC,EAAuBH,GAC5CI,EAASC,EAA8B,CAC3CC,cAAeL,gBAAgBC,GAC/BK,iBAAkBC,EAClBC,iBAAiB,EACjBC,SAAU,CAACC,GAAUC,eAAcC,gBAEjC,MAAMC,EAAsBC,EAA+BJ,GAC3Db,EAAWgB,GACXD,EAAU,CACRF,OAAQA,IAGVC,EAAaD,EAAO,KAGjBK,EAAqBC,GAA0BC,GAAS,GAQ/D,OANAC,GAAU,KACJpB,GACFA,EAAeK,EAAOgB,MACvB,GACA,CAAChB,EAAOgB,QAGTC,EAAKC,KAAA,MAAA,CAAAC,UAAWC,EAAOC,WACpBC,SAAA,CAAAtB,EAAOgB,OACNO,EAAAA,IAACC,EAAAA,MAAM,CAAAL,UAAWC,EAAOK,YAAaC,MAAM,UAAUC,SAAS,UAEvDL,SAAA,gDAEVL,EAAAC,KAAA,MAAA,CAAKC,UAAWC,EAAOQ,gBAAeN,SAAA,CACpCL,cAAKE,UAAW,GAAGC,EAAOS,cAAcT,EAAOU,UAC7CR,SAAA,CAAAC,EAAAA,IAACQ,EAAW,CACVZ,UAAWC,EAAOY,kBAClBC,KACEhB,EAAAA,KAAA,MAAA,CAAKE,UAAWC,EAAOc,sDAErBX,EAAAA,IAACY,EAAAA,QACChB,UAAWC,EAAOgB,qBAClBC,KAAK,SACLC,WAAW,EACXC,KAAK,SACLC,QAAQ,YACRd,MAAM,UACNe,QAAS,IAAM5B,GAAuB,GACtC6B,UAAW1C,EAAO2C,SAAW3C,EAAO4C,aAAYtB,SAAA,cAOxDC,MAACsB,EAAc,CAACC,MAAO9C,WACrBuB,EAACwB,IAAAC,EAAW,CAAA,KAEdzB,EAAAA,IAACQ,GAAYZ,UAAWC,EAAOY,kBAAmBC,KAAK,gBACvDV,EAACwB,IAAAF,GAAeC,MAAO9C,EAAMsB,SAC1BtB,EAAOO,OAAO0C,MAAMC,KAAI,CAACC,EAAMC,IAC9B7B,EAAAA,IACG8B,EAAAA,SAAA,CAAA/B,SAAA6B,EAAKG,QACHC,MACC,CAACC,EAAGC,IAAMC,EAAmBF,EAAEjB,MAAMoB,MAAQD,EAAmBD,EAAElB,MAAMoB,QAEzET,KAAI,CAACU,EAAQC,IACZtC,EAAAA,IAACuC,EACC,CAAAC,KAAM/D,EAAOO,OAAOwD,KACpBH,OAAQA,EACRT,KAAMA,EAAKA,KACXa,cAAe,CAACC,EAAKnB,KACnB,MAAMoB,EAAI,SAASd,cAAsBS,MAAgBI,IACzDjE,EAAOgE,cAAcE,EAAGpB,EAAM,eAQ9CvB,MAAA,MAAA,CAAKJ,UAAW,GAAGC,EAAO+C,mBAAmB/C,EAAOU,UACjDR,SAAAxB,GACCyB,EAAAA,IAACsB,GAAeC,MAAO9C,EAAMsB,SAC3BC,EAAAA,IAAC6C,EAAY,CAAAC,gBAAiBvE,WAKtCyB,EAAAA,IAAC+C,EAAY,CACXC,OAAO,UACPC,QACEjD,EACEwB,IAAA,IAAA,CAAA0B,MAAO,CACLC,UAAW,SACXC,WAAY,IACZC,SAAU,OACVC,WAAY,aAIZvD,SAAA,mDAENhB,SAAU,CACRmC,QAAS,KACPzC,EAAO8E,eACPjE,GAAuB,EAAM,EAE/BoB,KAAM,UACNP,MAAO,UACPY,WAAW,GAEbyC,SAAU,CACR9C,KAAM,SACNP,MAAO,SACPY,WAAW,GAEb0C,QAAS,IAAMnE,GAAuB,GACtCoE,KAAMrE,MAGX"}
@@ -1,2 +1,2 @@
1
- import{object as e,string as o,array as i,mixed as r,lazy as t}from"../../node_modules/yup/index.esm.js";const a=e({openapi:o().required(),info:e({title:o().required("API Name is required."),description:o().optional(),version:o().required("API Version is required")}).required(),servers:i(e({url:o().url().required(),description:o().optional()})).optional(),paths:r().required(),components:e({schemas:t((a=>e(a?Object.keys(a).reduce(((a,s)=>(a[s]=e({type:o().optional(),format:o().optional(),properties:t((o=>e(o?Object.keys(o).reduce(((e,o)=>(e[o]=r(),e)),{}):{}))).optional(),items:r().optional(),enum:i(o()).optional(),required:i(o()).optional()}),a)),{}):{}))).optional(),securitySchemes:e().optional()}).optional(),security:i(e().shape({schemeName:i(o()).optional()})).optional(),tags:i(e({name:o().required(),description:o().optional()})).optional()});export{a as schemaValidation};
1
+ import{object as e,string as i,array as o,mixed as r,lazy as t}from"../../node_modules/yup/index.esm.js";const s=e({openapi:i().required(),info:e({title:i().trim().required("API Name is required."),description:i().required(),version:i().required("API Version is required")}).required(),servers:o(e({url:i().url().required(),description:i().optional()})).optional(),paths:r().required(),components:e({schemas:t((s=>e(s?Object.keys(s).reduce(((s,a)=>(s[a]=e({type:i().optional(),format:i().optional(),properties:t((i=>e(i?Object.keys(i).reduce(((e,i)=>(e[i]=r(),e)),{}):{}))).optional(),items:r().optional(),enum:o(i()).optional(),required:o(i()).optional()}),s)),{}):{}))).optional(),securitySchemes:e().optional()}).optional(),security:o(e().shape({schemeName:o(i()).optional()})).optional(),tags:o(e({name:i().required(),description:i().optional()})).optional()});export{s as schemaValidation};
2
2
  //# sourceMappingURL=form.scheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.scheme.js","sources":["../../../src/validator/form.scheme.ts"],"sourcesContent":["import * as yup from \"yup\";\r\nexport const schemaValidation = yup.object({\r\n openapi: yup.string().required(),\r\n info: yup\r\n .object({\r\n title: yup.string().required(\"API Name is required.\"),\r\n description: yup.string().optional(),\r\n version: yup.string().required(\"API Version is required\"),\r\n })\r\n .required(),\r\n servers: yup\r\n .array(\r\n yup.object({\r\n url: yup.string().url().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n paths: yup.mixed().required(), // Assuming TransformedPathsArray is validated elsewhere\r\n components: yup\r\n .object({\r\n schemas: yup\r\n .lazy((value) =>\r\n yup.object(\r\n value\r\n ? Object.keys(value).reduce((acc, key) => {\r\n acc[key] = yup.object({\r\n type: yup.string().optional(),\r\n format: yup.string().optional(),\r\n properties: yup\r\n .lazy((props) =>\r\n yup.object(\r\n props\r\n ? Object.keys(props).reduce((acc, propKey) => {\r\n acc[propKey] = yup.mixed();\r\n return acc;\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n items: yup.mixed().optional(),\r\n enum: yup.array(yup.string()).optional(),\r\n required: yup.array(yup.string()).optional(),\r\n });\r\n return acc;\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n securitySchemes: yup.object().optional(),\r\n })\r\n .optional(),\r\n security: yup\r\n .array(\r\n yup.object().shape({\r\n schemeName: yup.array(yup.string()).optional(),\r\n })\r\n )\r\n .optional(),\r\n tags: yup\r\n .array(\r\n yup.object({\r\n name: yup.string().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n});\r\n"],"names":["schemaValidation","yup.object","openapi","yup.string","required","info","yup\n .object","title","description","optional","version","servers","yup\n .array","url","paths","yup.mixed","components","schemas","yup\n .lazy","value","Object","keys","reduce","acc","key","type","format","properties","yup\n .lazy","props","propKey","items","enum","yup.array","securitySchemes","security","shape","schemeName","tags","name"],"mappings":"yGACa,MAAAA,EAAmBC,EAAW,CACzCC,QAASC,IAAaC,WACtBC,KAAMC,EACI,CACNC,MAAOJ,IAAaC,SAAS,yBAC7BI,YAAaL,IAAaM,WAC1BC,QAASP,IAAaC,SAAS,6BAEhCA,WACHO,QAASC,EAELX,EAAW,CACTY,IAAKV,IAAaU,MAAMT,WACxBI,YAAaL,IAAaM,cAG7BA,WACHK,MAAOC,IAAYX,WACnBY,WAAYV,EACF,CACNW,QAASC,GACAC,GACLlB,EACEkB,EACIC,OAAOC,KAAKF,GAAOG,QAAO,CAACC,EAAKC,KAC9BD,EAAIC,GAAOvB,EAAW,CACpBwB,KAAMtB,IAAaM,WACnBiB,OAAQvB,IAAaM,WACrBkB,WAAYC,GACHC,GACL5B,EACE4B,EACIT,OAAOC,KAAKQ,GAAOP,QAAO,CAACC,EAAKO,KAC9BP,EAAIO,GAAWf,IACRQ,IACN,IACH,CAAA,KAGPd,WACHsB,MAAOhB,IAAYN,WACnBuB,KAAMC,EAAU9B,KAAcM,WAC9BL,SAAU6B,EAAU9B,KAAcM,aAE7Bc,IACN,IACH,CAAA,KAGPd,WACHyB,gBAAiBjC,IAAaQ,aAE/BA,WACH0B,SAAUvB,EAENX,IAAamC,MAAM,CACjBC,WAAYJ,EAAU9B,KAAcM,cAGvCA,WACH6B,KAAM1B,EAEFX,EAAW,CACTsC,KAAMpC,IAAaC,WACnBI,YAAaL,IAAaM,cAG7BA"}
1
+ {"version":3,"file":"form.scheme.js","sources":["../../../src/validator/form.scheme.ts"],"sourcesContent":["import * as yup from 'yup'\r\nexport const schemaValidation = yup.object({\r\n openapi: yup.string().required(),\r\n info: yup\r\n .object({\r\n title: yup.string().trim().required('API Name is required.'),\r\n description: yup.string().required(),\r\n version: yup.string().required('API Version is required'),\r\n })\r\n .required(),\r\n servers: yup\r\n .array(\r\n yup.object({\r\n url: yup.string().url().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n paths: yup.mixed().required(), // Assuming TransformedPathsArray is validated elsewhere\r\n components: yup\r\n .object({\r\n schemas: yup\r\n .lazy((value) =>\r\n yup.object(\r\n value\r\n ? Object.keys(value).reduce((acc, key) => {\r\n acc[key] = yup.object({\r\n type: yup.string().optional(),\r\n format: yup.string().optional(),\r\n properties: yup\r\n .lazy((props) =>\r\n yup.object(\r\n props\r\n ? Object.keys(props).reduce((acc, propKey) => {\r\n acc[propKey] = yup.mixed()\r\n return acc\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n items: yup.mixed().optional(),\r\n enum: yup.array(yup.string()).optional(),\r\n required: yup.array(yup.string()).optional(),\r\n })\r\n return acc\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n securitySchemes: yup.object().optional(),\r\n })\r\n .optional(),\r\n security: yup\r\n .array(\r\n yup.object().shape({\r\n schemeName: yup.array(yup.string()).optional(),\r\n })\r\n )\r\n .optional(),\r\n tags: yup\r\n .array(\r\n yup.object({\r\n name: yup.string().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n})\r\n"],"names":["schemaValidation","yup.object","openapi","yup.string","required","info","yup\n .object","title","trim","description","version","servers","yup\n .array","url","optional","paths","yup.mixed","components","schemas","yup\n .lazy","value","Object","keys","reduce","acc","key","type","format","properties","yup\n .lazy","props","propKey","items","enum","yup.array","securitySchemes","security","shape","schemeName","tags","name"],"mappings":"yGACa,MAAAA,EAAmBC,EAAW,CACzCC,QAASC,IAAaC,WACtBC,KAAMC,EACI,CACNC,MAAOJ,IAAaK,OAAOJ,SAAS,yBACpCK,YAAaN,IAAaC,WAC1BM,QAASP,IAAaC,SAAS,6BAEhCA,WACHO,QAASC,EAELX,EAAW,CACTY,IAAKV,IAAaU,MAAMT,WACxBK,YAAaN,IAAaW,cAG7BA,WACHC,MAAOC,IAAYZ,WACnBa,WAAYX,EACF,CACNY,QAASC,GACAC,GACLnB,EACEmB,EACIC,OAAOC,KAAKF,GAAOG,QAAO,CAACC,EAAKC,KAC9BD,EAAIC,GAAOxB,EAAW,CACpByB,KAAMvB,IAAaW,WACnBa,OAAQxB,IAAaW,WACrBc,WAAYC,GACHC,GACL7B,EACE6B,EACIT,OAAOC,KAAKQ,GAAOP,QAAO,CAACC,EAAKO,KAC9BP,EAAIO,GAAWf,IACRQ,IACN,IACH,CAAA,KAGPV,WACHkB,MAAOhB,IAAYF,WACnBmB,KAAMC,EAAU/B,KAAcW,WAC9BV,SAAU8B,EAAU/B,KAAcW,aAE7BU,IACN,IACH,CAAA,KAGPV,WACHqB,gBAAiBlC,IAAaa,aAE/BA,WACHsB,SAAUxB,EAENX,IAAaoC,MAAM,CACjBC,WAAYJ,EAAU/B,KAAcW,cAGvCA,WACHyB,KAAM3B,EAEFX,EAAW,CACTuC,KAAMrC,IAAaC,WACnBK,YAAaN,IAAaW,cAG7BA"}