@xyo-network/react-typedoc 2.67.5 → 2.67.7

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 (28) hide show
  1. package/dist/browser/ReflectionViewer/SomeTypeViewer/buildTypeString.d.cts.map +1 -1
  2. package/dist/browser/ReflectionViewer/SomeTypeViewer/buildTypeString.d.mts.map +1 -1
  3. package/dist/browser/ReflectionViewer/SomeTypeViewer/buildTypeString.d.ts.map +1 -1
  4. package/dist/browser/index.cjs +23 -18
  5. package/dist/browser/index.cjs.map +1 -1
  6. package/dist/browser/index.js +23 -18
  7. package/dist/browser/index.js.map +1 -1
  8. package/dist/browser/resolveChildren.d.cts.map +1 -1
  9. package/dist/browser/resolveChildren.d.mts.map +1 -1
  10. package/dist/browser/resolveChildren.d.ts.map +1 -1
  11. package/dist/node/ReflectionViewer/SomeTypeViewer/buildTypeString.d.cts.map +1 -1
  12. package/dist/node/ReflectionViewer/SomeTypeViewer/buildTypeString.d.mts.map +1 -1
  13. package/dist/node/ReflectionViewer/SomeTypeViewer/buildTypeString.d.ts.map +1 -1
  14. package/dist/node/index.cjs +23 -19
  15. package/dist/node/index.cjs.map +1 -1
  16. package/dist/node/index.js +23 -19
  17. package/dist/node/index.js.map +1 -1
  18. package/dist/node/resolveChildren.d.cts.map +1 -1
  19. package/dist/node/resolveChildren.d.mts.map +1 -1
  20. package/dist/node/resolveChildren.d.ts.map +1 -1
  21. package/package.json +7 -7
  22. package/src/ReflectionViewer/DeclarationContainer.tsx +2 -2
  23. package/src/ReflectionViewer/SomeTypeViewer/buildReferenceString.ts +2 -2
  24. package/src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx +7 -6
  25. package/src/TreeViewer/Reflection.tsx +1 -1
  26. package/src/createLookup.ts +1 -1
  27. package/src/resolveChildren.ts +6 -4
  28. package/src/trimFlagLabel.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"buildTypeString.d.ts","sourceRoot":"","sources":["../../../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,eAAe,EAAE,WAqC7B,CAAA"}
