@osdk/react-devtools 0.5.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.
- package/CHANGELOG.md +79 -0
- package/build/esm/DevToolsContext.js +19 -0
- package/build/esm/DevToolsContext.js.map +1 -0
- package/build/esm/components/ActionMetrics.js +89 -0
- package/build/esm/components/ActionMetrics.js.map +1 -0
- package/build/esm/components/BubbleChart.js +175 -0
- package/build/esm/components/BubbleChart.js.map +1 -0
- package/build/esm/components/BubbleChart.module.scss.js +6 -0
- package/build/esm/components/CacheInspectorTab.js +291 -0
- package/build/esm/components/CacheInspectorTab.js.map +1 -0
- package/build/esm/components/CacheInspectorTab.module.scss.js +39 -0
- package/build/esm/components/CacheMetrics.js +55 -0
- package/build/esm/components/CacheMetrics.js.map +1 -0
- package/build/esm/components/ComponentCard.js +124 -0
- package/build/esm/components/ComponentCard.js.map +1 -0
- package/build/esm/components/ComponentCard.module.scss.js +31 -0
- package/build/esm/components/ComputeTab.js +175 -0
- package/build/esm/components/ComputeTab.js.map +1 -0
- package/build/esm/components/CopyableCodeBlock.js +49 -0
- package/build/esm/components/CopyableCodeBlock.js.map +1 -0
- package/build/esm/components/CopyableCodeBlock.module.scss.js +10 -0
- package/build/esm/components/DebuggingTab.js +342 -0
- package/build/esm/components/DebuggingTab.js.map +1 -0
- package/build/esm/components/DebuggingTab.module.scss.js +18 -0
- package/build/esm/components/HookRow.js +180 -0
- package/build/esm/components/HookRow.js.map +1 -0
- package/build/esm/components/HookRow.module.scss.js +16 -0
- package/build/esm/components/ImprovementsTab.js +138 -0
- package/build/esm/components/ImprovementsTab.js.map +1 -0
- package/build/esm/components/ImprovementsTab.module.scss.js +30 -0
- package/build/esm/components/InspectorSelectionHeader.js +65 -0
- package/build/esm/components/InspectorSelectionHeader.js.map +1 -0
- package/build/esm/components/InterceptTab.js +862 -0
- package/build/esm/components/InterceptTab.js.map +1 -0
- package/build/esm/components/InterceptTab.module.scss.js +49 -0
- package/build/esm/components/IssueCard.js +115 -0
- package/build/esm/components/IssueCard.js.map +1 -0
- package/build/esm/components/IssueCard.module.scss.js +24 -0
- package/build/esm/components/LogEntryCard.js +94 -0
- package/build/esm/components/LogEntryCard.js.map +1 -0
- package/build/esm/components/LogEntryCard.module.scss.js +19 -0
- package/build/esm/components/MockEditor.js +316 -0
- package/build/esm/components/MockEditor.js.map +1 -0
- package/build/esm/components/MonitorErrorBoundary.js +64 -0
- package/build/esm/components/MonitorErrorBoundary.js.map +1 -0
- package/build/esm/components/MonitorErrorBoundary.module.scss.js +9 -0
- package/build/esm/components/MonitoringPanel.js +434 -0
- package/build/esm/components/MonitoringPanel.js.map +1 -0
- package/build/esm/components/MonitoringPanel.module.scss.js +81 -0
- package/build/esm/components/ObjectLoadingMetrics.js +60 -0
- package/build/esm/components/ObjectLoadingMetrics.js.map +1 -0
- package/build/esm/components/OsdkAppErrorBoundary.js +68 -0
- package/build/esm/components/OsdkAppErrorBoundary.js.map +1 -0
- package/build/esm/components/OsdkDevTools.js +40 -0
- package/build/esm/components/OsdkDevTools.js.map +1 -0
- package/build/esm/components/OverrideEditor.js +197 -0
- package/build/esm/components/OverrideEditor.js.map +1 -0
- package/build/esm/components/PerformanceTab.js +297 -0
- package/build/esm/components/PerformanceTab.js.map +1 -0
- package/build/esm/components/PrimitiveSelectionPanel.js +220 -0
- package/build/esm/components/PrimitiveSelectionPanel.js.map +1 -0
- package/build/esm/components/PrimitiveSelectionPanel.module.scss.js +26 -0
- package/build/esm/components/issueTypes.js +2 -0
- package/build/esm/components/issueTypes.js.map +1 -0
- package/build/esm/components/resolveComponentName.js +57 -0
- package/build/esm/components/resolveComponentName.js.map +1 -0
- package/build/esm/components/testHelpers.js +312 -0
- package/build/esm/components/testHelpers.js.map +1 -0
- package/build/esm/css.d.ts +20 -0
- package/build/esm/fiber/DegradationNotice.js +193 -0
- package/build/esm/fiber/DegradationNotice.js.map +1 -0
- package/build/esm/fiber/DevtoolsHook.js +252 -0
- package/build/esm/fiber/DevtoolsHook.js.map +1 -0
- package/build/esm/fiber/FiberAccess.js +65 -0
- package/build/esm/fiber/FiberAccess.js.map +1 -0
- package/build/esm/fiber/FiberInspection.js +140 -0
- package/build/esm/fiber/FiberInspection.js.map +1 -0
- package/build/esm/fiber/FiberTags.js +52 -0
- package/build/esm/fiber/FiberTags.js.map +1 -0
- package/build/esm/fiber/HookStateInspector.js +254 -0
- package/build/esm/fiber/HookStateInspector.js.map +1 -0
- package/build/esm/fiber/SafeFiberOperation.js +35 -0
- package/build/esm/fiber/SafeFiberOperation.js.map +1 -0
- package/build/esm/fiber/capabilities.js +180 -0
- package/build/esm/fiber/capabilities.js.map +1 -0
- package/build/esm/fiber/traverseFiber.js +129 -0
- package/build/esm/fiber/traverseFiber.js.map +1 -0
- package/build/esm/fiber/types.js +2 -0
- package/build/esm/fiber/types.js.map +1 -0
- package/build/esm/fiber/validation.js +155 -0
- package/build/esm/fiber/validation.js.map +1 -0
- package/build/esm/hooks/createPollingStore.js +81 -0
- package/build/esm/hooks/createPollingStore.js.map +1 -0
- package/build/esm/hooks/useActiveComponents.js +27 -0
- package/build/esm/hooks/useActiveComponents.js.map +1 -0
- package/build/esm/hooks/useComponentRegistry.js +25 -0
- package/build/esm/hooks/useComponentRegistry.js.map +1 -0
- package/build/esm/hooks/useComputeSelectors.js +43 -0
- package/build/esm/hooks/useComputeSelectors.js.map +1 -0
- package/build/esm/hooks/useConsoleLogs.js +46 -0
- package/build/esm/hooks/useConsoleLogs.js.map +1 -0
- package/build/esm/hooks/useInspectorSelection.js +93 -0
- package/build/esm/hooks/useInspectorSelection.js.map +1 -0
- package/build/esm/hooks/useMetrics.js +23 -0
- package/build/esm/hooks/useMetrics.js.map +1 -0
- package/build/esm/hooks/usePersistedState.js +89 -0
- package/build/esm/hooks/usePersistedState.js.map +1 -0
- package/build/esm/hooks/useRecommendations.js +123 -0
- package/build/esm/hooks/useRecommendations.js.map +1 -0
- package/build/esm/hooks/useSharedTick.js +49 -0
- package/build/esm/hooks/useSharedTick.js.map +1 -0
- package/build/esm/hooks/useTimeElapsed.js +51 -0
- package/build/esm/hooks/useTimeElapsed.js.map +1 -0
- package/build/esm/hooks/useTrackerSubscription.js +97 -0
- package/build/esm/hooks/useTrackerSubscription.js.map +1 -0
- package/build/esm/hooks/useUnusedFieldAnalysis.js +99 -0
- package/build/esm/hooks/useUnusedFieldAnalysis.js.map +1 -0
- package/build/esm/index.js +31 -0
- package/build/esm/index.js.map +1 -0
- package/build/esm/inspector/ClickToInspectSystem.js +228 -0
- package/build/esm/inspector/ClickToInspectSystem.js.map +1 -0
- package/build/esm/inspector/components/ComponentLabel.js +175 -0
- package/build/esm/inspector/components/ComponentLabel.js.map +1 -0
- package/build/esm/inspector/components/ComponentLabel.module.scss.js +12 -0
- package/build/esm/inspector/components/InspectorBanner.js +79 -0
- package/build/esm/inspector/components/InspectorBanner.js.map +1 -0
- package/build/esm/inspector/components/InspectorOverlay.js +149 -0
- package/build/esm/inspector/components/InspectorOverlay.js.map +1 -0
- package/build/esm/inspector/components/SelectionHighlight.js +74 -0
- package/build/esm/inspector/components/SelectionHighlight.js.map +1 -0
- package/build/esm/inspector/createClickToInspect.js +21 -0
- package/build/esm/inspector/createClickToInspect.js.map +1 -0
- package/build/esm/inspector/hooks/useAnimatedBounds.js +167 -0
- package/build/esm/inspector/hooks/useAnimatedBounds.js.map +1 -0
- package/build/esm/inspector/index.js +40 -0
- package/build/esm/inspector/index.js.map +1 -0
- package/build/esm/inspector/inspectorController.js +328 -0
- package/build/esm/inspector/inspectorController.js.map +1 -0
- package/build/esm/inspector/types.js +2 -0
- package/build/esm/inspector/types.js.map +1 -0
- package/build/esm/inspector/utils/elementBounds.js +72 -0
- package/build/esm/inspector/utils/elementBounds.js.map +1 -0
- package/build/esm/inspector/utils/interpolation.js +26 -0
- package/build/esm/inspector/utils/interpolation.js.map +1 -0
- package/build/esm/inspector/utils/labelPositioning.js +62 -0
- package/build/esm/inspector/utils/labelPositioning.js.map +1 -0
- package/build/esm/mocking/MockCacheKeyGenerator.js +109 -0
- package/build/esm/mocking/MockCacheKeyGenerator.js.map +1 -0
- package/build/esm/mocking/MockManager.js +281 -0
- package/build/esm/mocking/MockManager.js.map +1 -0
- package/build/esm/prototyping/PrototypeOverrideStore.js +66 -0
- package/build/esm/prototyping/PrototypeOverrideStore.js.map +1 -0
- package/build/esm/prototyping/index.js +18 -0
- package/build/esm/prototyping/index.js.map +1 -0
- package/build/esm/public/vite.js +19 -0
- package/build/esm/public/vite.js.map +1 -0
- package/build/esm/register.js +41 -0
- package/build/esm/register.js.map +1 -0
- package/build/esm/scss.d.ts +20 -0
- package/build/esm/store/ComputeStore.js +269 -0
- package/build/esm/store/ComputeStore.js.map +1 -0
- package/build/esm/store/ConsoleLogStore.js +289 -0
- package/build/esm/store/ConsoleLogStore.js.map +1 -0
- package/build/esm/store/MetricsStore.js +428 -0
- package/build/esm/store/MetricsStore.js.map +1 -0
- package/build/esm/store/MonitorStore.js +288 -0
- package/build/esm/store/MonitorStore.js.map +1 -0
- package/build/esm/store/SubscribableStore.js +38 -0
- package/build/esm/store/SubscribableStore.js.map +1 -0
- package/build/esm/store/WindowErrorStore.js +195 -0
- package/build/esm/store/WindowErrorStore.js.map +1 -0
- package/build/esm/styles.css +19441 -0
- package/build/esm/styles.js +31 -0
- package/build/esm/styles.js.map +1 -0
- package/build/esm/types/compute.js +2 -0
- package/build/esm/types/compute.js.map +1 -0
- package/build/esm/types/emissions.js +2 -0
- package/build/esm/types/emissions.js.map +1 -0
- package/build/esm/types/index.js +23 -0
- package/build/esm/types/index.js.map +1 -0
- package/build/esm/utils/ActionLifecycleTracker.js +178 -0
- package/build/esm/utils/ActionLifecycleTracker.js.map +1 -0
- package/build/esm/utils/CacheEfficiencyAnalyzer.js +198 -0
- package/build/esm/utils/CacheEfficiencyAnalyzer.js.map +1 -0
- package/build/esm/utils/CircularBuffer.js +96 -0
- package/build/esm/utils/CircularBuffer.js.map +1 -0
- package/build/esm/utils/ComponentContextCapture.js +215 -0
- package/build/esm/utils/ComponentContextCapture.js.map +1 -0
- package/build/esm/utils/ComponentPrimitiveDiscovery.js +173 -0
- package/build/esm/utils/ComponentPrimitiveDiscovery.js.map +1 -0
- package/build/esm/utils/ComponentQueryRegistry.js +340 -0
- package/build/esm/utils/ComponentQueryRegistry.js.map +1 -0
- package/build/esm/utils/ComputeMonitor.js +199 -0
- package/build/esm/utils/ComputeMonitor.js.map +1 -0
- package/build/esm/utils/EventTimeline.js +130 -0
- package/build/esm/utils/EventTimeline.js.map +1 -0
- package/build/esm/utils/LinkTraversalTracker.js +116 -0
- package/build/esm/utils/LinkTraversalTracker.js.map +1 -0
- package/build/esm/utils/MockDataGenerator.js +473 -0
- package/build/esm/utils/MockDataGenerator.js.map +1 -0
- package/build/esm/utils/ObservableClientMonitor.js +768 -0
- package/build/esm/utils/ObservableClientMonitor.js.map +1 -0
- package/build/esm/utils/PerformanceRecommendationEngine.js +185 -0
- package/build/esm/utils/PerformanceRecommendationEngine.js.map +1 -0
- package/build/esm/utils/PropertyAccessTracker.js +238 -0
- package/build/esm/utils/PropertyAccessTracker.js.map +1 -0
- package/build/esm/utils/RecommendationMatcher.js +53 -0
- package/build/esm/utils/RecommendationMatcher.js.map +1 -0
- package/build/esm/utils/SubscriptionTracker.js +132 -0
- package/build/esm/utils/SubscriptionTracker.js.map +1 -0
- package/build/esm/utils/UnusedFieldAnalyzer.js +186 -0
- package/build/esm/utils/UnusedFieldAnalyzer.js.map +1 -0
- package/build/esm/utils/WaterfallDetector.js +200 -0
- package/build/esm/utils/WaterfallDetector.js.map +1 -0
- package/build/esm/utils/computePayload.js +37 -0
- package/build/esm/utils/computePayload.js.map +1 -0
- package/build/esm/utils/computeRequest.js +29 -0
- package/build/esm/utils/computeRequest.js.map +1 -0
- package/build/esm/utils/format.js +69 -0
- package/build/esm/utils/format.js.map +1 -0
- package/build/esm/utils/logger.js +31 -0
- package/build/esm/utils/logger.js.map +1 -0
- package/build/esm/vite/constants.js +18 -0
- package/build/esm/vite/constants.js.map +1 -0
- package/build/esm/vite/hookInstaller.js +99 -0
- package/build/esm/vite/hookInstaller.js.map +1 -0
- package/build/esm/vite/index.js +77 -0
- package/build/esm/vite/index.js.map +1 -0
- package/build/types/DevToolsContext.d.ts +3 -0
- package/build/types/DevToolsContext.d.ts.map +1 -0
- package/build/types/components/ActionMetrics.d.ts +6 -0
- package/build/types/components/ActionMetrics.d.ts.map +1 -0
- package/build/types/components/BubbleChart.d.ts +10 -0
- package/build/types/components/BubbleChart.d.ts.map +1 -0
- package/build/types/components/CacheInspectorTab.d.ts +6 -0
- package/build/types/components/CacheInspectorTab.d.ts.map +1 -0
- package/build/types/components/CacheMetrics.d.ts +6 -0
- package/build/types/components/CacheMetrics.d.ts.map +1 -0
- package/build/types/components/ComponentCard.d.ts +13 -0
- package/build/types/components/ComponentCard.d.ts.map +1 -0
- package/build/types/components/ComputeTab.d.ts +6 -0
- package/build/types/components/ComputeTab.d.ts.map +1 -0
- package/build/types/components/CopyableCodeBlock.d.ts +7 -0
- package/build/types/components/CopyableCodeBlock.d.ts.map +1 -0
- package/build/types/components/DebuggingTab.d.ts +6 -0
- package/build/types/components/DebuggingTab.d.ts.map +1 -0
- package/build/types/components/HookRow.d.ts +9 -0
- package/build/types/components/HookRow.d.ts.map +1 -0
- package/build/types/components/ImprovementsTab.d.ts +7 -0
- package/build/types/components/ImprovementsTab.d.ts.map +1 -0
- package/build/types/components/InspectorSelectionHeader.d.ts +12 -0
- package/build/types/components/InspectorSelectionHeader.d.ts.map +1 -0
- package/build/types/components/InterceptTab.d.ts +126 -0
- package/build/types/components/InterceptTab.d.ts.map +1 -0
- package/build/types/components/IssueCard.d.ts +8 -0
- package/build/types/components/IssueCard.d.ts.map +1 -0
- package/build/types/components/LogEntryCard.d.ts +7 -0
- package/build/types/components/LogEntryCard.d.ts.map +1 -0
- package/build/types/components/MockEditor.d.ts +58 -0
- package/build/types/components/MockEditor.d.ts.map +1 -0
- package/build/types/components/MonitorErrorBoundary.d.ts +16 -0
- package/build/types/components/MonitorErrorBoundary.d.ts.map +1 -0
- package/build/types/components/MonitoringPanel.d.ts +8 -0
- package/build/types/components/MonitoringPanel.d.ts.map +1 -0
- package/build/types/components/ObjectLoadingMetrics.d.ts +7 -0
- package/build/types/components/ObjectLoadingMetrics.d.ts.map +1 -0
- package/build/types/components/OsdkAppErrorBoundary.d.ts +18 -0
- package/build/types/components/OsdkAppErrorBoundary.d.ts.map +1 -0
- package/build/types/components/OsdkDevTools.d.ts +2 -0
- package/build/types/components/OsdkDevTools.d.ts.map +1 -0
- package/build/types/components/OverrideEditor.d.ts +26 -0
- package/build/types/components/OverrideEditor.d.ts.map +1 -0
- package/build/types/components/PerformanceTab.d.ts +8 -0
- package/build/types/components/PerformanceTab.d.ts.map +1 -0
- package/build/types/components/PrimitiveSelectionPanel.d.ts +28 -0
- package/build/types/components/PrimitiveSelectionPanel.d.ts.map +1 -0
- package/build/types/components/issueTypes.d.ts +16 -0
- package/build/types/components/issueTypes.d.ts.map +1 -0
- package/build/types/components/resolveComponentName.d.ts +3 -0
- package/build/types/components/resolveComponentName.d.ts.map +1 -0
- package/build/types/components/testHelpers.d.ts +2 -0
- package/build/types/components/testHelpers.d.ts.map +1 -0
- package/build/types/css.d.d.ts +4 -0
- package/build/types/css.d.d.ts.map +1 -0
- package/build/types/fiber/DegradationNotice.d.ts +8 -0
- package/build/types/fiber/DegradationNotice.d.ts.map +1 -0
- package/build/types/fiber/DevtoolsHook.d.ts +7 -0
- package/build/types/fiber/DevtoolsHook.d.ts.map +1 -0
- package/build/types/fiber/FiberAccess.d.ts +2 -0
- package/build/types/fiber/FiberAccess.d.ts.map +1 -0
- package/build/types/fiber/FiberInspection.d.ts +6 -0
- package/build/types/fiber/FiberInspection.d.ts.map +1 -0
- package/build/types/fiber/FiberTags.d.ts +33 -0
- package/build/types/fiber/FiberTags.d.ts.map +1 -0
- package/build/types/fiber/HookStateInspector.d.ts +45 -0
- package/build/types/fiber/HookStateInspector.d.ts.map +1 -0
- package/build/types/fiber/SafeFiberOperation.d.ts +7 -0
- package/build/types/fiber/SafeFiberOperation.d.ts.map +1 -0
- package/build/types/fiber/capabilities.d.ts +38 -0
- package/build/types/fiber/capabilities.d.ts.map +1 -0
- package/build/types/fiber/traverseFiber.d.ts +5 -0
- package/build/types/fiber/traverseFiber.d.ts.map +1 -0
- package/build/types/fiber/types.d.ts +87 -0
- package/build/types/fiber/types.d.ts.map +1 -0
- package/build/types/fiber/validation.d.ts +10 -0
- package/build/types/fiber/validation.d.ts.map +1 -0
- package/build/types/hooks/createPollingStore.d.ts +5 -0
- package/build/types/hooks/createPollingStore.d.ts.map +1 -0
- package/build/types/hooks/useActiveComponents.d.ts +3 -0
- package/build/types/hooks/useActiveComponents.d.ts.map +1 -0
- package/build/types/hooks/useComponentRegistry.d.ts +3 -0
- package/build/types/hooks/useComponentRegistry.d.ts.map +1 -0
- package/build/types/hooks/useComputeSelectors.d.ts +7 -0
- package/build/types/hooks/useComputeSelectors.d.ts.map +1 -0
- package/build/types/hooks/useConsoleLogs.d.ts +7 -0
- package/build/types/hooks/useConsoleLogs.d.ts.map +1 -0
- package/build/types/hooks/useInspectorSelection.d.ts +9 -0
- package/build/types/hooks/useInspectorSelection.d.ts.map +1 -0
- package/build/types/hooks/useMetrics.d.ts +3 -0
- package/build/types/hooks/useMetrics.d.ts.map +1 -0
- package/build/types/hooks/usePersistedState.d.ts +1 -0
- package/build/types/hooks/usePersistedState.d.ts.map +1 -0
- package/build/types/hooks/useRecommendations.d.ts +10 -0
- package/build/types/hooks/useRecommendations.d.ts.map +1 -0
- package/build/types/hooks/useSharedTick.d.ts +1 -0
- package/build/types/hooks/useSharedTick.d.ts.map +1 -0
- package/build/types/hooks/useTimeElapsed.d.ts +1 -0
- package/build/types/hooks/useTimeElapsed.d.ts.map +1 -0
- package/build/types/hooks/useTrackerSubscription.d.ts +16 -0
- package/build/types/hooks/useTrackerSubscription.d.ts.map +1 -0
- package/build/types/hooks/useUnusedFieldAnalysis.d.ts +8 -0
- package/build/types/hooks/useUnusedFieldAnalysis.d.ts.map +1 -0
- package/build/types/index.d.ts +21 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/inspector/ClickToInspectSystem.d.ts +40 -0
- package/build/types/inspector/ClickToInspectSystem.d.ts.map +1 -0
- package/build/types/inspector/components/ComponentLabel.d.ts +3 -0
- package/build/types/inspector/components/ComponentLabel.d.ts.map +1 -0
- package/build/types/inspector/components/InspectorBanner.d.ts +5 -0
- package/build/types/inspector/components/InspectorBanner.d.ts.map +1 -0
- package/build/types/inspector/components/InspectorOverlay.d.ts +3 -0
- package/build/types/inspector/components/InspectorOverlay.d.ts.map +1 -0
- package/build/types/inspector/components/SelectionHighlight.d.ts +3 -0
- package/build/types/inspector/components/SelectionHighlight.d.ts.map +1 -0
- package/build/types/inspector/createClickToInspect.d.ts +3 -0
- package/build/types/inspector/createClickToInspect.d.ts.map +1 -0
- package/build/types/inspector/hooks/useAnimatedBounds.d.ts +2 -0
- package/build/types/inspector/hooks/useAnimatedBounds.d.ts.map +1 -0
- package/build/types/inspector/index.d.ts +13 -0
- package/build/types/inspector/index.d.ts.map +1 -0
- package/build/types/inspector/inspectorController.d.ts +2 -0
- package/build/types/inspector/inspectorController.d.ts.map +1 -0
- package/build/types/inspector/types.d.ts +94 -0
- package/build/types/inspector/types.d.ts.map +1 -0
- package/build/types/inspector/utils/elementBounds.d.ts +3 -0
- package/build/types/inspector/utils/elementBounds.d.ts.map +1 -0
- package/build/types/inspector/utils/interpolation.d.ts +7 -0
- package/build/types/inspector/utils/interpolation.d.ts.map +1 -0
- package/build/types/inspector/utils/labelPositioning.d.ts +3 -0
- package/build/types/inspector/utils/labelPositioning.d.ts.map +1 -0
- package/build/types/mocking/MockCacheKeyGenerator.d.ts +41 -0
- package/build/types/mocking/MockCacheKeyGenerator.d.ts.map +1 -0
- package/build/types/mocking/MockManager.d.ts +103 -0
- package/build/types/mocking/MockManager.d.ts.map +1 -0
- package/build/types/prototyping/PrototypeOverrideStore.d.ts +33 -0
- package/build/types/prototyping/PrototypeOverrideStore.d.ts.map +1 -0
- package/build/types/prototyping/index.d.ts +1 -0
- package/build/types/prototyping/index.d.ts.map +1 -0
- package/build/types/public/vite.d.ts +2 -0
- package/build/types/public/vite.d.ts.map +1 -0
- package/build/types/register.d.ts +1 -0
- package/build/types/register.d.ts.map +1 -0
- package/build/types/scss.d.d.ts +6 -0
- package/build/types/scss.d.d.ts.map +1 -0
- package/build/types/store/ComputeStore.d.ts +47 -0
- package/build/types/store/ComputeStore.d.ts.map +1 -0
- package/build/types/store/ConsoleLogStore.d.ts +29 -0
- package/build/types/store/ConsoleLogStore.d.ts.map +1 -0
- package/build/types/store/MetricsStore.d.ts +42 -0
- package/build/types/store/MetricsStore.d.ts.map +1 -0
- package/build/types/store/MonitorStore.d.ts +86 -0
- package/build/types/store/MonitorStore.d.ts.map +1 -0
- package/build/types/store/SubscribableStore.d.ts +6 -0
- package/build/types/store/SubscribableStore.d.ts.map +1 -0
- package/build/types/store/WindowErrorStore.d.ts +32 -0
- package/build/types/store/WindowErrorStore.d.ts.map +1 -0
- package/build/types/styles.d.ts +1 -0
- package/build/types/styles.d.ts.map +1 -0
- package/build/types/types/compute.d.ts +73 -0
- package/build/types/types/compute.d.ts.map +1 -0
- package/build/types/types/emissions.d.ts +24 -0
- package/build/types/types/emissions.d.ts.map +1 -0
- package/build/types/types/index.d.ts +143 -0
- package/build/types/types/index.d.ts.map +1 -0
- package/build/types/utils/ActionLifecycleTracker.d.ts +39 -0
- package/build/types/utils/ActionLifecycleTracker.d.ts.map +1 -0
- package/build/types/utils/CacheEfficiencyAnalyzer.d.ts +45 -0
- package/build/types/utils/CacheEfficiencyAnalyzer.d.ts.map +1 -0
- package/build/types/utils/CircularBuffer.d.ts +18 -0
- package/build/types/utils/CircularBuffer.d.ts.map +1 -0
- package/build/types/utils/ComponentContextCapture.d.ts +29 -0
- package/build/types/utils/ComponentContextCapture.d.ts.map +1 -0
- package/build/types/utils/ComponentPrimitiveDiscovery.d.ts +62 -0
- package/build/types/utils/ComponentPrimitiveDiscovery.d.ts.map +1 -0
- package/build/types/utils/ComponentQueryRegistry.d.ts +91 -0
- package/build/types/utils/ComponentQueryRegistry.d.ts.map +1 -0
- package/build/types/utils/ComputeMonitor.d.ts +14 -0
- package/build/types/utils/ComputeMonitor.d.ts.map +1 -0
- package/build/types/utils/EventTimeline.d.ts +102 -0
- package/build/types/utils/EventTimeline.d.ts.map +1 -0
- package/build/types/utils/LinkTraversalTracker.d.ts +43 -0
- package/build/types/utils/LinkTraversalTracker.d.ts.map +1 -0
- package/build/types/utils/MockDataGenerator.d.ts +23 -0
- package/build/types/utils/MockDataGenerator.d.ts.map +1 -0
- package/build/types/utils/ObservableClientMonitor.d.ts +62 -0
- package/build/types/utils/ObservableClientMonitor.d.ts.map +1 -0
- package/build/types/utils/PerformanceRecommendationEngine.d.ts +67 -0
- package/build/types/utils/PerformanceRecommendationEngine.d.ts.map +1 -0
- package/build/types/utils/PropertyAccessTracker.d.ts +50 -0
- package/build/types/utils/PropertyAccessTracker.d.ts.map +1 -0
- package/build/types/utils/RecommendationMatcher.d.ts +5 -0
- package/build/types/utils/RecommendationMatcher.d.ts.map +1 -0
- package/build/types/utils/SubscriptionTracker.d.ts +17 -0
- package/build/types/utils/SubscriptionTracker.d.ts.map +1 -0
- package/build/types/utils/UnusedFieldAnalyzer.d.ts +46 -0
- package/build/types/utils/UnusedFieldAnalyzer.d.ts.map +1 -0
- package/build/types/utils/WaterfallDetector.d.ts +28 -0
- package/build/types/utils/WaterfallDetector.d.ts.map +1 -0
- package/build/types/utils/computePayload.d.ts +3 -0
- package/build/types/utils/computePayload.d.ts.map +1 -0
- package/build/types/utils/computeRequest.d.ts +20 -0
- package/build/types/utils/computeRequest.d.ts.map +1 -0
- package/build/types/utils/format.d.ts +5 -0
- package/build/types/utils/format.d.ts.map +1 -0
- package/build/types/utils/logger.d.ts +2 -0
- package/build/types/utils/logger.d.ts.map +1 -0
- package/build/types/vite/constants.d.ts +1 -0
- package/build/types/vite/constants.d.ts.map +1 -0
- package/build/types/vite/hookInstaller.d.ts +1 -0
- package/build/types/vite/hookInstaller.d.ts.map +1 -0
- package/build/types/vite/index.d.ts +20 -0
- package/build/types/vite/index.d.ts.map +1 -0
- package/package.json +114 -0
|
@@ -0,0 +1,473 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export class MockDataGenerator {
|
|
18
|
+
static generatePayload(primitive) {
|
|
19
|
+
if (primitive.type !== "action") {
|
|
20
|
+
return "{}";
|
|
21
|
+
}
|
|
22
|
+
const actionName = primitive.data.name;
|
|
23
|
+
let parameters;
|
|
24
|
+
if (actionName.toLowerCase().includes("create")) {
|
|
25
|
+
const objectType = this.extractObjectTypeFromAction(actionName);
|
|
26
|
+
parameters = this.generateCreateParameters(objectType);
|
|
27
|
+
} else if (actionName.toLowerCase().includes("update") || actionName.toLowerCase().includes("modify")) {
|
|
28
|
+
const objectType = this.extractObjectTypeFromAction(actionName);
|
|
29
|
+
parameters = this.generateUpdateParameters(objectType);
|
|
30
|
+
} else if (actionName.toLowerCase().includes("delete")) {
|
|
31
|
+
const objectType = this.extractObjectTypeFromAction(actionName);
|
|
32
|
+
parameters = this.generateDeleteParameters(objectType);
|
|
33
|
+
} else {
|
|
34
|
+
parameters = {
|
|
35
|
+
id: crypto.randomUUID(),
|
|
36
|
+
data: {
|
|
37
|
+
field1: "value1",
|
|
38
|
+
field2: 42
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
return JSON.stringify({
|
|
43
|
+
parameters,
|
|
44
|
+
options: {
|
|
45
|
+
mode: "VALIDATE_AND_EXECUTE",
|
|
46
|
+
returnEdits: "ALL_V2_WITH_DELETIONS"
|
|
47
|
+
}
|
|
48
|
+
}, null, 2);
|
|
49
|
+
}
|
|
50
|
+
static generateStaticData(primitive) {
|
|
51
|
+
switch (primitive.type) {
|
|
52
|
+
case "action":
|
|
53
|
+
return this.generateActionMockData(primitive.data);
|
|
54
|
+
case "object":
|
|
55
|
+
return this.generateObjectMockData(primitive.data);
|
|
56
|
+
case "objectSet":
|
|
57
|
+
return this.generateObjectSetMockData(primitive.data);
|
|
58
|
+
case "link":
|
|
59
|
+
return this.generateLinksMockData(primitive.data);
|
|
60
|
+
case "query":
|
|
61
|
+
return this.generateQueryMockData(primitive.data);
|
|
62
|
+
case "aggregation":
|
|
63
|
+
return "{\n \"data\": {},\n \"status\": \"SUCCESS\"\n}";
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
static generateFunctionCode(primitive) {
|
|
67
|
+
switch (primitive.type) {
|
|
68
|
+
case "action":
|
|
69
|
+
return this.generateActionFunctionCode(primitive.data);
|
|
70
|
+
case "object":
|
|
71
|
+
return this.generateObjectFunctionCode(primitive.data);
|
|
72
|
+
case "objectSet":
|
|
73
|
+
return this.generateObjectSetFunctionCode(primitive.data);
|
|
74
|
+
case "link":
|
|
75
|
+
return this.generateLinksFunctionCode(primitive.data);
|
|
76
|
+
case "query":
|
|
77
|
+
return this.generateQueryFunctionCode(primitive.data);
|
|
78
|
+
case "aggregation":
|
|
79
|
+
return "function generateMock(params) {\n return {\n data: {},\n status: \"SUCCESS\"\n };\n}";
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
static generateActionMockData(actionData) {
|
|
83
|
+
const actionName = actionData.name;
|
|
84
|
+
const actionId = crypto.randomUUID();
|
|
85
|
+
let objectType;
|
|
86
|
+
if (actionName === "createTodo") {
|
|
87
|
+
objectType = "TodoLike";
|
|
88
|
+
} else {
|
|
89
|
+
objectType = this.extractObjectTypeFromAction(actionName);
|
|
90
|
+
}
|
|
91
|
+
const mockData = {
|
|
92
|
+
type: "edits",
|
|
93
|
+
addedObjects: [{
|
|
94
|
+
primaryKey: actionId,
|
|
95
|
+
objectType: objectType
|
|
96
|
+
}],
|
|
97
|
+
modifiedObjects: [],
|
|
98
|
+
deletedObjects: [],
|
|
99
|
+
addedLinks: [],
|
|
100
|
+
deletedLinks: [],
|
|
101
|
+
deletedObjectsCount: 0,
|
|
102
|
+
deletedLinksCount: 0,
|
|
103
|
+
editedObjectTypes: [objectType]
|
|
104
|
+
};
|
|
105
|
+
return JSON.stringify(mockData, null, 2);
|
|
106
|
+
}
|
|
107
|
+
static generateObjectMockData(objectData) {
|
|
108
|
+
const objectType = objectData.type;
|
|
109
|
+
const primaryKey = objectData.primaryKey || crypto.randomUUID();
|
|
110
|
+
const mockData = {
|
|
111
|
+
id: primaryKey,
|
|
112
|
+
__apiName: objectType,
|
|
113
|
+
__primaryKey: primaryKey,
|
|
114
|
+
__title: `Mock ${objectType}`,
|
|
115
|
+
...this.generateFieldsForObjectType(objectType)
|
|
116
|
+
};
|
|
117
|
+
return JSON.stringify(mockData, null, 2);
|
|
118
|
+
}
|
|
119
|
+
static generateObjectSetMockData(objectSetData) {
|
|
120
|
+
const objectType = objectSetData.type;
|
|
121
|
+
const pageSize = objectSetData.pageSize || 10;
|
|
122
|
+
const objects = Array.from({
|
|
123
|
+
length: Math.min(pageSize, 3)
|
|
124
|
+
}, (_, index) => {
|
|
125
|
+
const id = crypto.randomUUID();
|
|
126
|
+
return {
|
|
127
|
+
id,
|
|
128
|
+
__apiName: objectType,
|
|
129
|
+
__primaryKey: id,
|
|
130
|
+
__title: `${objectType} ${index + 1}`,
|
|
131
|
+
...this.generateFieldsForObjectType(objectType)
|
|
132
|
+
};
|
|
133
|
+
});
|
|
134
|
+
const mockData = {
|
|
135
|
+
data: objects,
|
|
136
|
+
totalCount: String(objects.length)
|
|
137
|
+
};
|
|
138
|
+
return JSON.stringify(mockData, null, 2);
|
|
139
|
+
}
|
|
140
|
+
static generateLinksMockData(linkData) {
|
|
141
|
+
const linkName = linkData.linkName;
|
|
142
|
+
const sourceType = linkData.sourceType;
|
|
143
|
+
const linkedType = this.inferLinkedTypeFromLinkName(linkName, sourceType);
|
|
144
|
+
const linkedObjects = Array.from({
|
|
145
|
+
length: 2
|
|
146
|
+
}, (_, index) => {
|
|
147
|
+
const id = crypto.randomUUID();
|
|
148
|
+
return {
|
|
149
|
+
$apiName: linkedType,
|
|
150
|
+
$primaryKey: id,
|
|
151
|
+
$objectType: linkedType,
|
|
152
|
+
$title: `${linkedType} ${index + 1}`,
|
|
153
|
+
...this.generateFieldsForObjectType(linkedType)
|
|
154
|
+
};
|
|
155
|
+
});
|
|
156
|
+
const mockData = {
|
|
157
|
+
data: linkedObjects,
|
|
158
|
+
totalCount: String(linkedObjects.length)
|
|
159
|
+
};
|
|
160
|
+
return JSON.stringify(mockData, null, 2);
|
|
161
|
+
}
|
|
162
|
+
static generateQueryMockData(queryData) {
|
|
163
|
+
const mockData = {
|
|
164
|
+
data: [{
|
|
165
|
+
id: crypto.randomUUID(),
|
|
166
|
+
__apiName: "QueryResult",
|
|
167
|
+
__primaryKey: crypto.randomUUID(),
|
|
168
|
+
__title: "Query Result 1",
|
|
169
|
+
customField1: "value1",
|
|
170
|
+
customField2: 42,
|
|
171
|
+
customField3: true
|
|
172
|
+
}],
|
|
173
|
+
totalCount: "1",
|
|
174
|
+
metadata: {
|
|
175
|
+
queryType: queryData.hookType || "advanced",
|
|
176
|
+
signature: queryData.signature || "custom query"
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
return JSON.stringify(mockData, null, 2);
|
|
180
|
+
}
|
|
181
|
+
static generateActionFunctionCode(actionData) {
|
|
182
|
+
const actionName = actionData.name;
|
|
183
|
+
return `function generateMock(params) {
|
|
184
|
+
// Access action parameters
|
|
185
|
+
console.log("Action: ${actionName}", params);
|
|
186
|
+
|
|
187
|
+
// Generate dynamic response based on parameters
|
|
188
|
+
const primaryKey = generateId();
|
|
189
|
+
|
|
190
|
+
return {
|
|
191
|
+
validation: {
|
|
192
|
+
result: "VALID",
|
|
193
|
+
submissionCriteria: [],
|
|
194
|
+
parameters: params
|
|
195
|
+
},
|
|
196
|
+
edits: {
|
|
197
|
+
type: "edits",
|
|
198
|
+
edits: [
|
|
199
|
+
{
|
|
200
|
+
type: "addObject",
|
|
201
|
+
primaryKey: primaryKey,
|
|
202
|
+
objectType: "${this.extractObjectTypeFromAction(actionName)}"
|
|
203
|
+
}
|
|
204
|
+
],
|
|
205
|
+
addedObjectCount: 1,
|
|
206
|
+
modifiedObjectsCount: 0,
|
|
207
|
+
deletedObjectsCount: 0,
|
|
208
|
+
addedLinksCount: 0,
|
|
209
|
+
deletedLinksCount: 0
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
function generateId() {
|
|
215
|
+
return crypto.randomUUID();
|
|
216
|
+
}`;
|
|
217
|
+
}
|
|
218
|
+
static generateObjectFunctionCode(objectData) {
|
|
219
|
+
const objectType = objectData.type;
|
|
220
|
+
return `function generateMock(params) {
|
|
221
|
+
// Access object primary key
|
|
222
|
+
const primaryKey = params.primaryKey || generateId();
|
|
223
|
+
|
|
224
|
+
return {
|
|
225
|
+
id: primaryKey,
|
|
226
|
+
__apiName: "${objectType}",
|
|
227
|
+
__primaryKey: primaryKey,
|
|
228
|
+
__title: \`Mock ${objectType} \${primaryKey}\`,
|
|
229
|
+
// Add dynamic fields based on context
|
|
230
|
+
createdAt: new Date().toISOString(),
|
|
231
|
+
modifiedAt: new Date().toISOString(),
|
|
232
|
+
${this.generateDynamicFieldsForObjectType(objectType)}
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function generateId() {
|
|
237
|
+
return crypto.randomUUID();
|
|
238
|
+
}`;
|
|
239
|
+
}
|
|
240
|
+
static generateObjectSetFunctionCode(objectSetData) {
|
|
241
|
+
const objectType = objectSetData.type;
|
|
242
|
+
return `function generateMock(params) {
|
|
243
|
+
// Access query parameters
|
|
244
|
+
const pageSize = params.pageSize || 10;
|
|
245
|
+
const where = params.where || {};
|
|
246
|
+
|
|
247
|
+
// Generate dynamic list based on parameters
|
|
248
|
+
const objects = Array.from({ length: pageSize }, (_, index) => {
|
|
249
|
+
const id = generateId();
|
|
250
|
+
return {
|
|
251
|
+
id,
|
|
252
|
+
__apiName: "${objectType}",
|
|
253
|
+
__primaryKey: id,
|
|
254
|
+
__title: \`${objectType} \${index + 1}\`,
|
|
255
|
+
// Add fields based on where clause
|
|
256
|
+
${this.generateDynamicFieldsForObjectType(objectType)}
|
|
257
|
+
};
|
|
258
|
+
});
|
|
259
|
+
|
|
260
|
+
return {
|
|
261
|
+
data: objects,
|
|
262
|
+
totalCount: String(objects.length)
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
function generateId() {
|
|
267
|
+
return crypto.randomUUID();
|
|
268
|
+
}`;
|
|
269
|
+
}
|
|
270
|
+
static generateLinksFunctionCode(linkData) {
|
|
271
|
+
const linkName = linkData.linkName;
|
|
272
|
+
const linkedType = this.inferLinkedTypeFromLinkName(linkName, linkData.sourceType);
|
|
273
|
+
return `function generateMock(params) {
|
|
274
|
+
// Access link traversal context
|
|
275
|
+
const sourceObject = params.sourceObject;
|
|
276
|
+
const linkName = "${linkName}";
|
|
277
|
+
|
|
278
|
+
// Generate linked objects based on source
|
|
279
|
+
const linkedObjects = Array.from({ length: 3 }, (_, index) => {
|
|
280
|
+
const id = generateId();
|
|
281
|
+
return {
|
|
282
|
+
$apiName: "${linkedType}",
|
|
283
|
+
$primaryKey: id,
|
|
284
|
+
$objectType: "${linkedType}",
|
|
285
|
+
$title: \`${linkedType} \${index + 1}\`,
|
|
286
|
+
// Add relationship fields
|
|
287
|
+
sourceId: sourceObject?.$primaryKey,
|
|
288
|
+
${this.generateDynamicFieldsForObjectType(linkedType)}
|
|
289
|
+
};
|
|
290
|
+
});
|
|
291
|
+
|
|
292
|
+
return {
|
|
293
|
+
data: linkedObjects,
|
|
294
|
+
totalCount: String(linkedObjects.length)
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
function generateId() {
|
|
299
|
+
return crypto.randomUUID();
|
|
300
|
+
}`;
|
|
301
|
+
}
|
|
302
|
+
static generateQueryFunctionCode(queryData) {
|
|
303
|
+
return `function generateMock(params) {
|
|
304
|
+
// Access advanced query parameters
|
|
305
|
+
console.log("Query params:", params);
|
|
306
|
+
|
|
307
|
+
// Generate dynamic results based on query
|
|
308
|
+
const results = Array.from({ length: 5 }, (_, index) => ({
|
|
309
|
+
id: generateId(),
|
|
310
|
+
__apiName: "QueryResult",
|
|
311
|
+
__primaryKey: generateId(),
|
|
312
|
+
__title: \`Result \${index + 1}\`,
|
|
313
|
+
// Add computed fields
|
|
314
|
+
score: Math.random() * 100,
|
|
315
|
+
relevance: Math.random(),
|
|
316
|
+
timestamp: new Date().toISOString()
|
|
317
|
+
}));
|
|
318
|
+
|
|
319
|
+
return {
|
|
320
|
+
data: results,
|
|
321
|
+
totalCount: String(results.length),
|
|
322
|
+
metadata: {
|
|
323
|
+
queryType: "${queryData.hookType || "advanced"}",
|
|
324
|
+
executionTime: Math.random() * 1000
|
|
325
|
+
}
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
function generateId() {
|
|
330
|
+
return crypto.randomUUID();
|
|
331
|
+
}`;
|
|
332
|
+
}
|
|
333
|
+
static generateFieldsForObjectType(objectType) {
|
|
334
|
+
if (objectType === "Todo") {
|
|
335
|
+
return {
|
|
336
|
+
title: "Sample Todo",
|
|
337
|
+
isComplete: false,
|
|
338
|
+
description: "This is a mock todo item",
|
|
339
|
+
createdAt: new Date().toISOString()
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
if (objectType === "Employee") {
|
|
343
|
+
return {
|
|
344
|
+
employeeId: Math.floor(Math.random() * 10000),
|
|
345
|
+
fullName: "John Doe",
|
|
346
|
+
email: "john.doe@example.com",
|
|
347
|
+
department: "Engineering"
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
if (objectType === "Office") {
|
|
351
|
+
return {
|
|
352
|
+
officeId: `OFFICE-${Math.floor(Math.random() * 100)}`,
|
|
353
|
+
name: "Main Office",
|
|
354
|
+
location: "New York",
|
|
355
|
+
capacity: 100
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
return {
|
|
359
|
+
name: `Sample ${objectType}`,
|
|
360
|
+
status: "ACTIVE",
|
|
361
|
+
createdAt: new Date().toISOString(),
|
|
362
|
+
modifiedAt: new Date().toISOString()
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
static generateDynamicFieldsForObjectType(objectType) {
|
|
366
|
+
if (objectType === "Todo") {
|
|
367
|
+
return `title: \`Todo Item \${index || ""}\`,
|
|
368
|
+
isComplete: Math.random() > 0.5,
|
|
369
|
+
description: "Generated todo description",
|
|
370
|
+
createdAt: new Date().toISOString()`;
|
|
371
|
+
}
|
|
372
|
+
if (objectType === "Employee") {
|
|
373
|
+
return `employeeId: Math.floor(Math.random() * 10000),
|
|
374
|
+
fullName: \`Employee \${index || ""}\`,
|
|
375
|
+
email: \`employee\${index || ""}@example.com\`,
|
|
376
|
+
department: ["Engineering", "Sales", "Marketing"][Math.floor(Math.random() * 3)]`;
|
|
377
|
+
}
|
|
378
|
+
return `name: \`${objectType} \${index || ""}\`,
|
|
379
|
+
status: "ACTIVE",
|
|
380
|
+
createdAt: new Date().toISOString()`;
|
|
381
|
+
}
|
|
382
|
+
static extractObjectTypeFromAction(actionName) {
|
|
383
|
+
const patterns = [/create[_-]?(\w+)/i, /add[_-]?(\w+)/i, /new[_-]?(\w+)/i, /(\w+)[_-]?create/i, /(\w+)[_-]?add/i];
|
|
384
|
+
for (const pattern of patterns) {
|
|
385
|
+
const match = actionName.match(pattern);
|
|
386
|
+
if (match && match[1]) {
|
|
387
|
+
return match[1].charAt(0).toUpperCase() + match[1].slice(1).toLowerCase();
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
return "Object";
|
|
391
|
+
}
|
|
392
|
+
static inferLinkedTypeFromLinkName(linkName, sourceType) {
|
|
393
|
+
if (linkName === "occupants" || linkName === "employees") {
|
|
394
|
+
return "Employee";
|
|
395
|
+
}
|
|
396
|
+
if (linkName === "offices" || linkName === "locations") {
|
|
397
|
+
return "Office";
|
|
398
|
+
}
|
|
399
|
+
if (linkName === "todos" || linkName === "tasks") {
|
|
400
|
+
return "Todo";
|
|
401
|
+
}
|
|
402
|
+
if (linkName === "children" || linkName === "parents") {
|
|
403
|
+
return sourceType;
|
|
404
|
+
}
|
|
405
|
+
let singular = linkName;
|
|
406
|
+
if (linkName.endsWith("ies")) {
|
|
407
|
+
singular = linkName.slice(0, -3) + "y";
|
|
408
|
+
} else if (linkName.endsWith("es")) {
|
|
409
|
+
singular = linkName.slice(0, -2);
|
|
410
|
+
} else if (linkName.endsWith("s")) {
|
|
411
|
+
singular = linkName.slice(0, -1);
|
|
412
|
+
}
|
|
413
|
+
return singular.charAt(0).toUpperCase() + singular.slice(1);
|
|
414
|
+
}
|
|
415
|
+
static generateCreateParameters(objectType) {
|
|
416
|
+
if (objectType === "Todo") {
|
|
417
|
+
return {
|
|
418
|
+
Todo: "New Todo Item",
|
|
419
|
+
is_complete: false,
|
|
420
|
+
location: "0,0"
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
if (objectType === "Employee") {
|
|
424
|
+
return {
|
|
425
|
+
fullName: "John Doe",
|
|
426
|
+
email: "john.doe@example.com",
|
|
427
|
+
employeeId: Math.floor(Math.random() * 10000),
|
|
428
|
+
department: "Engineering"
|
|
429
|
+
};
|
|
430
|
+
}
|
|
431
|
+
return {
|
|
432
|
+
name: `New ${objectType}`,
|
|
433
|
+
description: `Description for ${objectType}`,
|
|
434
|
+
status: "ACTIVE"
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
static generateUpdateParameters(objectType) {
|
|
438
|
+
if (objectType === "Todo") {
|
|
439
|
+
return {
|
|
440
|
+
todo: {
|
|
441
|
+
$primaryKey: crypto.randomUUID()
|
|
442
|
+
},
|
|
443
|
+
is_complete: true,
|
|
444
|
+
Todo: "Updated Todo"
|
|
445
|
+
};
|
|
446
|
+
}
|
|
447
|
+
if (objectType === "Employee") {
|
|
448
|
+
return {
|
|
449
|
+
employee: {
|
|
450
|
+
$primaryKey: crypto.randomUUID()
|
|
451
|
+
},
|
|
452
|
+
department: "Marketing",
|
|
453
|
+
email: "updated.email@example.com"
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
return {
|
|
457
|
+
object: {
|
|
458
|
+
$primaryKey: crypto.randomUUID()
|
|
459
|
+
},
|
|
460
|
+
name: `Updated ${objectType}`,
|
|
461
|
+
status: "MODIFIED"
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
static generateDeleteParameters() {
|
|
465
|
+
return {
|
|
466
|
+
object: {
|
|
467
|
+
$primaryKey: crypto.randomUUID()
|
|
468
|
+
},
|
|
469
|
+
reason: "No longer needed"
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
//# sourceMappingURL=MockDataGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MockDataGenerator.js","names":["MockDataGenerator","generatePayload","primitive","type","actionName","data","name","parameters","toLowerCase","includes","objectType","extractObjectTypeFromAction","generateCreateParameters","generateUpdateParameters","generateDeleteParameters","id","crypto","randomUUID","field1","field2","JSON","stringify","options","mode","returnEdits","generateStaticData","generateActionMockData","generateObjectMockData","generateObjectSetMockData","generateLinksMockData","generateQueryMockData","generateFunctionCode","generateActionFunctionCode","generateObjectFunctionCode","generateObjectSetFunctionCode","generateLinksFunctionCode","generateQueryFunctionCode","actionData","actionId","mockData","addedObjects","primaryKey","modifiedObjects","deletedObjects","addedLinks","deletedLinks","deletedObjectsCount","deletedLinksCount","editedObjectTypes","objectData","__apiName","__primaryKey","__title","generateFieldsForObjectType","objectSetData","pageSize","objects","Array","from","length","Math","min","_","index","totalCount","String","linkData","linkName","sourceType","linkedType","inferLinkedTypeFromLinkName","linkedObjects","$apiName","$primaryKey","$objectType","$title","queryData","customField1","customField2","customField3","metadata","queryType","hookType","signature","generateDynamicFieldsForObjectType","title","isComplete","description","createdAt","Date","toISOString","employeeId","floor","random","fullName","email","department","officeId","location","capacity","status","modifiedAt","patterns","pattern","match","charAt","toUpperCase","slice","singular","endsWith","Todo","is_complete","todo","employee","object","reason"],"sources":["MockDataGenerator.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { SelectedPrimitive } from \"../components/PrimitiveSelectionPanel.js\";\nimport type {\n DiscoveredAction,\n DiscoveredLink,\n DiscoveredObject,\n DiscoveredObjectSet,\n DiscoveredQuery,\n} from \"./ComponentPrimitiveDiscovery.js\";\n\nexport class MockDataGenerator {\n static generatePayload(primitive: SelectedPrimitive): string {\n if (primitive.type !== \"action\") {\n return \"{}\";\n }\n\n const actionName = primitive.data.name;\n\n let parameters: Record<string, unknown>;\n\n if (actionName.toLowerCase().includes(\"create\")) {\n const objectType = this.extractObjectTypeFromAction(actionName);\n parameters = this.generateCreateParameters(objectType);\n } else if (\n actionName.toLowerCase().includes(\"update\")\n || actionName.toLowerCase().includes(\"modify\")\n ) {\n const objectType = this.extractObjectTypeFromAction(actionName);\n parameters = this.generateUpdateParameters(objectType);\n } else if (actionName.toLowerCase().includes(\"delete\")) {\n const objectType = this.extractObjectTypeFromAction(actionName);\n parameters = this.generateDeleteParameters(objectType);\n } else {\n parameters = {\n id: crypto.randomUUID(),\n data: {\n field1: \"value1\",\n field2: 42,\n },\n };\n }\n\n return JSON.stringify(\n {\n parameters,\n options: {\n mode: \"VALIDATE_AND_EXECUTE\",\n returnEdits: \"ALL_V2_WITH_DELETIONS\",\n },\n },\n null,\n 2,\n );\n }\n\n static generateStaticData(primitive: SelectedPrimitive): string {\n switch (primitive.type) {\n case \"action\":\n return this.generateActionMockData(primitive.data);\n case \"object\":\n return this.generateObjectMockData(primitive.data);\n case \"objectSet\":\n return this.generateObjectSetMockData(primitive.data);\n case \"link\":\n return this.generateLinksMockData(primitive.data);\n case \"query\":\n return this.generateQueryMockData(primitive.data);\n case \"aggregation\":\n return \"{\\n \\\"data\\\": {},\\n \\\"status\\\": \\\"SUCCESS\\\"\\n}\";\n }\n }\n\n static generateFunctionCode(primitive: SelectedPrimitive): string {\n switch (primitive.type) {\n case \"action\":\n return this.generateActionFunctionCode(primitive.data);\n case \"object\":\n return this.generateObjectFunctionCode(primitive.data);\n case \"objectSet\":\n return this.generateObjectSetFunctionCode(primitive.data);\n case \"link\":\n return this.generateLinksFunctionCode(primitive.data);\n case \"query\":\n return this.generateQueryFunctionCode(primitive.data);\n case \"aggregation\":\n return \"function generateMock(params) {\\n return {\\n data: {},\\n status: \\\"SUCCESS\\\"\\n };\\n}\";\n }\n }\n\n private static generateActionMockData(actionData: DiscoveredAction): string {\n const actionName = actionData.name;\n const actionId = crypto.randomUUID();\n\n let objectType: string;\n\n if (actionName === \"createTodo\") {\n objectType = \"TodoLike\";\n } else {\n objectType = this.extractObjectTypeFromAction(actionName);\n }\n\n const mockData = {\n type: \"edits\",\n addedObjects: [\n {\n primaryKey: actionId,\n objectType: objectType,\n },\n ],\n modifiedObjects: [],\n deletedObjects: [],\n addedLinks: [],\n deletedLinks: [],\n deletedObjectsCount: 0,\n deletedLinksCount: 0,\n editedObjectTypes: [objectType],\n };\n\n return JSON.stringify(mockData, null, 2);\n }\n\n private static generateObjectMockData(objectData: DiscoveredObject): string {\n const objectType = objectData.type;\n const primaryKey = objectData.primaryKey || crypto.randomUUID();\n\n const mockData = {\n id: primaryKey,\n __apiName: objectType,\n __primaryKey: primaryKey,\n __title: `Mock ${objectType}`,\n ...this.generateFieldsForObjectType(objectType),\n };\n\n return JSON.stringify(mockData, null, 2);\n }\n\n private static generateObjectSetMockData(\n objectSetData: DiscoveredObjectSet,\n ): string {\n const objectType = objectSetData.type;\n const pageSize = objectSetData.pageSize || 10;\n\n const objects = Array.from(\n { length: Math.min(pageSize, 3) },\n (_, index) => {\n const id = crypto.randomUUID();\n return {\n id,\n __apiName: objectType,\n __primaryKey: id,\n __title: `${objectType} ${index + 1}`,\n ...this.generateFieldsForObjectType(objectType),\n };\n },\n );\n\n const mockData = {\n data: objects,\n totalCount: String(objects.length),\n };\n\n return JSON.stringify(mockData, null, 2);\n }\n\n private static generateLinksMockData(linkData: DiscoveredLink): string {\n const linkName = linkData.linkName;\n const sourceType = linkData.sourceType;\n\n const linkedType = this.inferLinkedTypeFromLinkName(linkName, sourceType);\n\n const linkedObjects = Array.from({ length: 2 }, (_, index) => {\n const id = crypto.randomUUID();\n return {\n $apiName: linkedType,\n $primaryKey: id,\n $objectType: linkedType,\n $title: `${linkedType} ${index + 1}`,\n ...this.generateFieldsForObjectType(linkedType),\n };\n });\n\n const mockData = {\n data: linkedObjects,\n totalCount: String(linkedObjects.length),\n };\n\n return JSON.stringify(mockData, null, 2);\n }\n\n private static generateQueryMockData(queryData: DiscoveredQuery): string {\n const mockData = {\n data: [\n {\n id: crypto.randomUUID(),\n __apiName: \"QueryResult\",\n __primaryKey: crypto.randomUUID(),\n __title: \"Query Result 1\",\n customField1: \"value1\",\n customField2: 42,\n customField3: true,\n },\n ],\n totalCount: \"1\",\n metadata: {\n queryType: queryData.hookType || \"advanced\",\n signature: queryData.signature || \"custom query\",\n },\n };\n\n return JSON.stringify(mockData, null, 2);\n }\n\n private static generateActionFunctionCode(\n actionData: DiscoveredAction,\n ): string {\n const actionName = actionData.name;\n\n return `function generateMock(params) {\n // Access action parameters\n console.log(\"Action: ${actionName}\", params);\n\n // Generate dynamic response based on parameters\n const primaryKey = generateId();\n\n return {\n validation: {\n result: \"VALID\",\n submissionCriteria: [],\n parameters: params\n },\n edits: {\n type: \"edits\",\n edits: [\n {\n type: \"addObject\",\n primaryKey: primaryKey,\n objectType: \"${this.extractObjectTypeFromAction(actionName)}\"\n }\n ],\n addedObjectCount: 1,\n modifiedObjectsCount: 0,\n deletedObjectsCount: 0,\n addedLinksCount: 0,\n deletedLinksCount: 0\n }\n };\n}\n\nfunction generateId() {\n return crypto.randomUUID();\n}`;\n }\n\n private static generateObjectFunctionCode(\n objectData: DiscoveredObject,\n ): string {\n const objectType = objectData.type;\n\n return `function generateMock(params) {\n // Access object primary key\n const primaryKey = params.primaryKey || generateId();\n\n return {\n id: primaryKey,\n __apiName: \"${objectType}\",\n __primaryKey: primaryKey,\n __title: \\`Mock ${objectType} \\${primaryKey}\\`,\n // Add dynamic fields based on context\n createdAt: new Date().toISOString(),\n modifiedAt: new Date().toISOString(),\n ${this.generateDynamicFieldsForObjectType(objectType)}\n };\n}\n\nfunction generateId() {\n return crypto.randomUUID();\n}`;\n }\n\n private static generateObjectSetFunctionCode(\n objectSetData: DiscoveredObjectSet,\n ): string {\n const objectType = objectSetData.type;\n\n return `function generateMock(params) {\n // Access query parameters\n const pageSize = params.pageSize || 10;\n const where = params.where || {};\n\n // Generate dynamic list based on parameters\n const objects = Array.from({ length: pageSize }, (_, index) => {\n const id = generateId();\n return {\n id,\n __apiName: \"${objectType}\",\n __primaryKey: id,\n __title: \\`${objectType} \\${index + 1}\\`,\n // Add fields based on where clause\n ${this.generateDynamicFieldsForObjectType(objectType)}\n };\n });\n\n return {\n data: objects,\n totalCount: String(objects.length)\n };\n}\n\nfunction generateId() {\n return crypto.randomUUID();\n}`;\n }\n\n private static generateLinksFunctionCode(linkData: DiscoveredLink): string {\n const linkName = linkData.linkName;\n const linkedType = this.inferLinkedTypeFromLinkName(\n linkName,\n linkData.sourceType,\n );\n\n return `function generateMock(params) {\n // Access link traversal context\n const sourceObject = params.sourceObject;\n const linkName = \"${linkName}\";\n\n // Generate linked objects based on source\n const linkedObjects = Array.from({ length: 3 }, (_, index) => {\n const id = generateId();\n return {\n $apiName: \"${linkedType}\",\n $primaryKey: id,\n $objectType: \"${linkedType}\",\n $title: \\`${linkedType} \\${index + 1}\\`,\n // Add relationship fields\n sourceId: sourceObject?.$primaryKey,\n ${this.generateDynamicFieldsForObjectType(linkedType)}\n };\n });\n\n return {\n data: linkedObjects,\n totalCount: String(linkedObjects.length)\n };\n}\n\nfunction generateId() {\n return crypto.randomUUID();\n}`;\n }\n\n private static generateQueryFunctionCode(queryData: DiscoveredQuery): string {\n return `function generateMock(params) {\n // Access advanced query parameters\n console.log(\"Query params:\", params);\n\n // Generate dynamic results based on query\n const results = Array.from({ length: 5 }, (_, index) => ({\n id: generateId(),\n __apiName: \"QueryResult\",\n __primaryKey: generateId(),\n __title: \\`Result \\${index + 1}\\`,\n // Add computed fields\n score: Math.random() * 100,\n relevance: Math.random(),\n timestamp: new Date().toISOString()\n }));\n\n return {\n data: results,\n totalCount: String(results.length),\n metadata: {\n queryType: \"${queryData.hookType || \"advanced\"}\",\n executionTime: Math.random() * 1000\n }\n };\n}\n\nfunction generateId() {\n return crypto.randomUUID();\n}`;\n }\n\n private static generateFieldsForObjectType(\n objectType: string,\n ): Record<string, unknown> {\n if (objectType === \"Todo\") {\n return {\n title: \"Sample Todo\",\n isComplete: false,\n description: \"This is a mock todo item\",\n createdAt: new Date().toISOString(),\n };\n }\n\n if (objectType === \"Employee\") {\n return {\n employeeId: Math.floor(Math.random() * 10000),\n fullName: \"John Doe\",\n email: \"john.doe@example.com\",\n department: \"Engineering\",\n };\n }\n\n if (objectType === \"Office\") {\n return {\n officeId: `OFFICE-${Math.floor(Math.random() * 100)}`,\n name: \"Main Office\",\n location: \"New York\",\n capacity: 100,\n };\n }\n\n return {\n name: `Sample ${objectType}`,\n status: \"ACTIVE\",\n createdAt: new Date().toISOString(),\n modifiedAt: new Date().toISOString(),\n };\n }\n\n private static generateDynamicFieldsForObjectType(\n objectType: string,\n ): string {\n if (objectType === \"Todo\") {\n return `title: \\`Todo Item \\${index || \"\"}\\`,\n isComplete: Math.random() > 0.5,\n description: \"Generated todo description\",\n createdAt: new Date().toISOString()`;\n }\n\n if (objectType === \"Employee\") {\n return `employeeId: Math.floor(Math.random() * 10000),\n fullName: \\`Employee \\${index || \"\"}\\`,\n email: \\`employee\\${index || \"\"}@example.com\\`,\n department: [\"Engineering\", \"Sales\", \"Marketing\"][Math.floor(Math.random() * 3)]`;\n }\n\n return `name: \\`${objectType} \\${index || \"\"}\\`,\n status: \"ACTIVE\",\n createdAt: new Date().toISOString()`;\n }\n\n private static extractObjectTypeFromAction(actionName: string): string {\n const patterns = [\n /create[_-]?(\\w+)/i,\n /add[_-]?(\\w+)/i,\n /new[_-]?(\\w+)/i,\n /(\\w+)[_-]?create/i,\n /(\\w+)[_-]?add/i,\n ];\n\n for (const pattern of patterns) {\n const match = actionName.match(pattern);\n if (match && match[1]) {\n return match[1].charAt(0).toUpperCase()\n + match[1].slice(1).toLowerCase();\n }\n }\n\n return \"Object\";\n }\n\n private static inferLinkedTypeFromLinkName(\n linkName: string,\n sourceType: string,\n ): string {\n if (linkName === \"occupants\" || linkName === \"employees\") {\n return \"Employee\";\n }\n if (linkName === \"offices\" || linkName === \"locations\") {\n return \"Office\";\n }\n if (linkName === \"todos\" || linkName === \"tasks\") {\n return \"Todo\";\n }\n if (linkName === \"children\" || linkName === \"parents\") {\n return sourceType;\n }\n\n let singular = linkName;\n if (linkName.endsWith(\"ies\")) {\n singular = linkName.slice(0, -3) + \"y\";\n } else if (linkName.endsWith(\"es\")) {\n singular = linkName.slice(0, -2);\n } else if (linkName.endsWith(\"s\")) {\n singular = linkName.slice(0, -1);\n }\n\n return singular.charAt(0).toUpperCase() + singular.slice(1);\n }\n\n private static generateCreateParameters(\n objectType: string,\n ): Record<string, unknown> {\n if (objectType === \"Todo\") {\n return {\n Todo: \"New Todo Item\",\n is_complete: false,\n location: \"0,0\",\n };\n }\n\n if (objectType === \"Employee\") {\n return {\n fullName: \"John Doe\",\n email: \"john.doe@example.com\",\n employeeId: Math.floor(Math.random() * 10000),\n department: \"Engineering\",\n };\n }\n\n return {\n name: `New ${objectType}`,\n description: `Description for ${objectType}`,\n status: \"ACTIVE\",\n };\n }\n\n private static generateUpdateParameters(\n objectType: string,\n ): Record<string, unknown> {\n if (objectType === \"Todo\") {\n return {\n todo: { $primaryKey: crypto.randomUUID() },\n is_complete: true,\n Todo: \"Updated Todo\",\n };\n }\n\n if (objectType === \"Employee\") {\n return {\n employee: { $primaryKey: crypto.randomUUID() },\n department: \"Marketing\",\n email: \"updated.email@example.com\",\n };\n }\n\n return {\n object: { $primaryKey: crypto.randomUUID() },\n name: `Updated ${objectType}`,\n status: \"MODIFIED\",\n };\n }\n\n private static generateDeleteParameters(\n _objectType: string,\n ): Record<string, unknown> {\n return {\n object: { $primaryKey: crypto.randomUUID() },\n reason: \"No longer needed\",\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|