1
+ {"version":3,"file":"buildTypeString.d.ts","sourceRoot":"","sources":["../../../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,eAAe,EAAE,WAsC7B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildTypeString.d.ts","sourceRoot":"","sources":["../../../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,eAAe,EAAE,WAqC7B,CAAA"}
1
+ {"version":3,"file":"buildTypeString.d.ts","sourceRoot":"","sources":["../../../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,eAAe,EAAE,WAsC7B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildTypeString.d.ts","sourceRoot":"","sources":["../../../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,eAAe,EAAE,WAqC7B,CAAA"}
1
+ {"version":3,"file":"buildTypeString.d.ts","sourceRoot":"","sources":["../../../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,eAAO,MAAM,eAAe,EAAE,WAsC7B,CAAA"}
@@ -82,7 +82,9 @@ var import_assert = require("@xylabs/assert");
82
82
  // src/createLookup.ts
83
83
  var createLookup = (reflection) => {
84
84
  const lookup = {};
85
- reflection.children?.forEach((item) => lookup[item.id] = item);
85
+ if (reflection.children)
86
+ for (const item of reflection.children)
87
+ lookup[item.id] = item;
86
88
  return lookup;
87
89
  };
88
90
 
@@ -96,17 +98,19 @@ var import_react_router_dom = require("react-router-dom");
96
98
  var resolveChildren = (reflection, lookup = {}) => {
97
99
  return reflection.children?.map((child) => {
98
100
  switch (typeof child) {
99
- case "object":
101
+ case "object": {
100
102
  return child;
103
+ }
101
104
  case "number": {
102
105
  const childObj = lookup[child];
103
106
  if (childObj === void 0) {
104
- throw Error(`Child Reference Not Found [${child}]`);
107
+ throw new Error(`Child Reference Not Found [${child}]`);
105
108
  }
106
109
  return childObj;
107
110
  }
108
- default:
109
- throw Error(`Invalid Child Type [${typeof child}, ${child}]`);
111
+ default: {
112
+ throw new Error(`Invalid Child Type [${typeof child}, ${child}]`);
113
+ }
110
114
  }
111
115
  }) ?? [];
112
116
  };
@@ -121,7 +125,7 @@ var import_react_flexbox2 = require("@xylabs/react-flexbox");
121
125
  // src/trimFlagLabel.ts
122
126
  var trimFlagLabel = (label) => {
123
127
  if (label.startsWith("is")) {
124
- return label.substring(2);
128
+ return label.slice(2);
125
129
  }
126
130
  return label;
127
131
  };
@@ -158,13 +162,13 @@ var buildReferenceString = (typeObj, reflectionViewer, typeBuilder) => {
158
162
  const parts = [];
159
163
  parts.push(typeObj.name);
160
164
  if (typeObj.typeArguments) {
161
- parts.push("<");
162
165
  parts.push(
166
+ "<",
163
167
  typeObj.typeArguments.map((arg) => {
164
168
  return typeBuilder(arg, reflectionViewer);
165
- }).join(", ")
169
+ }).join(", "),
170
+ ">"
166
171
  );
167
- parts.push(">");
168
172
  }
169
173
  return parts;
170
174
  };
@@ -195,16 +199,18 @@ var buildTypeString = (type, reflectionViewer) => {
195
199
  const someType = type;
196
200
  const parts = [];
197
201
  switch (someType.type) {
198
- case "intrinsic":
202
+ case "intrinsic": {
199
203
  parts.push(someType.name);
200
204
  break;
205
+ }
201
206
  case "intersection": {
202
207
  parts.push(...buildIntersectionString(someType, reflectionViewer, buildTypeString));
203
208
  break;
204
209
  }
205
- case "literal":
210
+ case "literal": {
206
211
  parts.push(JSON.stringify(someType.value));
207
212
  break;
213
+ }
208
214
  case "array": {
209
215
  parts.push(...buildArrayString(someType, reflectionViewer, buildTypeString));
210
216
  break;
@@ -220,11 +226,10 @@ var buildTypeString = (type, reflectionViewer) => {
220
226
  case "reflection": {
221
227
  return buildRelfectionString(someType, reflectionViewer);
222
228
  }
223
- default:
224
- parts.push("#");
225
- parts.push(someType.type);
226
- parts.push("#");
229
+ default: {
230
+ parts.push("#", someType.type, "#");
227
231
  break;
232
+ }
228
233
  }
229
234
  return parts.join("");
230
235
  };
@@ -414,8 +419,8 @@ var DeclarationContainerReflectionViewer = ({
414
419
  ContainerReflectionViewer,
415
420
  {
416
421
  title: "DeclarationContainerReflectionViewer",
417
- paper: hash.substring(1) === reflection.name,
418
- bgcolor: hash.substring(1) === reflection.name ? theme.palette.background.default : void 0,
422
+ paper: hash.slice(1) === reflection.name,
423
+ bgcolor: hash.slice(1) === reflection.name ? theme.palette.background.default : void 0,
419
424
  lookup,
420
425
  itemRenderer,
421
426
  reflection,
@@ -479,7 +484,7 @@ var ReflectionTreeViewer = ({ lookup, reflection, searchTerm, ...props }) => {
479
484
  children: reflection.groups?.map((group, index) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_x_tree_view.TreeItem, { nodeId: group.title, label: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_material7.Typography, { variant: "h6", children: group.title }), children: group.children.map((child, jndex) => {
480
485
  const searchTermTrimmed = searchTerm?.trim().toLowerCase();
481
486
  const childReflection = typeof child === "number" ? lookup?.[child] : child;
482
- return childReflection && (!searchTermTrimmed || childReflection.name.toLowerCase().indexOf(searchTermTrimmed) !== -1) ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
487
+ return childReflection && (!searchTermTrimmed || childReflection.name.toLowerCase().includes(searchTermTrimmed)) ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
483
488
  import_x_tree_view.TreeItem,
484
489
  {
485
490
  nodeId: `declaration-${childReflection?.id}`,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/CommentViewer.tsx","../../src/JsonViewerButton.tsx","../../src/ProjectTwoPanelReflectionViewer.tsx","../../src/createLookup.ts","../../src/ReflectionViewer/ReflectionGroupViewer.tsx","../../src/resolveChildren.ts","../../src/ReflectionViewer/ReflectionViewer.tsx","../../src/ReflectionViewer/NameViewer.tsx","../../src/trimFlagLabel.ts","../../src/ReflectionViewer/SomeTypeViewer/SomeTypeViewer.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildArrayString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildIntersectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildReferenceString.ts","../../src/ReflectionViewer/SomeTypeViewer/buildReflectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildUnionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx","../../src/ReflectionViewer/Container.tsx","../../src/ReflectionViewer/Declaration.tsx","../../src/ReflectionViewer/DeclarationContainer.tsx","../../src/ReflectionViewer/Project.tsx","../../src/TwoPanelReflectionViewer.tsx","../../src/TreeViewer/Reflection.tsx","../../src/TreeViewer/ReflectionGroup.tsx","../../src/SourceViewer.tsx"],"sourcesContent":["export * from './CommentViewer'\nexport * from './JsonViewerButton'\nexport * from './ProjectTwoPanelReflectionViewer'\nexport * from './ReflectionLookup'\nexport * from './ReflectionViewer'\nexport * from './SomeReflection'\nexport * from './SourceViewer'\nexport * from './TreeViewer'\nexport * from './TwoPanelReflectionViewer'\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport type { Comment } from 'typedoc'\n\nexport interface CommentViewerProps extends FlexBoxProps {\n comment: Comment\n}\n\nexport const CommentViewer: React.FC<CommentViewerProps> = ({ comment, ...props }) => {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Typography variant=\"body2\">{comment.summary[0]?.text}</Typography>\n </FlexCol>\n )\n}\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { lazy, Suspense, useState } from 'react'\nimport type { ReactJsonViewProps } from 'react-json-view'\n\nconst JsonView = lazy(() => import(/* webpackChunkName: \"jsonView\" */ 'react-json-view'))\n\nexport interface JsonViewerButtonProps extends ButtonExProps {\n jsonViewProps?: Partial<ReactJsonViewProps>\n src: object\n}\n\nexport const JsonViewerButton: React.FC<JsonViewerButtonProps> = ({ jsonViewProps, src, title, ...props }) => {\n const [open, setOpen] = useState(false)\n return (\n <>\n <ButtonEx onClick={() => setOpen(!open)} {...props}>\n JSON\n </ButtonEx>\n <Dialog open={open} onClose={() => setOpen(false)}>\n {title ? <DialogTitle>{title}</DialogTitle> : null}\n <DialogContent>\n <Suspense fallback={<div />}>\n <JsonView src={src} {...jsonViewProps} />\n </Suspense>\n </DialogContent>\n <DialogActions>\n <ButtonEx onClick={() => setOpen(false)}>Close</ButtonEx>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { ProjectReflection } from 'typedoc'\n\nimport { ContainerReflectionViewerProps, DeclarationContainerReflectionViewer } from './ReflectionViewer'\nimport { TwoPanelReflectionViewer } from './TwoPanelReflectionViewer'\n\nexport const ProjectTwoPanelReflectionViewer: React.FC<ContainerReflectionViewerProps<ProjectReflection>> = ({\n reflection,\n itemRenderer = DeclarationContainerReflectionViewer,\n ...props\n}) => {\n assertEx(reflection.isProject, 'Project expected to be Project')\n return <TwoPanelReflectionViewer itemRenderer={itemRenderer} reflection={reflection} {...props} />\n}\n","import type { ContainerReflection, DeclarationReflection } from 'typedoc'\n\nexport const createLookup = <T extends DeclarationReflection>(reflection: ContainerReflection) => {\n const lookup: Record<number, T> = {}\n reflection.children?.forEach((item) => (lookup[item.id] = item as unknown as T))\n return lookup\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport type { ContainerReflection, ReflectionFlags, ReflectionGroup } from 'typedoc'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { resolveChildren } from '../resolveChildren'\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport interface ReflectionGroupViewerProps extends ReflectionViewerProps<ContainerReflection> {\n autoscroll?: boolean\n group: ReflectionGroup\n reflection: ContainerReflection\n renderer?: React.FC<ReflectionViewerProps>\n}\n\nexport const ReflectionGroupViewer: React.FC<ReflectionGroupViewerProps> = ({\n autoscroll = false,\n children,\n hiddenFlags,\n group,\n lookup,\n renderer = ReflectionViewer,\n variant,\n ...props\n}) => {\n const hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n }\n\n const resolvedChildern = resolveChildren(group, lookup) ?? []\n\n const visibleChildren = hiddenFlags\n ? resolvedChildern.reduce((acc, item) => {\n return acc + (hide(item.flags, hiddenFlags) ? 0 : 1)\n }, 0)\n : 1\n\n const { hash } = useLocation()\n useEffect(() => {\n if (hash && autoscroll) {\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }\n }, [hash, autoscroll])\n return visibleChildren > 0 ? (\n <FlexCol title=\"ReflectionGroupViewer\" {...props}>\n <FlexRow marginY={1} justifyContent=\"flex-start\">\n <Typography variant={variant}>{group.title}</Typography>\n <JsonViewerButton\n jsonViewProps={{ collapsed: 1 }}\n size=\"small\"\n variant=\"contained\"\n padding={0}\n marginX={1}\n src={resolveChildren(group, lookup)}\n />\n </FlexRow>\n {resolveChildren(group, lookup).map((reflection) => {\n return reflection ? (\n // I wrap this in a div since React does not understand that they have keys using the Renderer\n <div id={reflection.name} key={reflection.id}>\n {renderer({ hiddenFlags, lookup, margin: 1, padding: 1, reflection })}\n </div>\n ) : null\n })}\n {children}\n </FlexCol>\n ) : null\n}\n","import type { Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from './ReflectionLookup'\nimport { SomeReflection } from './SomeReflection'\n\ntype ReflectionWithChildren = { children: Reflection[] }\n\nexport const resolveChildren = <T extends SomeReflection>(reflection: ReflectionWithChildren, lookup: ReflectionLookup = {}): T[] => {\n return (reflection.children?.map((child) => {\n switch (typeof child) {\n case 'object':\n return child\n case 'number': {\n const childObj = lookup[child]\n if (childObj === undefined) {\n throw Error(`Child Reference Not Found [${child}]`)\n }\n return childObj\n }\n default:\n throw Error(`Invalid Child Type [${typeof child}, ${child}]`)\n }\n }) ?? []) as T[]\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { ReflectionFlags } from 'typedoc'\n\nimport { CommentViewer } from '../CommentViewer'\nimport { SomeReflection } from '../SomeReflection'\nimport { NameViewer } from './NameViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nconst hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n}\n\nexport const ReflectionViewer: React.FC<ReflectionViewerProps> = ({ variant, nameViewer, children, reflection, hiddenFlags, ...props }) => {\n const someReflection = reflection as SomeReflection\n\n return hide(reflection?.flags, hiddenFlags) ? null : (\n <FlexCol title=\"ReflectionViewer\" alignItems=\"stretch\" {...props}>\n {nameViewer === undefined ? (\n <NameViewer marginY={0.25} variant={variant} reflection={someReflection} reflectionViewer={ReflectionViewer} />\n ) : (\n nameViewer\n )}\n {reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}\n {/*sources && reflection.sources && children ? (\n <>\n {reflection.sources.map((source, index) => {\n return <SourceViewer key={index} source={source} />\n })}\n </>\n ) : null*/}\n {someReflection.parameters?.map((parameter) => {\n return <ReflectionViewer hiddenFlags={hiddenFlags} marginY={0.25} marginX={1} key={parameter.id} reflection={parameter} />\n }) ?? null}\n {children}\n </FlexCol>\n )\n}\n","import { Chip, Stack, Typography, TypographyVariant } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { SomeReflection } from '../SomeReflection'\nimport { trimFlagLabel } from '../trimFlagLabel'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\nimport { SomeTypeViewer } from './SomeTypeViewer'\n\nexport interface NameViewerProps extends FlexBoxProps {\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n variant?: TypographyVariant\n}\n\nexport const NameViewer: React.FC<NameViewerProps> = ({ reflectionViewer, variant, reflection, ...props }) => {\n return (\n <FlexRow justifyContent=\"flex-start\" {...props}>\n <FlexRow marginRight={1}>\n <Typography variant={variant} noWrap>\n {reflection.name}\n {reflection.type ? <>:&nbsp;</> : null}\n </Typography>\n <SomeTypeViewer reflection={reflection} reflectionViewer={reflectionViewer} />\n </FlexRow>\n <Stack direction=\"row\" spacing={1}>\n <Chip size=\"small\" label={reflection.kind} />\n {reflection.flags\n ? Object.entries(reflection.flags).map(([flag, value]) => {\n return value ? <Chip size=\"small\" key={flag} label={trimFlagLabel(flag)} variant=\"outlined\" /> : null\n })\n : null}\n </Stack>\n {document && document?.location.hostname === 'localhost' && (\n <JsonViewerButton jsonViewProps={{ collapsed: 1 }} size=\"small\" variant=\"contained\" padding={0} marginX={1} src={reflection} />\n )}\n </FlexRow>\n )\n}\n","export const trimFlagLabel = (label: string) => {\n if (label.startsWith('is')) {\n return label.substring(2)\n }\n return label\n}\n","import { Typography, TypographyProps } from '@mui/material'\n\nimport { SomeReflection } from '../../SomeReflection'\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildTypeString } from './buildTypeString'\n\nexport interface SomeTypeViewerProps extends TypographyProps {\n opacity?: number\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n}\n\nexport const SomeTypeViewer: React.FC<SomeTypeViewerProps> = ({ opacity = 0.5, reflection, reflectionViewer, ...props }) => {\n const typeReactNode = reflection.type ? buildTypeString(reflection.type, reflectionViewer) : ''\n if (typeof typeReactNode === 'string') {\n return (\n <Typography title=\"SomeTypeViewer\" style={{ opacity }} {...props}>\n {typeReactNode}\n </Typography>\n )\n }\n return <>{typeReactNode}</>\n}\n","import type { ArrayType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildArrayString = (typeObj: ArrayType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n const typeString = typeBuilder(typeObj.elementType, reflectionViewer)\n if (typeof typeString === 'string') {\n parts.push(typeString)\n }\n parts.push('[]')\n return parts\n}\n","import type { IntersectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildIntersectionString = (typeObj: IntersectionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' & '),\n )\n }\n return parts\n}\n","import type { ReferenceType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildReferenceString = (typeObj: ReferenceType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n parts.push(typeObj.name)\n if (typeObj.typeArguments) {\n parts.push('<')\n parts.push(\n typeObj.typeArguments\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(', '),\n )\n parts.push('>')\n }\n return parts\n}\n","import type { ReflectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\n\nexport const buildRelfectionString = (typeObj: ReflectionType, reflectionViewer: React.FC<ReflectionViewerProps>) => {\n if (typeObj.declaration) {\n return <>{reflectionViewer({ reflection: typeObj.declaration })}</>\n }\n}\n","import type { UnionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildUnionString = (typeObj: UnionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' | '),\n )\n }\n return parts\n}\n","import { ReactNode } from 'react'\nimport type { SomeType, Type } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildArrayString } from './buildArrayString'\nimport { buildIntersectionString } from './buildIntersectionString'\nimport { buildReferenceString } from './buildReferenceString'\nimport { buildRelfectionString } from './buildReflectionString'\nimport { buildUnionString } from './buildUnionString'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildTypeString: TypeBuilder = (type: SomeType | Type, reflectionViewer: React.FC<ReflectionViewerProps>): ReactNode => {\n const someType = type as SomeType\n const parts: string[] = []\n\n switch (someType.type) {\n case 'intrinsic':\n parts.push(someType.name)\n break\n case 'intersection': {\n parts.push(...buildIntersectionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'literal':\n parts.push(JSON.stringify(someType.value))\n break\n case 'array': {\n parts.push(...buildArrayString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reference': {\n parts.push(...buildReferenceString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'union': {\n parts.push(...buildUnionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reflection': {\n return buildRelfectionString(someType, reflectionViewer)\n }\n default:\n parts.push('#')\n parts.push(someType.type)\n parts.push('#')\n break\n }\n return parts.join('')\n}\n","import type { ContainerReflection, ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from '../createLookup'\nimport { ReflectionGroupViewer } from './ReflectionGroupViewer'\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport interface ContainerReflectionViewerProps<T extends ContainerReflection = ContainerReflection> extends ReflectionViewerProps<T> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n itemRenderer?: React.FC<ReflectionViewerProps<any>>\n}\n\nexport const ContainerReflectionViewer: React.FC<ContainerReflectionViewerProps> = ({\n children,\n reflection,\n hiddenFlags,\n itemRenderer = ReflectionViewer,\n ...props\n}) => {\n const lookup = createLookup(reflection)\n\n return (\n <ReflectionViewer title=\"ContainerReflectionViewer\" sources reflection={reflection} lookup={lookup} {...props}>\n {reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n margin={1}\n lookup={lookup}\n renderer={itemRenderer}\n key={group.title}\n group={group}\n reflection={reflection}\n hiddenFlags={hiddenFlags}\n alignItems=\"stretch\"\n />\n )\n })}\n {children}\n </ReflectionViewer>\n )\n}\n","import type { DeclarationReflection, SignatureReflection } from 'typedoc'\n\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport const DeclarationReflectionViewer: React.FC<ReflectionViewerProps<DeclarationReflection>> = ({ reflection, hiddenFlags, ...props }) => {\n const safeSignatures = (signatures?: SignatureReflection[] | SignatureReflection) => {\n return Array.isArray(signatures) ? signatures : signatures ? [signatures] : undefined\n }\n\n return (\n <ReflectionViewer\n nameViewer={reflection.signatures || reflection.getSignature || reflection.setSignature ? null : undefined}\n title=\"DeclarationReflectionViewer\"\n hiddenFlags={hiddenFlags}\n reflection={reflection}\n {...props}\n >\n {reflection.signatures?.map((signature) => {\n return <ReflectionViewer key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n {safeSignatures(reflection.getSignature)?.map((signature) => {\n return <ReflectionViewer marginX={1} key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n {safeSignatures(reflection.setSignature)?.map((signature) => {\n return <ReflectionViewer marginX={1} key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n </ReflectionViewer>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { useLocation } from 'react-router-dom'\nimport type { DeclarationReflection } from 'typedoc'\n\nimport { ContainerReflectionViewer, ContainerReflectionViewerProps } from './Container'\nimport { DeclarationReflectionViewer } from './Declaration'\n\nexport interface DeclarationContainerReflectionViewerProps extends ContainerReflectionViewerProps {\n reflection: DeclarationReflection\n}\n\nexport const DeclarationContainerReflectionViewer: React.FC<DeclarationContainerReflectionViewerProps> = ({\n reflection,\n lookup,\n itemRenderer = DeclarationReflectionViewer,\n ...props\n}) => {\n const { hash } = useLocation()\n const theme = useTheme()\n\n return (\n <ContainerReflectionViewer\n title=\"DeclarationContainerReflectionViewer\"\n paper={hash.substring(1) === reflection.name}\n bgcolor={hash.substring(1) === reflection.name ? theme.palette.background.default : undefined}\n lookup={lookup}\n itemRenderer={itemRenderer}\n reflection={reflection}\n {...props}\n />\n )\n}\n","import { useMemo } from 'react'\nimport type { ProjectReflection, ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from '../createLookup'\nimport { ContainerReflectionViewerProps } from './Container'\nimport { ReflectionGroupViewer } from './ReflectionGroupViewer'\nimport { ReflectionViewer } from './ReflectionViewer'\n\nexport const ProjectReflectionViewer: React.FC<ContainerReflectionViewerProps<ProjectReflection>> = ({\n reflection,\n hiddenFlags,\n itemRenderer = ReflectionViewer,\n ...props\n}) => {\n const lookup = useMemo(() => createLookup(reflection), [reflection])\n return (\n <ReflectionViewer title=\"ProjectReflectionViewer\" hiddenFlags={hiddenFlags} reflection={reflection} {...props}>\n {useMemo(() => {\n return reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n autoscroll\n variant=\"h6\"\n lookup={lookup}\n key={group.title}\n renderer={itemRenderer}\n group={group}\n reflection={reflection}\n alignItems=\"stretch\"\n hiddenFlags={hiddenFlags}\n />\n )\n })\n }, [lookup, reflection, hiddenFlags, itemRenderer])}\n </ReflectionViewer>\n )\n}\n","import { Search } from '@mui/icons-material'\nimport { TextField, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useMemo, useState } from 'react'\nimport type { ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from './createLookup'\nimport { ContainerReflectionViewerProps, ReflectionGroupViewer, ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionTreeViewer } from './TreeViewer'\n\nexport const TwoPanelReflectionViewer: React.FC<ContainerReflectionViewerProps> = ({\n reflection,\n itemRenderer = ReflectionViewer,\n hiddenFlags,\n ...props\n}) => {\n const lookup = useMemo(() => createLookup(reflection), [reflection])\n const theme = useTheme()\n const [searchTerm, setSearchTerm] = useState<string>()\n const onSearchTermChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchTerm(e.target.value)\n }\n\n const reflectionGroups = useMemo(() => {\n return reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n autoscroll\n variant=\"h6\"\n lookup={lookup}\n renderer={itemRenderer}\n key={group.title}\n group={group}\n reflection={reflection}\n alignItems=\"stretch\"\n hiddenFlags={hiddenFlags}\n />\n )\n })\n }, [itemRenderer, lookup, reflection, hiddenFlags])\n\n const NavigationCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexCol {...props}>\n <TextField\n fullWidth\n InputProps={{\n startAdornment: <Search />,\n }}\n onChange={onSearchTermChange}\n />\n <FlexGrowCol marginTop={1} alignItems=\"stretch\">\n <ReflectionTreeViewer\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n searchTerm={searchTerm}\n hiddenFlags={hiddenFlags}\n reflection={reflection}\n lookup={lookup}\n border={`1px solid ${theme.palette.grey['300']}`}\n borderRadius={1}\n paddingY={1}\n />\n </FlexGrowCol>\n </FlexCol>\n )\n }\n\n const DetailsCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <FlexGrowCol alignItems=\"stretch\">\n <FlexCol\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n borderRadius={1}\n padding={1}\n border={`1px solid ${theme.palette.grey['300']}`}\n >\n {reflectionGroups}\n </FlexCol>\n </FlexGrowCol>\n </FlexGrowCol>\n )\n }\n\n return (\n <FlexRow alignItems=\"stretch\" justifyContent=\"start\" sx={{ overflowY: 'scroll' }} {...props}>\n <NavigationCol minWidth={320} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n <DetailsCol marginLeft={1} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n </FlexRow>\n )\n}\n","import { Add, Remove } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport { TreeItem, TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useNavigate } from 'react-router-dom'\nimport type { ContainerReflection, Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from '../ReflectionLookup'\nimport { FlagFilter } from '../ReflectionViewer'\n\nexport interface ReflectionTreeViewerProps<T extends Reflection = ContainerReflection> extends FlexBoxProps {\n hiddenFlags?: FlagFilter[]\n lookup?: ReflectionLookup\n reflection: T\n searchTerm?: string\n}\n\nexport const ReflectionTreeViewer: React.FC<ReflectionTreeViewerProps> = ({ lookup, reflection, searchTerm, ...props }) => {\n const navigate = useNavigate()\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {/* TODO - move this into a title component */}\n {/*{nameViewer === undefined ? <NameViewer variant={variant} reflection={reflection} /> : nameViewer}*/}\n {/*{reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}*/}\n {/*{reflection.sources ? (*/}\n {/* <>*/}\n {/* {reflection.sources.map((source, index) => {*/}\n {/* return <SourceViewer key={index} source={source} />*/}\n {/* })}*/}\n {/* </>*/}\n {/*) : null}*/}\n {/* TODO - when searching do not include categories that dont have children, pull maps out of view */}\n <TreeView\n aria-label=\"XYO SDK Documentation\"\n defaultExpandIcon={<Add />}\n defaultCollapseIcon={<Remove />}\n defaultExpanded={reflection.groups ? [reflection.groups[0].title] : []}\n >\n {reflection.groups?.map((group, index) => (\n <TreeItem key={`primary-${index}`} nodeId={group.title} label={<Typography variant=\"h6\">{group.title}</Typography>}>\n {group.children.map((child, jndex) => {\n const searchTermTrimmed = searchTerm?.trim().toLowerCase()\n const childReflection = typeof child === 'number' ? lookup?.[child as number] : child\n return childReflection && (!searchTermTrimmed || childReflection.name.toLowerCase().indexOf(searchTermTrimmed) !== -1) ? (\n <TreeItem\n key={`secondary-${index}- ${jndex}`}\n nodeId={`declaration-${childReflection?.id}`}\n label={childReflection.name}\n onClick={() => {\n const hash = `#${childReflection.name}`\n navigate({ hash })\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }}\n />\n ) : null\n })}\n </TreeItem>\n ))}\n </TreeView>\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { ReflectionGroupViewerProps, ReflectionViewer } from '../ReflectionViewer'\nimport { resolveChildren } from '../resolveChildren'\n\nexport const ReflectionGroupTreeViewer: React.FC<ReflectionGroupViewerProps> = ({\n variant,\n group,\n children,\n lookup,\n renderer = ReflectionViewer,\n ...props\n}) => {\n return (\n <FlexCol {...props}>\n <FlexRow marginY={1} justifyContent=\"flex-start\">\n <Typography variant={variant}>{group.title}</Typography>\n <JsonViewerButton\n jsonViewProps={{ collapsed: 1 }}\n size=\"small\"\n variant=\"contained\"\n padding={0}\n marginX={1}\n src={resolveChildren(group, lookup)}\n />\n </FlexRow>\n {resolveChildren(group, lookup).map((reflection) => {\n return reflection ? (\n // I wrap this in a div since React does not understand that they have keys using the Renderer\n <div key={reflection.id}>{renderer({ lookup, margin: 1, reflection })}</div>\n ) : null\n })}\n {children}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport type { SourceReference } from 'typedoc'\n\nexport interface SourceViewerProps extends FlexBoxProps {\n source: SourceReference\n}\n\nexport const SourceViewer: React.FC<SourceViewerProps> = ({ source, ...props }) => {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Typography style={{ opacity: 0.5 }} variant=\"body2\">\n <i>{source.fileName}</i>\n </Typography>\n </FlexCol>\n )\n}\n"],"mappings":"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","names":["import_material","import_jsx_runtime","import_material","import_react_flexbox","import_react","import_react_flexbox","import_material","import_react_flexbox","import_material","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","hide","import_jsx_runtime","hide","hiddenFlags","import_jsx_runtime","import_jsx_runtime","import_material","import_react_router_dom","import_jsx_runtime","import_react","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_react","import_material","import_react_flexbox","import_react_router_dom","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime","import_jsx_runtime","props","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/CommentViewer.tsx","../../src/JsonViewerButton.tsx","../../src/ProjectTwoPanelReflectionViewer.tsx","../../src/createLookup.ts","../../src/ReflectionViewer/ReflectionGroupViewer.tsx","../../src/resolveChildren.ts","../../src/ReflectionViewer/ReflectionViewer.tsx","../../src/ReflectionViewer/NameViewer.tsx","../../src/trimFlagLabel.ts","../../src/ReflectionViewer/SomeTypeViewer/SomeTypeViewer.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildArrayString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildIntersectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildReferenceString.ts","../../src/ReflectionViewer/SomeTypeViewer/buildReflectionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildUnionString.tsx","../../src/ReflectionViewer/SomeTypeViewer/buildTypeString.tsx","../../src/ReflectionViewer/Container.tsx","../../src/ReflectionViewer/Declaration.tsx","../../src/ReflectionViewer/DeclarationContainer.tsx","../../src/ReflectionViewer/Project.tsx","../../src/TwoPanelReflectionViewer.tsx","../../src/TreeViewer/Reflection.tsx","../../src/TreeViewer/ReflectionGroup.tsx","../../src/SourceViewer.tsx"],"sourcesContent":["export * from './CommentViewer'\nexport * from './JsonViewerButton'\nexport * from './ProjectTwoPanelReflectionViewer'\nexport * from './ReflectionLookup'\nexport * from './ReflectionViewer'\nexport * from './SomeReflection'\nexport * from './SourceViewer'\nexport * from './TreeViewer'\nexport * from './TwoPanelReflectionViewer'\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport type { Comment } from 'typedoc'\n\nexport interface CommentViewerProps extends FlexBoxProps {\n comment: Comment\n}\n\nexport const CommentViewer: React.FC<CommentViewerProps> = ({ comment, ...props }) => {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Typography variant=\"body2\">{comment.summary[0]?.text}</Typography>\n </FlexCol>\n )\n}\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material'\nimport { ButtonEx, ButtonExProps } from '@xylabs/react-button'\nimport { lazy, Suspense, useState } from 'react'\nimport type { ReactJsonViewProps } from 'react-json-view'\n\nconst JsonView = lazy(() => import(/* webpackChunkName: \"jsonView\" */ 'react-json-view'))\n\nexport interface JsonViewerButtonProps extends ButtonExProps {\n jsonViewProps?: Partial<ReactJsonViewProps>\n src: object\n}\n\nexport const JsonViewerButton: React.FC<JsonViewerButtonProps> = ({ jsonViewProps, src, title, ...props }) => {\n const [open, setOpen] = useState(false)\n return (\n <>\n <ButtonEx onClick={() => setOpen(!open)} {...props}>\n JSON\n </ButtonEx>\n <Dialog open={open} onClose={() => setOpen(false)}>\n {title ? <DialogTitle>{title}</DialogTitle> : null}\n <DialogContent>\n <Suspense fallback={<div />}>\n <JsonView src={src} {...jsonViewProps} />\n </Suspense>\n </DialogContent>\n <DialogActions>\n <ButtonEx onClick={() => setOpen(false)}>Close</ButtonEx>\n </DialogActions>\n </Dialog>\n </>\n )\n}\n","import { assertEx } from '@xylabs/assert'\nimport type { ProjectReflection } from 'typedoc'\n\nimport { ContainerReflectionViewerProps, DeclarationContainerReflectionViewer } from './ReflectionViewer'\nimport { TwoPanelReflectionViewer } from './TwoPanelReflectionViewer'\n\nexport const ProjectTwoPanelReflectionViewer: React.FC<ContainerReflectionViewerProps<ProjectReflection>> = ({\n reflection,\n itemRenderer = DeclarationContainerReflectionViewer,\n ...props\n}) => {\n assertEx(reflection.isProject, 'Project expected to be Project')\n return <TwoPanelReflectionViewer itemRenderer={itemRenderer} reflection={reflection} {...props} />\n}\n","import type { ContainerReflection, DeclarationReflection } from 'typedoc'\n\nexport const createLookup = <T extends DeclarationReflection>(reflection: ContainerReflection) => {\n const lookup: Record<number, T> = {}\n if (reflection.children) for (const item of reflection.children) lookup[item.id] = item as unknown as T\n return lookup\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\nimport type { ContainerReflection, ReflectionFlags, ReflectionGroup } from 'typedoc'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { resolveChildren } from '../resolveChildren'\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport interface ReflectionGroupViewerProps extends ReflectionViewerProps<ContainerReflection> {\n autoscroll?: boolean\n group: ReflectionGroup\n reflection: ContainerReflection\n renderer?: React.FC<ReflectionViewerProps>\n}\n\nexport const ReflectionGroupViewer: React.FC<ReflectionGroupViewerProps> = ({\n autoscroll = false,\n children,\n hiddenFlags,\n group,\n lookup,\n renderer = ReflectionViewer,\n variant,\n ...props\n}) => {\n const hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n }\n\n const resolvedChildern = resolveChildren(group, lookup) ?? []\n\n const visibleChildren = hiddenFlags\n ? resolvedChildern.reduce((acc, item) => {\n return acc + (hide(item.flags, hiddenFlags) ? 0 : 1)\n }, 0)\n : 1\n\n const { hash } = useLocation()\n useEffect(() => {\n if (hash && autoscroll) {\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }\n }, [hash, autoscroll])\n return visibleChildren > 0 ? (\n <FlexCol title=\"ReflectionGroupViewer\" {...props}>\n <FlexRow marginY={1} justifyContent=\"flex-start\">\n <Typography variant={variant}>{group.title}</Typography>\n <JsonViewerButton\n jsonViewProps={{ collapsed: 1 }}\n size=\"small\"\n variant=\"contained\"\n padding={0}\n marginX={1}\n src={resolveChildren(group, lookup)}\n />\n </FlexRow>\n {resolveChildren(group, lookup).map((reflection) => {\n return reflection ? (\n // I wrap this in a div since React does not understand that they have keys using the Renderer\n <div id={reflection.name} key={reflection.id}>\n {renderer({ hiddenFlags, lookup, margin: 1, padding: 1, reflection })}\n </div>\n ) : null\n })}\n {children}\n </FlexCol>\n ) : null\n}\n","import type { Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from './ReflectionLookup'\nimport { SomeReflection } from './SomeReflection'\n\ntype ReflectionWithChildren = { children: Reflection[] }\n\nexport const resolveChildren = <T extends SomeReflection>(reflection: ReflectionWithChildren, lookup: ReflectionLookup = {}): T[] => {\n return (reflection.children?.map((child) => {\n switch (typeof child) {\n case 'object': {\n return child\n }\n case 'number': {\n const childObj = lookup[child]\n if (childObj === undefined) {\n throw new Error(`Child Reference Not Found [${child}]`)\n }\n return childObj\n }\n default: {\n throw new Error(`Invalid Child Type [${typeof child}, ${child}]`)\n }\n }\n }) ?? []) as T[]\n}\n","import { FlexCol } from '@xylabs/react-flexbox'\nimport type { ReflectionFlags } from 'typedoc'\n\nimport { CommentViewer } from '../CommentViewer'\nimport { SomeReflection } from '../SomeReflection'\nimport { NameViewer } from './NameViewer'\nimport { FlagFilter, ReflectionViewerProps } from './ReflectionViewerProps'\n\nconst hide = (flags?: ReflectionFlags, hiddenFlags: FlagFilter[] = []) => {\n let hide = false\n hiddenFlags.map((hiddenFlag) => {\n if (flags?.[hiddenFlag]) {\n hide = true\n }\n })\n return hide\n}\n\nexport const ReflectionViewer: React.FC<ReflectionViewerProps> = ({ variant, nameViewer, children, reflection, hiddenFlags, ...props }) => {\n const someReflection = reflection as SomeReflection\n\n return hide(reflection?.flags, hiddenFlags) ? null : (\n <FlexCol title=\"ReflectionViewer\" alignItems=\"stretch\" {...props}>\n {nameViewer === undefined ? (\n <NameViewer marginY={0.25} variant={variant} reflection={someReflection} reflectionViewer={ReflectionViewer} />\n ) : (\n nameViewer\n )}\n {reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}\n {/*sources && reflection.sources && children ? (\n <>\n {reflection.sources.map((source, index) => {\n return <SourceViewer key={index} source={source} />\n })}\n </>\n ) : null*/}\n {someReflection.parameters?.map((parameter) => {\n return <ReflectionViewer hiddenFlags={hiddenFlags} marginY={0.25} marginX={1} key={parameter.id} reflection={parameter} />\n }) ?? null}\n {children}\n </FlexCol>\n )\n}\n","import { Chip, Stack, Typography, TypographyVariant } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { SomeReflection } from '../SomeReflection'\nimport { trimFlagLabel } from '../trimFlagLabel'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\nimport { SomeTypeViewer } from './SomeTypeViewer'\n\nexport interface NameViewerProps extends FlexBoxProps {\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n variant?: TypographyVariant\n}\n\nexport const NameViewer: React.FC<NameViewerProps> = ({ reflectionViewer, variant, reflection, ...props }) => {\n return (\n <FlexRow justifyContent=\"flex-start\" {...props}>\n <FlexRow marginRight={1}>\n <Typography variant={variant} noWrap>\n {reflection.name}\n {reflection.type ? <>:&nbsp;</> : null}\n </Typography>\n <SomeTypeViewer reflection={reflection} reflectionViewer={reflectionViewer} />\n </FlexRow>\n <Stack direction=\"row\" spacing={1}>\n <Chip size=\"small\" label={reflection.kind} />\n {reflection.flags\n ? Object.entries(reflection.flags).map(([flag, value]) => {\n return value ? <Chip size=\"small\" key={flag} label={trimFlagLabel(flag)} variant=\"outlined\" /> : null\n })\n : null}\n </Stack>\n {document && document?.location.hostname === 'localhost' && (\n <JsonViewerButton jsonViewProps={{ collapsed: 1 }} size=\"small\" variant=\"contained\" padding={0} marginX={1} src={reflection} />\n )}\n </FlexRow>\n )\n}\n","export const trimFlagLabel = (label: string) => {\n if (label.startsWith('is')) {\n return label.slice(2)\n }\n return label\n}\n","import { Typography, TypographyProps } from '@mui/material'\n\nimport { SomeReflection } from '../../SomeReflection'\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildTypeString } from './buildTypeString'\n\nexport interface SomeTypeViewerProps extends TypographyProps {\n opacity?: number\n reflection: SomeReflection\n reflectionViewer: React.FC<ReflectionViewerProps>\n}\n\nexport const SomeTypeViewer: React.FC<SomeTypeViewerProps> = ({ opacity = 0.5, reflection, reflectionViewer, ...props }) => {\n const typeReactNode = reflection.type ? buildTypeString(reflection.type, reflectionViewer) : ''\n if (typeof typeReactNode === 'string') {\n return (\n <Typography title=\"SomeTypeViewer\" style={{ opacity }} {...props}>\n {typeReactNode}\n </Typography>\n )\n }\n return <>{typeReactNode}</>\n}\n","import type { ArrayType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildArrayString = (typeObj: ArrayType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n const typeString = typeBuilder(typeObj.elementType, reflectionViewer)\n if (typeof typeString === 'string') {\n parts.push(typeString)\n }\n parts.push('[]')\n return parts\n}\n","import type { IntersectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildIntersectionString = (typeObj: IntersectionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' & '),\n )\n }\n return parts\n}\n","import type { ReferenceType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildReferenceString = (typeObj: ReferenceType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n parts.push(typeObj.name)\n if (typeObj.typeArguments) {\n parts.push(\n '<',\n typeObj.typeArguments\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(', '),\n '>',\n )\n }\n return parts\n}\n","import type { ReflectionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\n\nexport const buildRelfectionString = (typeObj: ReflectionType, reflectionViewer: React.FC<ReflectionViewerProps>) => {\n if (typeObj.declaration) {\n return <>{reflectionViewer({ reflection: typeObj.declaration })}</>\n }\n}\n","import type { UnionType } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildUnionString = (typeObj: UnionType, reflectionViewer: React.FC<ReflectionViewerProps>, typeBuilder: TypeBuilder) => {\n const parts: string[] = []\n if (typeObj.types) {\n parts.push(\n typeObj.types\n .map((arg) => {\n return typeBuilder(arg, reflectionViewer)\n })\n .join(' | '),\n )\n }\n return parts\n}\n","import { ReactNode } from 'react'\nimport type { SomeType, Type } from 'typedoc'\n\nimport { ReflectionViewerProps } from '../ReflectionViewerProps'\nimport { buildArrayString } from './buildArrayString'\nimport { buildIntersectionString } from './buildIntersectionString'\nimport { buildReferenceString } from './buildReferenceString'\nimport { buildRelfectionString } from './buildReflectionString'\nimport { buildUnionString } from './buildUnionString'\nimport { TypeBuilder } from './TypeBuilder'\n\nexport const buildTypeString: TypeBuilder = (type: SomeType | Type, reflectionViewer: React.FC<ReflectionViewerProps>): ReactNode => {\n const someType = type as SomeType\n const parts: string[] = []\n\n switch (someType.type) {\n case 'intrinsic': {\n parts.push(someType.name)\n break\n }\n case 'intersection': {\n parts.push(...buildIntersectionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'literal': {\n parts.push(JSON.stringify(someType.value))\n break\n }\n case 'array': {\n parts.push(...buildArrayString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reference': {\n parts.push(...buildReferenceString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'union': {\n parts.push(...buildUnionString(someType, reflectionViewer, buildTypeString))\n break\n }\n case 'reflection': {\n return buildRelfectionString(someType, reflectionViewer)\n }\n default: {\n parts.push('#', someType.type, '#')\n break\n }\n }\n return parts.join('')\n}\n","import type { ContainerReflection, ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from '../createLookup'\nimport { ReflectionGroupViewer } from './ReflectionGroupViewer'\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport interface ContainerReflectionViewerProps<T extends ContainerReflection = ContainerReflection> extends ReflectionViewerProps<T> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n itemRenderer?: React.FC<ReflectionViewerProps<any>>\n}\n\nexport const ContainerReflectionViewer: React.FC<ContainerReflectionViewerProps> = ({\n children,\n reflection,\n hiddenFlags,\n itemRenderer = ReflectionViewer,\n ...props\n}) => {\n const lookup = createLookup(reflection)\n\n return (\n <ReflectionViewer title=\"ContainerReflectionViewer\" sources reflection={reflection} lookup={lookup} {...props}>\n {reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n margin={1}\n lookup={lookup}\n renderer={itemRenderer}\n key={group.title}\n group={group}\n reflection={reflection}\n hiddenFlags={hiddenFlags}\n alignItems=\"stretch\"\n />\n )\n })}\n {children}\n </ReflectionViewer>\n )\n}\n","import type { DeclarationReflection, SignatureReflection } from 'typedoc'\n\nimport { ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionViewerProps } from './ReflectionViewerProps'\n\nexport const DeclarationReflectionViewer: React.FC<ReflectionViewerProps<DeclarationReflection>> = ({ reflection, hiddenFlags, ...props }) => {\n const safeSignatures = (signatures?: SignatureReflection[] | SignatureReflection) => {\n return Array.isArray(signatures) ? signatures : signatures ? [signatures] : undefined\n }\n\n return (\n <ReflectionViewer\n nameViewer={reflection.signatures || reflection.getSignature || reflection.setSignature ? null : undefined}\n title=\"DeclarationReflectionViewer\"\n hiddenFlags={hiddenFlags}\n reflection={reflection}\n {...props}\n >\n {reflection.signatures?.map((signature) => {\n return <ReflectionViewer key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n {safeSignatures(reflection.getSignature)?.map((signature) => {\n return <ReflectionViewer marginX={1} key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n {safeSignatures(reflection.setSignature)?.map((signature) => {\n return <ReflectionViewer marginX={1} key={signature.id} hiddenFlags={hiddenFlags} reflection={signature} />\n })}\n </ReflectionViewer>\n )\n}\n","import { useTheme } from '@mui/material'\nimport { useLocation } from 'react-router-dom'\nimport type { DeclarationReflection } from 'typedoc'\n\nimport { ContainerReflectionViewer, ContainerReflectionViewerProps } from './Container'\nimport { DeclarationReflectionViewer } from './Declaration'\n\nexport interface DeclarationContainerReflectionViewerProps extends ContainerReflectionViewerProps {\n reflection: DeclarationReflection\n}\n\nexport const DeclarationContainerReflectionViewer: React.FC<DeclarationContainerReflectionViewerProps> = ({\n reflection,\n lookup,\n itemRenderer = DeclarationReflectionViewer,\n ...props\n}) => {\n const { hash } = useLocation()\n const theme = useTheme()\n\n return (\n <ContainerReflectionViewer\n title=\"DeclarationContainerReflectionViewer\"\n paper={hash.slice(1) === reflection.name}\n bgcolor={hash.slice(1) === reflection.name ? theme.palette.background.default : undefined}\n lookup={lookup}\n itemRenderer={itemRenderer}\n reflection={reflection}\n {...props}\n />\n )\n}\n","import { useMemo } from 'react'\nimport type { ProjectReflection, ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from '../createLookup'\nimport { ContainerReflectionViewerProps } from './Container'\nimport { ReflectionGroupViewer } from './ReflectionGroupViewer'\nimport { ReflectionViewer } from './ReflectionViewer'\n\nexport const ProjectReflectionViewer: React.FC<ContainerReflectionViewerProps<ProjectReflection>> = ({\n reflection,\n hiddenFlags,\n itemRenderer = ReflectionViewer,\n ...props\n}) => {\n const lookup = useMemo(() => createLookup(reflection), [reflection])\n return (\n <ReflectionViewer title=\"ProjectReflectionViewer\" hiddenFlags={hiddenFlags} reflection={reflection} {...props}>\n {useMemo(() => {\n return reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n autoscroll\n variant=\"h6\"\n lookup={lookup}\n key={group.title}\n renderer={itemRenderer}\n group={group}\n reflection={reflection}\n alignItems=\"stretch\"\n hiddenFlags={hiddenFlags}\n />\n )\n })\n }, [lookup, reflection, hiddenFlags, itemRenderer])}\n </ReflectionViewer>\n )\n}\n","import { Search } from '@mui/icons-material'\nimport { TextField, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport { useMemo, useState } from 'react'\nimport type { ReflectionGroup } from 'typedoc'\n\nimport { createLookup } from './createLookup'\nimport { ContainerReflectionViewerProps, ReflectionGroupViewer, ReflectionViewer } from './ReflectionViewer'\nimport { ReflectionTreeViewer } from './TreeViewer'\n\nexport const TwoPanelReflectionViewer: React.FC<ContainerReflectionViewerProps> = ({\n reflection,\n itemRenderer = ReflectionViewer,\n hiddenFlags,\n ...props\n}) => {\n const lookup = useMemo(() => createLookup(reflection), [reflection])\n const theme = useTheme()\n const [searchTerm, setSearchTerm] = useState<string>()\n const onSearchTermChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchTerm(e.target.value)\n }\n\n const reflectionGroups = useMemo(() => {\n return reflection.groups?.map((group: ReflectionGroup) => {\n return (\n <ReflectionGroupViewer\n autoscroll\n variant=\"h6\"\n lookup={lookup}\n renderer={itemRenderer}\n key={group.title}\n group={group}\n reflection={reflection}\n alignItems=\"stretch\"\n hiddenFlags={hiddenFlags}\n />\n )\n })\n }, [itemRenderer, lookup, reflection, hiddenFlags])\n\n const NavigationCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexCol {...props}>\n <TextField\n fullWidth\n InputProps={{\n startAdornment: <Search />,\n }}\n onChange={onSearchTermChange}\n />\n <FlexGrowCol marginTop={1} alignItems=\"stretch\">\n <ReflectionTreeViewer\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n searchTerm={searchTerm}\n hiddenFlags={hiddenFlags}\n reflection={reflection}\n lookup={lookup}\n border={`1px solid ${theme.palette.grey['300']}`}\n borderRadius={1}\n paddingY={1}\n />\n </FlexGrowCol>\n </FlexCol>\n )\n }\n\n const DetailsCol: React.FC<FlexBoxProps> = (props) => {\n return (\n <FlexGrowCol {...props}>\n <FlexGrowCol alignItems=\"stretch\">\n <FlexCol\n alignItems=\"stretch\"\n justifyContent=\"flex-start\"\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n overflow=\"scroll\"\n borderRadius={1}\n padding={1}\n border={`1px solid ${theme.palette.grey['300']}`}\n >\n {reflectionGroups}\n </FlexCol>\n </FlexGrowCol>\n </FlexGrowCol>\n )\n }\n\n return (\n <FlexRow alignItems=\"stretch\" justifyContent=\"start\" sx={{ overflowY: 'scroll' }} {...props}>\n <NavigationCol minWidth={320} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n <DetailsCol marginLeft={1} alignItems=\"stretch\" justifyContent=\"flex-start\" overflow=\"hidden\" />\n </FlexRow>\n )\n}\n","import { Add, Remove } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport { TreeItem, TreeView } from '@mui/x-tree-view'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport { useNavigate } from 'react-router-dom'\nimport type { ContainerReflection, Reflection } from 'typedoc'\n\nimport { ReflectionLookup } from '../ReflectionLookup'\nimport { FlagFilter } from '../ReflectionViewer'\n\nexport interface ReflectionTreeViewerProps<T extends Reflection = ContainerReflection> extends FlexBoxProps {\n hiddenFlags?: FlagFilter[]\n lookup?: ReflectionLookup\n reflection: T\n searchTerm?: string\n}\n\nexport const ReflectionTreeViewer: React.FC<ReflectionTreeViewerProps> = ({ lookup, reflection, searchTerm, ...props }) => {\n const navigate = useNavigate()\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n {/* TODO - move this into a title component */}\n {/*{nameViewer === undefined ? <NameViewer variant={variant} reflection={reflection} /> : nameViewer}*/}\n {/*{reflection.comment ? <CommentViewer comment={reflection.comment} /> : null}*/}\n {/*{reflection.sources ? (*/}\n {/* <>*/}\n {/* {reflection.sources.map((source, index) => {*/}\n {/* return <SourceViewer key={index} source={source} />*/}\n {/* })}*/}\n {/* </>*/}\n {/*) : null}*/}\n {/* TODO - when searching do not include categories that dont have children, pull maps out of view */}\n <TreeView\n aria-label=\"XYO SDK Documentation\"\n defaultExpandIcon={<Add />}\n defaultCollapseIcon={<Remove />}\n defaultExpanded={reflection.groups ? [reflection.groups[0].title] : []}\n >\n {reflection.groups?.map((group, index) => (\n <TreeItem key={`primary-${index}`} nodeId={group.title} label={<Typography variant=\"h6\">{group.title}</Typography>}>\n {group.children.map((child, jndex) => {\n const searchTermTrimmed = searchTerm?.trim().toLowerCase()\n const childReflection = typeof child === 'number' ? lookup?.[child as number] : child\n return childReflection && (!searchTermTrimmed || childReflection.name.toLowerCase().includes(searchTermTrimmed)) ? (\n <TreeItem\n key={`secondary-${index}- ${jndex}`}\n nodeId={`declaration-${childReflection?.id}`}\n label={childReflection.name}\n onClick={() => {\n const hash = `#${childReflection.name}`\n navigate({ hash })\n document.querySelector(hash)?.scrollIntoView({ behavior: 'smooth' })\n }}\n />\n ) : null\n })}\n </TreeItem>\n ))}\n </TreeView>\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexCol, FlexRow } from '@xylabs/react-flexbox'\n\nimport { JsonViewerButton } from '../JsonViewerButton'\nimport { ReflectionGroupViewerProps, ReflectionViewer } from '../ReflectionViewer'\nimport { resolveChildren } from '../resolveChildren'\n\nexport const ReflectionGroupTreeViewer: React.FC<ReflectionGroupViewerProps> = ({\n variant,\n group,\n children,\n lookup,\n renderer = ReflectionViewer,\n ...props\n}) => {\n return (\n <FlexCol {...props}>\n <FlexRow marginY={1} justifyContent=\"flex-start\">\n <Typography variant={variant}>{group.title}</Typography>\n <JsonViewerButton\n jsonViewProps={{ collapsed: 1 }}\n size=\"small\"\n variant=\"contained\"\n padding={0}\n marginX={1}\n src={resolveChildren(group, lookup)}\n />\n </FlexRow>\n {resolveChildren(group, lookup).map((reflection) => {\n return reflection ? (\n // I wrap this in a div since React does not understand that they have keys using the Renderer\n <div key={reflection.id}>{renderer({ lookup, margin: 1, reflection })}</div>\n ) : null\n })}\n {children}\n </FlexCol>\n )\n}\n","import { Typography } from '@mui/material'\nimport { FlexBoxProps, FlexCol } from '@xylabs/react-flexbox'\nimport type { SourceReference } from 'typedoc'\n\nexport interface SourceViewerProps extends FlexBoxProps {\n source: SourceReference\n}\n\nexport const SourceViewer: React.FC<SourceViewerProps> = ({ source, ...props }) => {\n return (\n <FlexCol alignItems=\"stretch\" {...props}>\n <Typography style={{ opacity: 0.5 }} variant=\"body2\">\n <i>{source.fileName}</i>\n </Typography>\n </FlexCol>\n )\n}\n"],"mappings":"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","names":["import_material","import_jsx_runtime","import_material","import_react_flexbox","import_react","import_react_flexbox","import_material","import_react_flexbox","import_material","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","hide","import_jsx_runtime","hide","hiddenFlags","import_jsx_runtime","import_jsx_runtime","import_material","import_react_router_dom","import_jsx_runtime","import_react","import_jsx_runtime","import_icons_material","import_material","import_react_flexbox","import_react","import_material","import_react_flexbox","import_react_router_dom","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime","import_jsx_runtime","props","import_jsx_runtime","import_material","import_react_flexbox","import_jsx_runtime"]}
@@ -33,7 +33,9 @@ import { assertEx } from "@xylabs/assert";
33
33
  // src/createLookup.ts
34
34
  var createLookup = (reflection) => {
35
35
  const lookup = {};
36
- reflection.children?.forEach((item) => lookup[item.id] = item);
36
+ if (reflection.children)
37
+ for (const item of reflection.children)
38
+ lookup[item.id] = item;
37
39
  return lookup;
38
40
  };
39
41
 
@@ -47,17 +49,19 @@ import { useLocation } from "react-router-dom";
47
49
  var resolveChildren = (reflection, lookup = {}) => {
48
50
  return reflection.children?.map((child) => {
49
51
  switch (typeof child) {
50
- case "object":
52
+ case "object": {
51
53
  return child;
54
+ }
52
55
  case "number": {
53
56
  const childObj = lookup[child];
54
57
  if (childObj === void 0) {
55
- throw Error(`Child Reference Not Found [${child}]`);
58
+ throw new Error(`Child Reference Not Found [${child}]`);
56
59
  }
57
60
  return childObj;
58
61
  }
59
- default:
60
- throw Error(`Invalid Child Type [${typeof child}, ${child}]`);
62
+ default: {
63
+ throw new Error(`Invalid Child Type [${typeof child}, ${child}]`);
64
+ }
61
65
  }
62
66
  }) ?? [];
63
67
  };
@@ -72,7 +76,7 @@ import { FlexRow } from "@xylabs/react-flexbox";
72
76
  // src/trimFlagLabel.ts
73
77
  var trimFlagLabel = (label) => {
74
78
  if (label.startsWith("is")) {
75
- return label.substring(2);
79
+ return label.slice(2);
76
80
  }
77
81
  return label;
78
82
  };
@@ -109,13 +113,13 @@ var buildReferenceString = (typeObj, reflectionViewer, typeBuilder) => {
109
113
  const parts = [];
110
114
  parts.push(typeObj.name);
111
115
  if (typeObj.typeArguments) {
112
- parts.push("<");
113
116
  parts.push(
117
+ "<",
114
118
  typeObj.typeArguments.map((arg) => {
115
119
  return typeBuilder(arg, reflectionViewer);
116
- }).join(", ")
120
+ }).join(", "),
121
+ ">"
117
122
  );
118
- parts.push(">");
119
123
  }
120
124
  return parts;
121
125
  };
@@ -146,16 +150,18 @@ var buildTypeString = (type, reflectionViewer) => {
146
150
  const someType = type;
147
151
  const parts = [];
148
152
  switch (someType.type) {
149
- case "intrinsic":
153
+ case "intrinsic": {
150
154
  parts.push(someType.name);
151
155
  break;
156
+ }
152
157
  case "intersection": {
153
158
  parts.push(...buildIntersectionString(someType, reflectionViewer, buildTypeString));
154
159
  break;
155
160
  }
156
- case "literal":
161
+ case "literal": {
157
162
  parts.push(JSON.stringify(someType.value));
158
163
  break;
164
+ }
159
165
  case "array": {
160
166
  parts.push(...buildArrayString(someType, reflectionViewer, buildTypeString));
161
167
  break;
@@ -171,11 +177,10 @@ var buildTypeString = (type, reflectionViewer) => {
171
177
  case "reflection": {
172
178
  return buildRelfectionString(someType, reflectionViewer);
173
179
  }
174
- default:
175
- parts.push("#");
176
- parts.push(someType.type);
177
- parts.push("#");
180
+ default: {
181
+ parts.push("#", someType.type, "#");
178
182
  break;
183
+ }
179
184
  }
180
185
  return parts.join("");
181
186
  };
@@ -365,8 +370,8 @@ var DeclarationContainerReflectionViewer = ({
365
370
  ContainerReflectionViewer,
366
371
  {
367
372
  title: "DeclarationContainerReflectionViewer",
368
- paper: hash.substring(1) === reflection.name,
369
- bgcolor: hash.substring(1) === reflection.name ? theme.palette.background.default : void 0,
373
+ paper: hash.slice(1) === reflection.name,
374
+ bgcolor: hash.slice(1) === reflection.name ? theme.palette.background.default : void 0,
370
375
  lookup,
371
376
  itemRenderer,
372
377
  reflection,
@@ -430,7 +435,7 @@ var ReflectionTreeViewer = ({ lookup, reflection, searchTerm, ...props }) => {
430
435
  children: reflection.groups?.map((group, index) => /* @__PURE__ */ jsx12(TreeItem, { nodeId: group.title, label: /* @__PURE__ */ jsx12(Typography5, { variant: "h6", children: group.title }), children: group.children.map((child, jndex) => {
431
436
  const searchTermTrimmed = searchTerm?.trim().toLowerCase();
432
437
  const childReflection = typeof child === "number" ? lookup?.[child] : child;
433
- return childReflection && (!searchTermTrimmed || childReflection.name.toLowerCase().indexOf(searchTermTrimmed) !== -1) ? /* @__PURE__ */ jsx12(
438
+ return childReflection && (!searchTermTrimmed || childReflection.name.toLowerCase().includes(searchTermTrimmed)) ? /* @__PURE__ */ jsx12(
434
439
  TreeItem,
435
440
  {
436
441
  nodeId: `declaration-${childReflection?.id}`,