@zengrid/core 1.0.7 → 1.2.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/README.md +3 -0
- package/dist/README.md +3 -0
- package/dist/index.cjs.js +28845 -7272
- package/dist/index.esm.js +28724 -7274
- package/dist/package.json +5 -5
- package/dist/src/a11y/aria-manager.d.ts +1 -1
- package/dist/src/a11y/focus-manager.d.ts.map +1 -1
- package/dist/src/data/data-accessor/array-accessor.d.ts.map +1 -1
- package/dist/src/data/data-accessor/column-store-accessor.d.ts.map +1 -1
- package/dist/src/data/data-accessor/index.d.ts +2 -2
- package/dist/src/data/data-accessor/index.d.ts.map +1 -1
- package/dist/src/data/data-accessor/sparse-matrix-accessor.d.ts.map +1 -1
- package/dist/src/data/data-manager.d.ts.map +1 -1
- package/dist/src/data/data-source.interface.d.ts +4 -4
- package/dist/src/data/data-source.interface.d.ts.map +1 -1
- package/dist/src/datetime-core/calendar/index.d.ts +6 -0
- package/dist/src/datetime-core/calendar/index.d.ts.map +1 -0
- package/dist/src/datetime-core/calendar/vanilla-calendar-adapter.d.ts +114 -0
- package/dist/src/datetime-core/calendar/vanilla-calendar-adapter.d.ts.map +1 -0
- package/dist/src/datetime-core/formatting/date-formatter.d.ts +52 -0
- package/dist/src/datetime-core/formatting/date-formatter.d.ts.map +1 -0
- package/dist/src/datetime-core/formatting/index.d.ts +5 -0
- package/dist/src/datetime-core/formatting/index.d.ts.map +1 -0
- package/dist/src/datetime-core/index.d.ts +28 -0
- package/dist/src/datetime-core/index.d.ts.map +1 -0
- package/dist/src/datetime-core/keyboard/index.d.ts +6 -0
- package/dist/src/datetime-core/keyboard/index.d.ts.map +1 -0
- package/dist/src/datetime-core/keyboard/keyboard-nav.d.ts +48 -0
- package/dist/src/datetime-core/keyboard/keyboard-nav.d.ts.map +1 -0
- package/dist/src/datetime-core/parsing/date-parser.d.ts +30 -0
- package/dist/src/datetime-core/parsing/date-parser.d.ts.map +1 -0
- package/dist/src/datetime-core/parsing/index.d.ts +5 -0
- package/dist/src/datetime-core/parsing/index.d.ts.map +1 -0
- package/dist/src/datetime-core/popup/click-outside.d.ts +49 -0
- package/dist/src/datetime-core/popup/click-outside.d.ts.map +1 -0
- package/dist/src/datetime-core/popup/index.d.ts +10 -0
- package/dist/src/datetime-core/popup/index.d.ts.map +1 -0
- package/dist/src/datetime-core/popup/popup-manager.d.ts +78 -0
- package/dist/src/datetime-core/popup/popup-manager.d.ts.map +1 -0
- package/dist/src/datetime-core/popup/popup-positioner.d.ts +43 -0
- package/dist/src/datetime-core/popup/popup-positioner.d.ts.map +1 -0
- package/dist/src/datetime-core/scroll/index.d.ts +6 -0
- package/dist/src/datetime-core/scroll/index.d.ts.map +1 -0
- package/dist/src/datetime-core/scroll/scroll-handler.d.ts +63 -0
- package/dist/src/datetime-core/scroll/scroll-handler.d.ts.map +1 -0
- package/dist/src/datetime-core/theming/datetime.css +407 -0
- package/dist/src/datetime-core/theming/index.d.ts +7 -0
- package/dist/src/datetime-core/theming/index.d.ts.map +1 -0
- package/dist/src/datetime-core/theming/theme-manager.d.ts +104 -0
- package/dist/src/datetime-core/theming/theme-manager.d.ts.map +1 -0
- package/dist/src/editing/cell-editor.interface.d.ts +12 -0
- package/dist/src/editing/cell-editor.interface.d.ts.map +1 -1
- package/dist/src/editing/checkbox/checkbox-dom.d.ts +33 -0
- package/dist/src/editing/checkbox/checkbox-dom.d.ts.map +1 -0
- package/dist/src/editing/checkbox/checkbox-editor.d.ts +18 -0
- package/dist/src/editing/checkbox/checkbox-editor.d.ts.map +1 -0
- package/dist/src/editing/checkbox/checkbox-events.d.ts +54 -0
- package/dist/src/editing/checkbox/checkbox-events.d.ts.map +1 -0
- package/dist/src/editing/checkbox/checkbox-state.d.ts +34 -0
- package/dist/src/editing/checkbox/checkbox-state.d.ts.map +1 -0
- package/dist/src/editing/checkbox/checkbox-types.d.ts +37 -0
- package/dist/src/editing/checkbox/checkbox-types.d.ts.map +1 -0
- package/dist/src/editing/checkbox/index.d.ts +3 -0
- package/dist/src/editing/checkbox/index.d.ts.map +1 -0
- package/dist/src/editing/datetime/date-editor/date-editor.d.ts +65 -0
- package/dist/src/editing/datetime/date-editor/date-editor.d.ts.map +1 -0
- package/dist/src/editing/datetime/date-editor/index.d.ts +6 -0
- package/dist/src/editing/datetime/date-editor/index.d.ts.map +1 -0
- package/dist/src/editing/datetime/date-editor/types.d.ts +58 -0
- package/dist/src/editing/datetime/date-editor/types.d.ts.map +1 -0
- package/dist/src/editing/datetime/date-range-editor/date-range-calendar.d.ts +15 -0
- package/dist/src/editing/datetime/date-range-editor/date-range-calendar.d.ts.map +1 -0
- package/dist/src/editing/datetime/date-range-editor/date-range-dom.d.ts +22 -0
- package/dist/src/editing/datetime/date-range-editor/date-range-dom.d.ts.map +1 -0
- package/dist/src/editing/datetime/date-range-editor/date-range-editor.d.ts +33 -0
- package/dist/src/editing/datetime/date-range-editor/date-range-editor.d.ts.map +1 -0
- package/dist/src/editing/datetime/date-range-editor/date-range-validation.d.ts +7 -0
- package/dist/src/editing/datetime/date-range-editor/date-range-validation.d.ts.map +1 -0
- package/dist/src/editing/datetime/date-range-editor/index.d.ts +6 -0
- package/dist/src/editing/datetime/date-range-editor/index.d.ts.map +1 -0
- package/dist/src/editing/datetime/date-range-editor/types.d.ts +58 -0
- package/dist/src/editing/datetime/date-range-editor/types.d.ts.map +1 -0
- package/dist/src/editing/datetime/datetime-editor/datetime-editor.d.ts +51 -0
- package/dist/src/editing/datetime/datetime-editor/datetime-editor.d.ts.map +1 -0
- package/dist/src/editing/datetime/datetime-editor/index.d.ts +6 -0
- package/dist/src/editing/datetime/datetime-editor/index.d.ts.map +1 -0
- package/dist/src/editing/datetime/datetime-editor/types.d.ts +58 -0
- package/dist/src/editing/datetime/datetime-editor/types.d.ts.map +1 -0
- package/dist/src/editing/datetime/index.d.ts +14 -0
- package/dist/src/editing/datetime/index.d.ts.map +1 -0
- package/dist/src/editing/datetime/time-editor/index.d.ts +6 -0
- package/dist/src/editing/datetime/time-editor/index.d.ts.map +1 -0
- package/dist/src/editing/datetime/time-editor/time-editor.d.ts +42 -0
- package/dist/src/editing/datetime/time-editor/time-editor.d.ts.map +1 -0
- package/dist/src/editing/datetime/time-editor/types.d.ts +63 -0
- package/dist/src/editing/datetime/time-editor/types.d.ts.map +1 -0
- package/dist/src/editing/dropdown/dropdown-editor.d.ts +35 -0
- package/dist/src/editing/dropdown/dropdown-editor.d.ts.map +1 -0
- package/dist/src/editing/dropdown/dropdown-manager.d.ts +26 -0
- package/dist/src/editing/dropdown/dropdown-manager.d.ts.map +1 -0
- package/dist/src/editing/dropdown/event-handlers.d.ts +24 -0
- package/dist/src/editing/dropdown/event-handlers.d.ts.map +1 -0
- package/dist/src/editing/dropdown/index.d.ts +3 -0
- package/dist/src/editing/dropdown/index.d.ts.map +1 -0
- package/dist/src/editing/dropdown/search-filter.d.ts +26 -0
- package/dist/src/editing/dropdown/search-filter.d.ts.map +1 -0
- package/dist/src/editing/dropdown/types.d.ts +51 -0
- package/dist/src/editing/dropdown/types.d.ts.map +1 -0
- package/dist/src/editing/dropdown/ui-builder.d.ts +27 -0
- package/dist/src/editing/dropdown/ui-builder.d.ts.map +1 -0
- package/dist/src/editing/dropdown/validators.d.ts +7 -0
- package/dist/src/editing/dropdown/validators.d.ts.map +1 -0
- package/dist/src/editing/{editor-manager.d.ts → editor-manager/editor-manager.d.ts} +49 -4
- package/dist/src/editing/editor-manager/editor-manager.d.ts.map +1 -0
- package/dist/src/editing/editor-manager/index.d.ts +3 -0
- package/dist/src/editing/editor-manager/index.d.ts.map +1 -0
- package/dist/src/editing/index.d.ts +11 -9
- package/dist/src/editing/index.d.ts.map +1 -1
- package/dist/src/editing/number/index.d.ts +3 -0
- package/dist/src/editing/number/index.d.ts.map +1 -0
- package/dist/src/editing/{number-editor.d.ts → number/number-editor.d.ts} +1 -1
- package/dist/src/editing/number/number-editor.d.ts.map +1 -0
- package/dist/src/editing/select/index.d.ts +3 -0
- package/dist/src/editing/select/index.d.ts.map +1 -0
- package/dist/src/editing/{select-editor.d.ts → select/select-editor.d.ts} +1 -1
- package/dist/src/editing/select/select-editor.d.ts.map +1 -0
- package/dist/src/editing/text/index.d.ts +3 -0
- package/dist/src/editing/text/index.d.ts.map +1 -0
- package/dist/src/editing/text/text-editor.d.ts +188 -0
- package/dist/src/editing/text/text-editor.d.ts.map +1 -0
- package/dist/src/events/event-emitter.d.ts.map +1 -1
- package/dist/src/events/grid-events.d.ts +71 -7
- package/dist/src/events/grid-events.d.ts.map +1 -1
- package/dist/src/features/autofill/autofill-manager.d.ts.map +1 -1
- package/dist/src/features/column-drag/column-drag-command.d.ts +60 -0
- package/dist/src/features/column-drag/column-drag-command.d.ts.map +1 -0
- package/dist/src/features/column-drag/column-drag-manager.d.ts +75 -0
- package/dist/src/features/column-drag/column-drag-manager.d.ts.map +1 -0
- package/dist/src/features/column-drag/column-drag-manager.interface.d.ts +263 -0
- package/dist/src/features/column-drag/column-drag-manager.interface.d.ts.map +1 -0
- package/dist/src/features/column-drag/column-drag.styles.css +90 -0
- package/dist/src/features/column-drag/drag-callbacks.d.ts +13 -0
- package/dist/src/features/column-drag/drag-callbacks.d.ts.map +1 -0
- package/dist/src/features/column-drag/drag-event-handlers.d.ts +26 -0
- package/dist/src/features/column-drag/drag-event-handlers.d.ts.map +1 -0
- package/dist/src/features/column-drag/drag-keyboard-handler.d.ts +77 -0
- package/dist/src/features/column-drag/drag-keyboard-handler.d.ts.map +1 -0
- package/dist/src/features/column-drag/drag-lifecycle.d.ts +28 -0
- package/dist/src/features/column-drag/drag-lifecycle.d.ts.map +1 -0
- package/dist/src/features/column-drag/drag-mouse-handler.d.ts +57 -0
- package/dist/src/features/column-drag/drag-mouse-handler.d.ts.map +1 -0
- package/dist/src/features/column-drag/drag-operations.d.ts +43 -0
- package/dist/src/features/column-drag/drag-operations.d.ts.map +1 -0
- package/dist/src/features/column-drag/drag-state-machine.d.ts +10 -0
- package/dist/src/features/column-drag/drag-state-machine.d.ts.map +1 -0
- package/dist/src/features/column-drag/drag-state-manager.d.ts +80 -0
- package/dist/src/features/column-drag/drag-state-manager.d.ts.map +1 -0
- package/dist/src/features/column-drag/drag-touch-handler.d.ts +90 -0
- package/dist/src/features/column-drag/drag-touch-handler.d.ts.map +1 -0
- package/dist/src/features/column-drag/drag-visual-feedback.d.ts +74 -0
- package/dist/src/features/column-drag/drag-visual-feedback.d.ts.map +1 -0
- package/dist/src/features/column-drag/drop-zone-detector.d.ts +53 -0
- package/dist/src/features/column-drag/drop-zone-detector.d.ts.map +1 -0
- package/dist/src/features/column-drag/index.d.ts +17 -0
- package/dist/src/features/column-drag/index.d.ts.map +1 -0
- package/dist/src/features/column-groups/column-group-manager.d.ts +159 -0
- package/dist/src/features/column-groups/column-group-manager.d.ts.map +1 -0
- package/dist/src/features/column-groups/column-group-model.d.ts +108 -0
- package/dist/src/features/column-groups/column-group-model.d.ts.map +1 -0
- package/dist/src/features/column-groups/column-group-renderer.d.ts +163 -0
- package/dist/src/features/column-groups/column-group-renderer.d.ts.map +1 -0
- package/dist/src/features/column-groups/event-subscription-manager.d.ts +32 -0
- package/dist/src/features/column-groups/event-subscription-manager.d.ts.map +1 -0
- package/dist/src/features/column-groups/group-operations.d.ts +54 -0
- package/dist/src/features/column-groups/group-operations.d.ts.map +1 -0
- package/dist/src/features/column-groups/group-renderer-controller.d.ts +27 -0
- package/dist/src/features/column-groups/group-renderer-controller.d.ts.map +1 -0
- package/dist/src/features/column-groups/index.d.ts +14 -0
- package/dist/src/features/column-groups/index.d.ts.map +1 -0
- package/dist/src/features/column-groups/manager-options.d.ts +56 -0
- package/dist/src/features/column-groups/manager-options.d.ts.map +1 -0
- package/dist/src/features/column-groups/model-query-adapter.d.ts +49 -0
- package/dist/src/features/column-groups/model-query-adapter.d.ts.map +1 -0
- package/dist/src/features/column-groups/renderer-registry.d.ts +197 -0
- package/dist/src/features/column-groups/renderer-registry.d.ts.map +1 -0
- package/dist/src/features/column-groups/types.d.ts +100 -0
- package/dist/src/features/column-groups/types.d.ts.map +1 -0
- package/dist/src/features/column-resize/auto-fit-calculator.d.ts +21 -2
- package/dist/src/features/column-resize/auto-fit-calculator.d.ts.map +1 -1
- package/dist/src/features/column-resize/column-resize-manager.d.ts +4 -62
- package/dist/src/features/column-resize/column-resize-manager.d.ts.map +1 -1
- package/dist/src/features/column-resize/column-resize-manager.interface.d.ts +22 -1
- package/dist/src/features/column-resize/column-resize-manager.interface.d.ts.map +1 -1
- package/dist/src/features/column-resize/column-resize.styles.css +5 -4
- package/dist/src/features/column-resize/data-source-adapter.d.ts +20 -0
- package/dist/src/features/column-resize/data-source-adapter.d.ts.map +1 -0
- package/dist/src/features/column-resize/event-handlers.d.ts +90 -0
- package/dist/src/features/column-resize/event-handlers.d.ts.map +1 -0
- package/dist/src/features/column-resize/handle-coordinator.d.ts +19 -0
- package/dist/src/features/column-resize/handle-coordinator.d.ts.map +1 -0
- package/dist/src/features/column-resize/index.d.ts +4 -1
- package/dist/src/features/column-resize/index.d.ts.map +1 -1
- package/dist/src/features/column-resize/initialization.d.ts +19 -0
- package/dist/src/features/column-resize/initialization.d.ts.map +1 -0
- package/dist/src/features/column-resize/lifecycle-manager.d.ts +58 -0
- package/dist/src/features/column-resize/lifecycle-manager.d.ts.map +1 -0
- package/dist/src/features/column-resize/programmatic-operations.d.ts +35 -0
- package/dist/src/features/column-resize/programmatic-operations.d.ts.map +1 -0
- package/dist/src/features/column-resize/resize-constraint-manager.d.ts +11 -0
- package/dist/src/features/column-resize/resize-constraint-manager.d.ts.map +1 -1
- package/dist/src/features/column-resize/resize-handle-renderer.d.ts +1 -1
- package/dist/src/features/column-resize/resize-handle-renderer.d.ts.map +1 -1
- package/dist/src/features/column-resize/resize-test-helper.d.ts.map +1 -1
- package/dist/src/features/column-resize/resize-zone-detector.d.ts.map +1 -1
- package/dist/src/features/column-resize/width-notifier.d.ts +15 -0
- package/dist/src/features/column-resize/width-notifier.d.ts.map +1 -0
- package/dist/src/features/columns/column-model.d.ts +107 -0
- package/dist/src/features/columns/column-model.d.ts.map +1 -0
- package/dist/src/features/columns/index.d.ts +39 -0
- package/dist/src/features/columns/index.d.ts.map +1 -0
- package/dist/src/features/columns/plugins/column-pin.d.ts +61 -0
- package/dist/src/features/columns/plugins/column-pin.d.ts.map +1 -0
- package/dist/src/features/columns/plugins/column-reorder.d.ts +44 -0
- package/dist/src/features/columns/plugins/column-reorder.d.ts.map +1 -0
- package/dist/src/features/columns/plugins/column-visibility.d.ts +103 -0
- package/dist/src/features/columns/plugins/column-visibility.d.ts.map +1 -0
- package/dist/src/features/columns/plugins/index.d.ts +34 -0
- package/dist/src/features/columns/plugins/index.d.ts.map +1 -0
- package/dist/src/features/columns/types.d.ts +189 -0
- package/dist/src/features/columns/types.d.ts.map +1 -0
- package/dist/src/features/copy-paste/clipboard-manager.d.ts.map +1 -1
- package/dist/src/features/export/csv-exporter.d.ts +32 -0
- package/dist/src/features/export/csv-exporter.d.ts.map +1 -0
- package/dist/src/features/export/index.d.ts +3 -0
- package/dist/src/features/export/index.d.ts.map +1 -0
- package/dist/src/features/filtering/adapters/graphql-adapter.d.ts.map +1 -1
- package/dist/src/features/filtering/adapters/rest-adapter.d.ts.map +1 -1
- package/dist/src/features/filtering/adapters/sql-adapter.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-cache.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-export-manager.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-index-manager.d.ts.map +1 -1
- package/dist/src/features/filtering/filter-manager/filter-core.d.ts +85 -0
- package/dist/src/features/filtering/filter-manager/filter-core.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-manager/filter-export.d.ts +84 -0
- package/dist/src/features/filtering/filter-manager/filter-export.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-manager/filter-optimizer.d.ts +76 -0
- package/dist/src/features/filtering/filter-manager/filter-optimizer.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-manager/filter-query.d.ts +79 -0
- package/dist/src/features/filtering/filter-manager/filter-query.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-manager/index.d.ts +182 -0
- package/dist/src/features/filtering/filter-manager/index.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-manager/types.d.ts +91 -0
- package/dist/src/features/filtering/filter-manager/types.d.ts.map +1 -0
- package/dist/src/features/filtering/filter-query-parser.d.ts.map +1 -1
- package/dist/src/features/filtering/range-filter-optimizer.d.ts.map +1 -1
- package/dist/src/features/hit-testing/spatial-hit-tester.d.ts.map +1 -1
- package/dist/src/features/loading/loading-indicator.d.ts.map +1 -1
- package/dist/src/features/loading/loading.styles.css +19 -90
- package/dist/src/features/pagination/pagination.styles.css +34 -74
- package/dist/src/features/pagination/paginator.d.ts.map +1 -1
- package/dist/src/features/row-height/index.d.ts +8 -0
- package/dist/src/features/row-height/index.d.ts.map +1 -0
- package/dist/src/features/row-height/row-height-manager.d.ts +86 -0
- package/dist/src/features/row-height/row-height-manager.d.ts.map +1 -0
- package/dist/src/features/selection/selection-manager.d.ts.map +1 -1
- package/dist/src/features/sorting/index.d.ts +3 -0
- package/dist/src/features/sorting/index.d.ts.map +1 -1
- package/dist/src/features/sorting/multi-column-sorter.d.ts +170 -0
- package/dist/src/features/sorting/multi-column-sorter.d.ts.map +1 -0
- package/dist/src/features/sorting/row-sorter.interface.d.ts.map +1 -1
- package/dist/src/features/sorting/single-column-sorter.d.ts.map +1 -1
- package/dist/src/features/sorting/sort-manager.d.ts.map +1 -1
- package/dist/src/features/sorting/sort-state-manager.d.ts +184 -0
- package/dist/src/features/sorting/sort-state-manager.d.ts.map +1 -0
- package/dist/src/features/sorting/types.d.ts +87 -0
- package/dist/src/features/sorting/types.d.ts.map +1 -0
- package/dist/src/features/undo-redo/undo-redo-manager.d.ts.map +1 -1
- package/dist/src/features/viewport/index.d.ts +11 -0
- package/dist/src/features/viewport/index.d.ts.map +1 -0
- package/dist/src/features/viewport/scroll-model.d.ts +57 -0
- package/dist/src/features/viewport/scroll-model.d.ts.map +1 -0
- package/dist/src/features/viewport/types.d.ts +61 -0
- package/dist/src/features/viewport/types.d.ts.map +1 -0
- package/dist/src/features/viewport/viewport-model.d.ts +64 -0
- package/dist/src/features/viewport/viewport-model.d.ts.map +1 -0
- package/dist/src/grid/api/column-api.d.ts +23 -0
- package/dist/src/grid/api/column-api.d.ts.map +1 -0
- package/dist/src/grid/api/export-api.d.ts +9 -0
- package/dist/src/grid/api/export-api.d.ts.map +1 -0
- package/dist/src/grid/api/filter-api.d.ts +24 -0
- package/dist/src/grid/api/filter-api.d.ts.map +1 -0
- package/dist/src/grid/api/index.d.ts +15 -0
- package/dist/src/grid/api/index.d.ts.map +1 -0
- package/dist/src/grid/api/pagination-api.d.ts +14 -0
- package/dist/src/grid/api/pagination-api.d.ts.map +1 -0
- package/dist/src/grid/api/scroll-api.d.ts +26 -0
- package/dist/src/grid/api/scroll-api.d.ts.map +1 -0
- package/dist/src/grid/api/sort-api.d.ts +17 -0
- package/dist/src/grid/api/sort-api.d.ts.map +1 -0
- package/dist/src/grid/api/state-api.d.ts +10 -0
- package/dist/src/grid/api/state-api.d.ts.map +1 -0
- package/dist/src/grid/filter-ui.d.ts +41 -0
- package/dist/src/grid/filter-ui.d.ts.map +1 -0
- package/dist/src/grid/grid-api.d.ts +19 -0
- package/dist/src/grid/grid-api.d.ts.map +1 -0
- package/dist/src/grid/grid-context.d.ts +23 -0
- package/dist/src/grid/grid-context.d.ts.map +1 -0
- package/dist/src/grid/grid-core.d.ts +122 -0
- package/dist/src/grid/grid-core.d.ts.map +1 -0
- package/dist/src/grid/grid-export.d.ts +18 -0
- package/dist/src/grid/grid-export.d.ts.map +1 -0
- package/dist/src/grid/grid-setup.d.ts +5 -0
- package/dist/src/grid/grid-setup.d.ts.map +1 -0
- package/dist/src/grid/grid-theme-methods.d.ts +17 -0
- package/dist/src/grid/grid-theme-methods.d.ts.map +1 -0
- package/dist/src/grid/index.d.ts +7 -0
- package/dist/src/grid/index.d.ts.map +1 -0
- package/dist/src/grid/plugin-host.d.ts +16 -0
- package/dist/src/grid/plugin-host.d.ts.map +1 -0
- package/dist/src/grid.d.ts +5 -412
- package/dist/src/grid.d.ts.map +1 -1
- package/dist/src/index.d.ts +87 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/plugins/async-filter-plugin.d.ts +7 -0
- package/dist/src/plugins/async-filter-plugin.d.ts.map +1 -0
- package/dist/src/plugins/async-sort-plugin.d.ts +8 -0
- package/dist/src/plugins/async-sort-plugin.d.ts.map +1 -0
- package/dist/src/plugins/column/column-plugin.d.ts +18 -0
- package/dist/src/plugins/column/column-plugin.d.ts.map +1 -0
- package/dist/src/plugins/column/grid-state.d.ts +17 -0
- package/dist/src/plugins/column/grid-state.d.ts.map +1 -0
- package/dist/src/plugins/column/index.d.ts +3 -0
- package/dist/src/plugins/column/index.d.ts.map +1 -0
- package/dist/src/plugins/core-plugin.d.ts +6 -0
- package/dist/src/plugins/core-plugin.d.ts.map +1 -0
- package/dist/src/plugins/dom/dom-plugin.d.ts +14 -0
- package/dist/src/plugins/dom/dom-plugin.d.ts.map +1 -0
- package/dist/src/plugins/dom/index.d.ts +3 -0
- package/dist/src/plugins/dom/index.d.ts.map +1 -0
- package/dist/src/plugins/editing/editing-plugin.d.ts +15 -0
- package/dist/src/plugins/editing/editing-plugin.d.ts.map +1 -0
- package/dist/src/plugins/editing/index.d.ts +3 -0
- package/dist/src/plugins/editing/index.d.ts.map +1 -0
- package/dist/src/plugins/filter-plugin.d.ts +10 -0
- package/dist/src/plugins/filter-plugin.d.ts.map +1 -0
- package/dist/src/plugins/filter-ui/filter-ui-plugin.d.ts +10 -0
- package/dist/src/plugins/filter-ui/filter-ui-plugin.d.ts.map +1 -0
- package/dist/src/plugins/filter-ui/index.d.ts +3 -0
- package/dist/src/plugins/filter-ui/index.d.ts.map +1 -0
- package/dist/src/plugins/header/header-dom-operations.d.ts +26 -0
- package/dist/src/plugins/header/header-dom-operations.d.ts.map +1 -0
- package/dist/src/plugins/header/header-event-handlers.d.ts +35 -0
- package/dist/src/plugins/header/header-event-handlers.d.ts.map +1 -0
- package/dist/src/plugins/header/header-plugin.d.ts +18 -0
- package/dist/src/plugins/header/header-plugin.d.ts.map +1 -0
- package/dist/src/plugins/header/header-reactive-subscription.d.ts +18 -0
- package/dist/src/plugins/header/header-reactive-subscription.d.ts.map +1 -0
- package/dist/src/plugins/header/header-registry-setup.d.ts +9 -0
- package/dist/src/plugins/header/header-registry-setup.d.ts.map +1 -0
- package/dist/src/plugins/header/header-render-params.d.ts +12 -0
- package/dist/src/plugins/header/header-render-params.d.ts.map +1 -0
- package/dist/src/plugins/header/header-rendering.d.ts +23 -0
- package/dist/src/plugins/header/header-rendering.d.ts.map +1 -0
- package/dist/src/plugins/header/header-types.d.ts +38 -0
- package/dist/src/plugins/header/header-types.d.ts.map +1 -0
- package/dist/src/plugins/header/index.d.ts +3 -0
- package/dist/src/plugins/header/index.d.ts.map +1 -0
- package/dist/src/plugins/index.d.ts +40 -0
- package/dist/src/plugins/index.d.ts.map +1 -0
- package/dist/src/plugins/infinite-scroll/index.d.ts +3 -0
- package/dist/src/plugins/infinite-scroll/index.d.ts.map +1 -0
- package/dist/src/plugins/infinite-scroll/infinite-scroll-plugin.d.ts +27 -0
- package/dist/src/plugins/infinite-scroll/infinite-scroll-plugin.d.ts.map +1 -0
- package/dist/src/plugins/legacy-bridge/devtools-connector.d.ts +6 -0
- package/dist/src/plugins/legacy-bridge/devtools-connector.d.ts.map +1 -0
- package/dist/src/plugins/legacy-bridge/index.d.ts +3 -0
- package/dist/src/plugins/legacy-bridge/index.d.ts.map +1 -0
- package/dist/src/plugins/lifecycle/index.d.ts +3 -0
- package/dist/src/plugins/lifecycle/index.d.ts.map +1 -0
- package/dist/src/plugins/lifecycle/lifecycle-plugin.d.ts +16 -0
- package/dist/src/plugins/lifecycle/lifecycle-plugin.d.ts.map +1 -0
- package/dist/src/plugins/pagination/index.d.ts +3 -0
- package/dist/src/plugins/pagination/index.d.ts.map +1 -0
- package/dist/src/plugins/pagination/pagination-plugin.d.ts +13 -0
- package/dist/src/plugins/pagination/pagination-plugin.d.ts.map +1 -0
- package/dist/src/plugins/rendering/index.d.ts +3 -0
- package/dist/src/plugins/rendering/index.d.ts.map +1 -0
- package/dist/src/plugins/rendering/rendering-plugin.d.ts +22 -0
- package/dist/src/plugins/rendering/rendering-plugin.d.ts.map +1 -0
- package/dist/src/plugins/resize/index.d.ts +3 -0
- package/dist/src/plugins/resize/index.d.ts.map +1 -0
- package/dist/src/plugins/resize/resize-plugin.d.ts +6 -0
- package/dist/src/plugins/resize/resize-plugin.d.ts.map +1 -0
- package/dist/src/plugins/scroll/index.d.ts +3 -0
- package/dist/src/plugins/scroll/index.d.ts.map +1 -0
- package/dist/src/plugins/scroll/scroll-plugin.d.ts +5 -0
- package/dist/src/plugins/scroll/scroll-plugin.d.ts.map +1 -0
- package/dist/src/plugins/selection/index.d.ts +3 -0
- package/dist/src/plugins/selection/index.d.ts.map +1 -0
- package/dist/src/plugins/selection/selection-plugin.d.ts +26 -0
- package/dist/src/plugins/selection/selection-plugin.d.ts.map +1 -0
- package/dist/src/plugins/sort-plugin.d.ts +9 -0
- package/dist/src/plugins/sort-plugin.d.ts.map +1 -0
- package/dist/src/plugins/undo-redo/index.d.ts +3 -0
- package/dist/src/plugins/undo-redo/index.d.ts.map +1 -0
- package/dist/src/plugins/undo-redo/undo-redo-plugin.d.ts +14 -0
- package/dist/src/plugins/undo-redo/undo-redo-plugin.d.ts.map +1 -0
- package/dist/src/plugins/viewport/index.d.ts +2 -0
- package/dist/src/plugins/viewport/index.d.ts.map +1 -0
- package/dist/src/plugins/viewport/viewport-plugin.d.ts +3 -0
- package/dist/src/plugins/viewport/viewport-plugin.d.ts.map +1 -0
- package/dist/src/reactive/async-computed.d.ts +18 -0
- package/dist/src/reactive/async-computed.d.ts.map +1 -0
- package/dist/src/reactive/debug.d.ts +20 -0
- package/dist/src/reactive/debug.d.ts.map +1 -0
- package/dist/src/reactive/effect-scheduler.d.ts +7 -0
- package/dist/src/reactive/effect-scheduler.d.ts.map +1 -0
- package/dist/src/reactive/index.d.ts +9 -0
- package/dist/src/reactive/index.d.ts.map +1 -0
- package/dist/src/reactive/pipeline.d.ts +9 -0
- package/dist/src/reactive/pipeline.d.ts.map +1 -0
- package/dist/src/reactive/signal.d.ts +7 -0
- package/dist/src/reactive/signal.d.ts.map +1 -0
- package/dist/src/reactive/store.d.ts +29 -0
- package/dist/src/reactive/store.d.ts.map +1 -0
- package/dist/src/reactive/tracking.d.ts +22 -0
- package/dist/src/reactive/tracking.d.ts.map +1 -0
- package/dist/src/reactive/types.d.ts +116 -0
- package/dist/src/reactive/types.d.ts.map +1 -0
- package/dist/src/reactive/yield.d.ts +14 -0
- package/dist/src/reactive/yield.d.ts.map +1 -0
- package/dist/src/rendering/cache/renderer-cache.d.ts +4 -0
- package/dist/src/rendering/cache/renderer-cache.d.ts.map +1 -1
- package/dist/src/rendering/cell-pool/cell-pool.d.ts.map +1 -1
- package/dist/src/rendering/cell-positioner/cell-positioner.d.ts +46 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.d.ts.map +1 -1
- package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts +15 -0
- package/dist/src/rendering/cell-positioner/cell-positioner.interface.d.ts.map +1 -1
- package/dist/src/rendering/headers/header-config-resolver.d.ts +45 -0
- package/dist/src/rendering/headers/header-config-resolver.d.ts.map +1 -0
- package/dist/src/rendering/headers/header-registry.d.ts +86 -0
- package/dist/src/rendering/headers/header-registry.d.ts.map +1 -0
- package/dist/src/rendering/headers/header-renderer.interface.d.ts +106 -0
- package/dist/src/rendering/headers/header-renderer.interface.d.ts.map +1 -0
- package/dist/src/rendering/headers/index.d.ts +8 -0
- package/dist/src/rendering/headers/index.d.ts.map +1 -0
- package/dist/src/rendering/headers/renderers/checkbox-header-renderer.d.ts +25 -0
- package/dist/src/rendering/headers/renderers/checkbox-header-renderer.d.ts.map +1 -0
- package/dist/src/rendering/headers/renderers/filterable-header-renderer.d.ts +61 -0
- package/dist/src/rendering/headers/renderers/filterable-header-renderer.d.ts.map +1 -0
- package/dist/src/rendering/headers/renderers/icon-header-renderer.d.ts +25 -0
- package/dist/src/rendering/headers/renderers/icon-header-renderer.d.ts.map +1 -0
- package/dist/src/rendering/headers/renderers/index.d.ts +9 -0
- package/dist/src/rendering/headers/renderers/index.d.ts.map +1 -0
- package/dist/src/rendering/headers/renderers/sortable-header-renderer.d.ts +64 -0
- package/dist/src/rendering/headers/renderers/sortable-header-renderer.d.ts.map +1 -0
- package/dist/src/rendering/headers/renderers/text-header-renderer.d.ts +59 -0
- package/dist/src/rendering/headers/renderers/text-header-renderer.d.ts.map +1 -0
- package/dist/src/rendering/height-provider/height-provider.interface.d.ts +41 -0
- package/dist/src/rendering/height-provider/height-provider.interface.d.ts.map +1 -1
- package/dist/src/rendering/height-provider/index.d.ts +2 -1
- package/dist/src/rendering/height-provider/index.d.ts.map +1 -1
- package/dist/src/rendering/height-provider/segment-tree-height-provider.d.ts +87 -0
- package/dist/src/rendering/height-provider/segment-tree-height-provider.d.ts.map +1 -0
- package/dist/src/rendering/height-provider/uniform-height-provider.d.ts.map +1 -1
- package/dist/src/rendering/renderers/{advanced-cell-renderer.d.ts → advanced-cell/advanced-cell-renderer.d.ts} +1 -1
- package/dist/src/rendering/renderers/advanced-cell/advanced-cell-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/advanced-cell/index.d.ts +3 -0
- package/dist/src/rendering/renderers/advanced-cell/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/button/button-renderer.d.ts +148 -0
- package/dist/src/rendering/renderers/button/button-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/button/index.d.ts +3 -0
- package/dist/src/rendering/renderers/button/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/checkbox/checkbox-renderer.d.ts +92 -0
- package/dist/src/rendering/renderers/checkbox/checkbox-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/checkbox/index.d.ts +3 -0
- package/dist/src/rendering/renderers/checkbox/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/chip/chip-renderer.d.ts +213 -0
- package/dist/src/rendering/renderers/chip/chip-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/chip/index.d.ts +3 -0
- package/dist/src/rendering/renderers/chip/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/date-range/date-range-renderer.d.ts +128 -0
- package/dist/src/rendering/renderers/date-range/date-range-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/date-range/index.d.ts +3 -0
- package/dist/src/rendering/renderers/date-range/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/date-picker/date-picker-renderer.d.ts +55 -0
- package/dist/src/rendering/renderers/datetime/date-picker/date-picker-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/date-picker/dom.d.ts +41 -0
- package/dist/src/rendering/renderers/datetime/date-picker/dom.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/date-picker/index.d.ts +6 -0
- package/dist/src/rendering/renderers/datetime/date-picker/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/date-picker/types.d.ts +66 -0
- package/dist/src/rendering/renderers/datetime/date-picker/types.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/date-renderer.d.ts +32 -0
- package/dist/src/rendering/renderers/datetime/date-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/datetime-picker/datetime-picker-renderer.d.ts +37 -0
- package/dist/src/rendering/renderers/datetime/datetime-picker/datetime-picker-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/datetime-picker/index.d.ts +6 -0
- package/dist/src/rendering/renderers/datetime/datetime-picker/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/datetime-picker/types.d.ts +53 -0
- package/dist/src/rendering/renderers/datetime/datetime-picker/types.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/datetime-renderer.d.ts +39 -0
- package/dist/src/rendering/renderers/datetime/datetime-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/index.d.ts +18 -0
- package/dist/src/rendering/renderers/datetime/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/time-picker/index.d.ts +6 -0
- package/dist/src/rendering/renderers/datetime/time-picker/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/time-picker/time-picker-renderer.d.ts +31 -0
- package/dist/src/rendering/renderers/datetime/time-picker/time-picker-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/time-picker/types.d.ts +58 -0
- package/dist/src/rendering/renderers/datetime/time-picker/types.d.ts.map +1 -0
- package/dist/src/rendering/renderers/datetime/time-renderer.d.ts +38 -0
- package/dist/src/rendering/renderers/datetime/time-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-dom.d.ts +31 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-dom.d.ts.map +1 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-events.d.ts +43 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-events.d.ts.map +1 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-navigation.d.ts +30 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-navigation.d.ts.map +1 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-renderer.d.ts +89 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-state.d.ts +57 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-state.d.ts.map +1 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-types.d.ts +44 -0
- package/dist/src/rendering/renderers/dropdown/dropdown-types.d.ts.map +1 -0
- package/dist/src/rendering/renderers/dropdown/index.d.ts +3 -0
- package/dist/src/rendering/renderers/dropdown/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/{image-renderer.d.ts → image/image-renderer.d.ts} +1 -1
- package/dist/src/rendering/renderers/image/image-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/image/index.d.ts +3 -0
- package/dist/src/rendering/renderers/image/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/index.d.ts +9 -7
- package/dist/src/rendering/renderers/index.d.ts.map +1 -1
- package/dist/src/rendering/renderers/link/index.d.ts +3 -0
- package/dist/src/rendering/renderers/link/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/link/link-renderer.d.ts +124 -0
- package/dist/src/rendering/renderers/link/link-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/number/index.d.ts +3 -0
- package/dist/src/rendering/renderers/number/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/{number-renderer.d.ts → number/number-renderer.d.ts} +1 -1
- package/dist/src/rendering/renderers/number/number-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/progress-bar/index.d.ts +3 -0
- package/dist/src/rendering/renderers/progress-bar/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/progress-bar/progress-bar-renderer.d.ts +134 -0
- package/dist/src/rendering/renderers/progress-bar/progress-bar-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/renderer-utils.d.ts +108 -0
- package/dist/src/rendering/renderers/renderer-utils.d.ts.map +1 -0
- package/dist/src/rendering/renderers/select/index.d.ts +3 -0
- package/dist/src/rendering/renderers/select/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/select/select-renderer.d.ts +150 -0
- package/dist/src/rendering/renderers/select/select-renderer.d.ts.map +1 -0
- package/dist/src/rendering/renderers/text/index.d.ts +2 -0
- package/dist/src/rendering/renderers/text/index.d.ts.map +1 -0
- package/dist/src/rendering/renderers/{text-renderer.d.ts → text/text-renderer.d.ts} +1 -1
- package/dist/src/rendering/renderers/text/text-renderer.d.ts.map +1 -0
- package/dist/src/rendering/spatial-hit-tester.d.ts.map +1 -1
- package/dist/src/rendering/virtual-scroller/index.d.ts +1 -1
- package/dist/src/rendering/virtual-scroller/index.d.ts.map +1 -1
- package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts +30 -2
- package/dist/src/rendering/virtual-scroller/virtual-scroller.d.ts.map +1 -1
- package/dist/src/rendering/virtual-scroller/virtual-scroller.interface.d.ts +14 -2
- package/dist/src/rendering/virtual-scroller/virtual-scroller.interface.d.ts.map +1 -1
- package/dist/src/rendering/width-provider/column-model-width-provider.d.ts +62 -0
- package/dist/src/rendering/width-provider/column-model-width-provider.d.ts.map +1 -0
- package/dist/src/rendering/width-provider/index.d.ts +1 -0
- package/dist/src/rendering/width-provider/index.d.ts.map +1 -1
- package/dist/src/rendering/width-provider/uniform-width-provider.d.ts.map +1 -1
- package/dist/src/selection/hit-tester.d.ts.map +1 -1
- package/dist/src/selection/range-utils.d.ts.map +1 -1
- package/dist/src/styles/grid.css +362 -356
- package/dist/src/styles.css +783 -34
- package/dist/src/theming/color-utils.d.ts +10 -0
- package/dist/src/theming/color-utils.d.ts.map +1 -0
- package/dist/src/theming/index.d.ts +10 -0
- package/dist/src/theming/index.d.ts.map +1 -0
- package/dist/src/theming/theme-builder.d.ts +46 -0
- package/dist/src/theming/theme-builder.d.ts.map +1 -0
- package/dist/src/theming/theme-manager.d.ts +11 -0
- package/dist/src/theming/theme-manager.d.ts.map +1 -0
- package/dist/src/theming/theme-registry.d.ts +17 -0
- package/dist/src/theming/theme-registry.d.ts.map +1 -0
- package/dist/src/theming/theme.interface.d.ts +88 -0
- package/dist/src/theming/theme.interface.d.ts.map +1 -0
- package/dist/src/theming/themes/dark.d.ts +3 -0
- package/dist/src/theming/themes/dark.d.ts.map +1 -0
- package/dist/src/theming/themes/dracula.d.ts +3 -0
- package/dist/src/theming/themes/dracula.d.ts.map +1 -0
- package/dist/src/theming/themes/github.d.ts +3 -0
- package/dist/src/theming/themes/github.d.ts.map +1 -0
- package/dist/src/theming/themes/index.d.ts +14 -0
- package/dist/src/theming/themes/index.d.ts.map +1 -0
- package/dist/src/theming/themes/light.d.ts +3 -0
- package/dist/src/theming/themes/light.d.ts.map +1 -0
- package/dist/src/theming/themes/material.d.ts +3 -0
- package/dist/src/theming/themes/material.d.ts.map +1 -0
- package/dist/src/theming/themes/nord.d.ts +3 -0
- package/dist/src/theming/themes/nord.d.ts.map +1 -0
- package/dist/src/theming/themes/one-dark.d.ts +3 -0
- package/dist/src/theming/themes/one-dark.d.ts.map +1 -0
- package/dist/src/theming/themes/solarized.d.ts +3 -0
- package/dist/src/theming/themes/solarized.d.ts.map +1 -0
- package/dist/src/touch/touch-handler.d.ts.map +1 -1
- package/dist/src/types/cell.d.ts +52 -0
- package/dist/src/types/cell.d.ts.map +1 -0
- package/dist/src/types/column.d.ts +74 -0
- package/dist/src/types/column.d.ts.map +1 -0
- package/dist/src/types/data.d.ts +101 -0
- package/dist/src/types/data.d.ts.map +1 -0
- package/dist/src/types/filter.d.ts +85 -0
- package/dist/src/types/filter.d.ts.map +1 -0
- package/dist/src/types/grid.d.ts +373 -0
- package/dist/src/types/grid.d.ts.map +1 -0
- package/dist/src/types/header.d.ts +129 -0
- package/dist/src/types/header.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +12 -131
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/loading.d.ts +70 -0
- package/dist/src/types/loading.d.ts.map +1 -0
- package/dist/src/types/pagination.d.ts +99 -0
- package/dist/src/types/pagination.d.ts.map +1 -0
- package/dist/src/types/sort.d.ts +22 -0
- package/dist/src/types/sort.d.ts.map +1 -0
- package/dist/src/types.d.ts +2 -555
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/dependency-graph.d.ts +58 -0
- package/dist/src/utils/dependency-graph.d.ts.map +1 -0
- package/dist/src/utils/event-emitter.d.ts +63 -0
- package/dist/src/utils/event-emitter.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts +4 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/package.json +48 -48
- package/dist/src/editing/date-editor.d.ts +0 -67
- package/dist/src/editing/date-editor.d.ts.map +0 -1
- package/dist/src/editing/editor-manager.d.ts.map +0 -1
- package/dist/src/editing/number-editor.d.ts.map +0 -1
- package/dist/src/editing/select-editor.d.ts.map +0 -1
- package/dist/src/editing/text-editor.d.ts +0 -69
- package/dist/src/editing/text-editor.d.ts.map +0 -1
- package/dist/src/features/filtering/filter-manager.d.ts +0 -408
- package/dist/src/features/filtering/filter-manager.d.ts.map +0 -1
- package/dist/src/rendering/renderers/advanced-cell-renderer.d.ts.map +0 -1
- package/dist/src/rendering/renderers/image-renderer.d.ts.map +0 -1
- package/dist/src/rendering/renderers/number-renderer.d.ts.map +0 -1
- package/dist/src/rendering/renderers/text-renderer.d.ts.map +0 -1
- package/dist/src/shared/algorithms/filter/bloom-filter.d.ts +0 -120
- package/dist/src/shared/algorithms/filter/bloom-filter.d.ts.map +0 -1
- package/dist/src/shared/algorithms/filter/index.d.ts +0 -7
- package/dist/src/shared/algorithms/filter/index.d.ts.map +0 -1
- package/dist/src/shared/algorithms/graph/bfs.d.ts +0 -71
- package/dist/src/shared/algorithms/graph/bfs.d.ts.map +0 -1
- package/dist/src/shared/algorithms/graph/dfs.d.ts +0 -62
- package/dist/src/shared/algorithms/graph/dfs.d.ts.map +0 -1
- package/dist/src/shared/algorithms/graph/graph.interface.d.ts +0 -63
- package/dist/src/shared/algorithms/graph/graph.interface.d.ts.map +0 -1
- package/dist/src/shared/algorithms/graph/index.d.ts +0 -9
- package/dist/src/shared/algorithms/graph/index.d.ts.map +0 -1
- package/dist/src/shared/algorithms/index.d.ts +0 -11
- package/dist/src/shared/algorithms/index.d.ts.map +0 -1
- package/dist/src/shared/algorithms/pattern/index.d.ts +0 -8
- package/dist/src/shared/algorithms/pattern/index.d.ts.map +0 -1
- package/dist/src/shared/algorithms/pattern/sequence-detector.d.ts +0 -62
- package/dist/src/shared/algorithms/pattern/sequence-detector.d.ts.map +0 -1
- package/dist/src/shared/algorithms/search/binary-search.d.ts +0 -86
- package/dist/src/shared/algorithms/search/binary-search.d.ts.map +0 -1
- package/dist/src/shared/algorithms/search/index.d.ts +0 -6
- package/dist/src/shared/algorithms/search/index.d.ts.map +0 -1
- package/dist/src/shared/algorithms/sorting/comparators.d.ts +0 -126
- package/dist/src/shared/algorithms/sorting/comparators.d.ts.map +0 -1
- package/dist/src/shared/algorithms/sorting/index.d.ts +0 -9
- package/dist/src/shared/algorithms/sorting/index.d.ts.map +0 -1
- package/dist/src/shared/algorithms/sorting/sorting.interface.d.ts +0 -38
- package/dist/src/shared/algorithms/sorting/sorting.interface.d.ts.map +0 -1
- package/dist/src/shared/algorithms/sorting/timsort.d.ts +0 -55
- package/dist/src/shared/algorithms/sorting/timsort.d.ts.map +0 -1
- package/dist/src/shared/data-structures/column-store/column-store.d.ts +0 -52
- package/dist/src/shared/data-structures/column-store/column-store.d.ts.map +0 -1
- package/dist/src/shared/data-structures/column-store/column-store.interface.d.ts +0 -155
- package/dist/src/shared/data-structures/column-store/column-store.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/column-store/index.d.ts +0 -6
- package/dist/src/shared/data-structures/column-store/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/command-stack/command-stack.d.ts +0 -61
- package/dist/src/shared/data-structures/command-stack/command-stack.d.ts.map +0 -1
- package/dist/src/shared/data-structures/command-stack/command-stack.interface.d.ts +0 -80
- package/dist/src/shared/data-structures/command-stack/command-stack.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/command-stack/index.d.ts +0 -3
- package/dist/src/shared/data-structures/command-stack/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/dependency-graph/dependency-graph.d.ts +0 -147
- package/dist/src/shared/data-structures/dependency-graph/dependency-graph.d.ts.map +0 -1
- package/dist/src/shared/data-structures/dependency-graph/dependency-graph.interface.d.ts +0 -161
- package/dist/src/shared/data-structures/dependency-graph/dependency-graph.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/dependency-graph/index.d.ts +0 -8
- package/dist/src/shared/data-structures/dependency-graph/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/disjoint-set/disjoint-set.d.ts +0 -84
- package/dist/src/shared/data-structures/disjoint-set/disjoint-set.d.ts.map +0 -1
- package/dist/src/shared/data-structures/disjoint-set/disjoint-set.interface.d.ts +0 -185
- package/dist/src/shared/data-structures/disjoint-set/disjoint-set.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/disjoint-set/index.d.ts +0 -7
- package/dist/src/shared/data-structures/disjoint-set/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/index-map/index-map.d.ts +0 -150
- package/dist/src/shared/data-structures/index-map/index-map.d.ts.map +0 -1
- package/dist/src/shared/data-structures/index-map/index-map.interface.d.ts +0 -186
- package/dist/src/shared/data-structures/index-map/index-map.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/index-map/index.d.ts +0 -6
- package/dist/src/shared/data-structures/index-map/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/index.d.ts +0 -36
- package/dist/src/shared/data-structures/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/interval-tree/index.d.ts +0 -7
- package/dist/src/shared/data-structures/interval-tree/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/interval-tree/interval-tree.d.ts +0 -141
- package/dist/src/shared/data-structures/interval-tree/interval-tree.d.ts.map +0 -1
- package/dist/src/shared/data-structures/interval-tree/interval-tree.interface.d.ts +0 -212
- package/dist/src/shared/data-structures/interval-tree/interval-tree.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/lru-cache/index.d.ts +0 -3
- package/dist/src/shared/data-structures/lru-cache/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/lru-cache/lru-cache.d.ts +0 -134
- package/dist/src/shared/data-structures/lru-cache/lru-cache.d.ts.map +0 -1
- package/dist/src/shared/data-structures/lru-cache/lru-cache.interface.d.ts +0 -173
- package/dist/src/shared/data-structures/lru-cache/lru-cache.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/prefix-sum-array/index.d.ts +0 -6
- package/dist/src/shared/data-structures/prefix-sum-array/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/prefix-sum-array/prefix-sum-array.d.ts +0 -63
- package/dist/src/shared/data-structures/prefix-sum-array/prefix-sum-array.d.ts.map +0 -1
- package/dist/src/shared/data-structures/prefix-sum-array/prefix-sum-array.interface.d.ts +0 -80
- package/dist/src/shared/data-structures/prefix-sum-array/prefix-sum-array.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/rtree/index.d.ts +0 -8
- package/dist/src/shared/data-structures/rtree/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/rtree/rtree.d.ts +0 -81
- package/dist/src/shared/data-structures/rtree/rtree.d.ts.map +0 -1
- package/dist/src/shared/data-structures/rtree/rtree.interface.d.ts +0 -143
- package/dist/src/shared/data-structures/rtree/rtree.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/segment-tree/index.d.ts +0 -4
- package/dist/src/shared/data-structures/segment-tree/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/segment-tree/segment-tree.d.ts +0 -134
- package/dist/src/shared/data-structures/segment-tree/segment-tree.d.ts.map +0 -1
- package/dist/src/shared/data-structures/segment-tree/segment-tree.interface.d.ts +0 -202
- package/dist/src/shared/data-structures/segment-tree/segment-tree.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/skip-list/index.d.ts +0 -4
- package/dist/src/shared/data-structures/skip-list/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/skip-list/skip-list.d.ts +0 -137
- package/dist/src/shared/data-structures/skip-list/skip-list.d.ts.map +0 -1
- package/dist/src/shared/data-structures/skip-list/skip-list.interface.d.ts +0 -223
- package/dist/src/shared/data-structures/skip-list/skip-list.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/sparse-matrix/index.d.ts +0 -6
- package/dist/src/shared/data-structures/sparse-matrix/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/sparse-matrix/sparse-matrix.d.ts +0 -44
- package/dist/src/shared/data-structures/sparse-matrix/sparse-matrix.d.ts.map +0 -1
- package/dist/src/shared/data-structures/sparse-matrix/sparse-matrix.interface.d.ts +0 -105
- package/dist/src/shared/data-structures/sparse-matrix/sparse-matrix.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/suffix-array/index.d.ts +0 -3
- package/dist/src/shared/data-structures/suffix-array/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/suffix-array/suffix-array.d.ts +0 -102
- package/dist/src/shared/data-structures/suffix-array/suffix-array.d.ts.map +0 -1
- package/dist/src/shared/data-structures/suffix-array/suffix-array.interface.d.ts +0 -117
- package/dist/src/shared/data-structures/suffix-array/suffix-array.interface.d.ts.map +0 -1
- package/dist/src/shared/data-structures/trie/index.d.ts +0 -8
- package/dist/src/shared/data-structures/trie/index.d.ts.map +0 -1
- package/dist/src/shared/data-structures/trie/trie.d.ts +0 -205
- package/dist/src/shared/data-structures/trie/trie.d.ts.map +0 -1
- package/dist/src/shared/data-structures/trie/trie.interface.d.ts +0 -117
- package/dist/src/shared/data-structures/trie/trie.interface.d.ts.map +0 -1
- package/dist/src/shared/index.d.ts +0 -47
- package/dist/src/shared/index.d.ts.map +0 -1
- package/dist/src/shared/patterns/coordinator.d.ts +0 -90
- package/dist/src/shared/patterns/coordinator.d.ts.map +0 -1
- package/dist/src/shared/patterns/event-emitter.d.ts +0 -106
- package/dist/src/shared/patterns/event-emitter.d.ts.map +0 -1
- package/dist/src/shared/patterns/factory.d.ts +0 -120
- package/dist/src/shared/patterns/factory.d.ts.map +0 -1
- package/dist/src/shared/patterns/index.d.ts +0 -21
- package/dist/src/shared/patterns/index.d.ts.map +0 -1
- package/dist/src/shared/patterns/mediator.d.ts +0 -116
- package/dist/src/shared/patterns/mediator.d.ts.map +0 -1
- package/dist/src/shared/patterns/object-pool.d.ts +0 -178
- package/dist/src/shared/patterns/object-pool.d.ts.map +0 -1
- package/dist/src/shared/patterns/observer.d.ts +0 -89
- package/dist/src/shared/patterns/observer.d.ts.map +0 -1
- package/dist/src/shared/patterns/operation-mode.d.ts +0 -75
- package/dist/src/shared/patterns/operation-mode.d.ts.map +0 -1
- package/dist/src/shared/patterns/state-machine.d.ts +0 -122
- package/dist/src/shared/patterns/state-machine.d.ts.map +0 -1
- package/dist/src/shared/types/common.d.ts +0 -56
- package/dist/src/shared/types/common.d.ts.map +0 -1
- package/dist/src/shared/types/index.d.ts +0 -5
- package/dist/src/shared/types/index.d.ts.map +0 -1
- package/dist/src/shared/utils/index.d.ts +0 -7
- package/dist/src/shared/utils/index.d.ts.map +0 -1
- package/dist/src/shared/utils/timing.d.ts +0 -104
- package/dist/src/shared/utils/timing.d.ts.map +0 -1
- package/dist/src/shared/utils/timing.interface.d.ts +0 -96
- package/dist/src/shared/utils/timing.interface.d.ts.map +0 -1
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type-safe event emitter pattern
|
|
3
|
-
*
|
|
4
|
-
* Provides a strongly-typed pub/sub system for events.
|
|
5
|
-
* Supports both synchronous and asynchronous event handlers.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* interface MyEvents {
|
|
10
|
-
* 'user:login': { userId: string; timestamp: number };
|
|
11
|
-
* 'user:logout': { userId: string };
|
|
12
|
-
* 'data:update': { id: number; data: any };
|
|
13
|
-
* }
|
|
14
|
-
*
|
|
15
|
-
* const emitter = new EventEmitter<MyEvents>();
|
|
16
|
-
*
|
|
17
|
-
* // Subscribe
|
|
18
|
-
* emitter.on('user:login', (event) => {
|
|
19
|
-
* console.log(`User ${event.userId} logged in at ${event.timestamp}`);
|
|
20
|
-
* });
|
|
21
|
-
*
|
|
22
|
-
* // Emit
|
|
23
|
-
* emitter.emit('user:login', {
|
|
24
|
-
* userId: '123',
|
|
25
|
-
* timestamp: Date.now(),
|
|
26
|
-
* });
|
|
27
|
-
*
|
|
28
|
-
* // Unsubscribe
|
|
29
|
-
* emitter.off('user:login', handler);
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export interface IEventEmitter<TEvents extends Record<string, any>> {
|
|
33
|
-
on<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): () => void;
|
|
34
|
-
once<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): () => void;
|
|
35
|
-
off<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): void;
|
|
36
|
-
emit<K extends keyof TEvents>(event: K, data: TEvents[K]): void;
|
|
37
|
-
removeAllListeners<K extends keyof TEvents>(event?: K): void;
|
|
38
|
-
listenerCount<K extends keyof TEvents>(event: K): number;
|
|
39
|
-
eventNames(): Array<keyof TEvents>;
|
|
40
|
-
setMaxListeners(n: number): void;
|
|
41
|
-
getMaxListeners(): number;
|
|
42
|
-
}
|
|
43
|
-
export declare class EventEmitter<TEvents extends Record<string, any>> implements IEventEmitter<TEvents> {
|
|
44
|
-
private listeners;
|
|
45
|
-
private onceListeners;
|
|
46
|
-
private maxListeners;
|
|
47
|
-
/**
|
|
48
|
-
* Subscribe to an event
|
|
49
|
-
* @param event - Event name
|
|
50
|
-
* @param handler - Event handler function
|
|
51
|
-
* @returns Unsubscribe function
|
|
52
|
-
*/
|
|
53
|
-
on<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): () => void;
|
|
54
|
-
/**
|
|
55
|
-
* Subscribe to an event (fires only once)
|
|
56
|
-
* @param event - Event name
|
|
57
|
-
* @param handler - Event handler function
|
|
58
|
-
* @returns Unsubscribe function
|
|
59
|
-
*/
|
|
60
|
-
once<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): () => void;
|
|
61
|
-
/**
|
|
62
|
-
* Unsubscribe from an event
|
|
63
|
-
* @param event - Event name
|
|
64
|
-
* @param handler - Event handler function to remove
|
|
65
|
-
*/
|
|
66
|
-
off<K extends keyof TEvents>(event: K, handler: (data: TEvents[K]) => void): void;
|
|
67
|
-
/**
|
|
68
|
-
* Remove a once listener
|
|
69
|
-
* @param event - Event name
|
|
70
|
-
* @param handler - Event handler function to remove
|
|
71
|
-
*/
|
|
72
|
-
private offOnce;
|
|
73
|
-
/**
|
|
74
|
-
* Emit an event
|
|
75
|
-
* @param event - Event name
|
|
76
|
-
* @param data - Event data
|
|
77
|
-
*/
|
|
78
|
-
emit<K extends keyof TEvents>(event: K, data: TEvents[K]): void;
|
|
79
|
-
/**
|
|
80
|
-
* Remove all listeners for an event (or all events if no event specified)
|
|
81
|
-
* @param event - Optional event name
|
|
82
|
-
*/
|
|
83
|
-
removeAllListeners<K extends keyof TEvents>(event?: K): void;
|
|
84
|
-
/**
|
|
85
|
-
* Get the number of listeners for an event
|
|
86
|
-
* @param event - Event name
|
|
87
|
-
* @returns Number of listeners
|
|
88
|
-
*/
|
|
89
|
-
listenerCount<K extends keyof TEvents>(event: K): number;
|
|
90
|
-
/**
|
|
91
|
-
* Get all event names that have listeners
|
|
92
|
-
* @returns Array of event names
|
|
93
|
-
*/
|
|
94
|
-
eventNames(): Array<keyof TEvents>;
|
|
95
|
-
/**
|
|
96
|
-
* Set the maximum number of listeners per event
|
|
97
|
-
* @param n - Maximum number of listeners
|
|
98
|
-
*/
|
|
99
|
-
setMaxListeners(n: number): void;
|
|
100
|
-
/**
|
|
101
|
-
* Get the maximum number of listeners per event
|
|
102
|
-
* @returns Maximum number of listeners
|
|
103
|
-
*/
|
|
104
|
-
getMaxListeners(): number;
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=event-emitter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.d.ts","sourceRoot":"","sources":["../../../../src/shared/patterns/event-emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAChE,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACvF,IAAI,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACzF,GAAG,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAClF,IAAI,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAChE,kBAAkB,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC7D,aAAa,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;IACzD,UAAU,IAAI,KAAK,CAAC,MAAM,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED,qBAAa,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAE,YAAW,aAAa,CAAC,OAAO,CAAC;IAC9F,OAAO,CAAC,SAAS,CAAgD;IACjE,OAAO,CAAC,aAAa,CAAgD;IACrE,OAAO,CAAC,YAAY,CAAO;IAE3B;;;;;OAKG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,EACxB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAClC,MAAM,IAAI;IAmBb;;;;;OAKG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,OAAO,EAC1B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAClC,MAAM,IAAI;IAWb;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,OAAO,EACzB,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,GAClC,IAAI;IAUP;;;;OAIG;IACH,OAAO,CAAC,OAAO;IAaf;;;;OAIG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IA4B/D;;;OAGG;IACH,kBAAkB,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI;IAU5D;;;;OAIG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM;IAMxD;;;OAGG;IACH,UAAU,IAAI,KAAK,CAAC,MAAM,OAAO,CAAC;IAWlC;;;OAGG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAOhC;;;OAGG;IACH,eAAe,IAAI,MAAM;CAG1B"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Factory Pattern
|
|
3
|
-
*
|
|
4
|
-
* Provides an interface for creating objects, allowing subclasses
|
|
5
|
-
* to decide which class to instantiate.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* interface Renderer {
|
|
10
|
-
* render(value: any): string;
|
|
11
|
-
* }
|
|
12
|
-
*
|
|
13
|
-
* const rendererFactory = new Factory<Renderer>();
|
|
14
|
-
*
|
|
15
|
-
* // Register factories
|
|
16
|
-
* rendererFactory.register('text', () => ({
|
|
17
|
-
* render: (v) => String(v)
|
|
18
|
-
* }));
|
|
19
|
-
*
|
|
20
|
-
* rendererFactory.register('number', () => ({
|
|
21
|
-
* render: (v) => v.toLocaleString()
|
|
22
|
-
* }));
|
|
23
|
-
*
|
|
24
|
-
* // Create instances
|
|
25
|
-
* const textRenderer = rendererFactory.create('text');
|
|
26
|
-
* const numberRenderer = rendererFactory.create('number');
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
export interface IFactory<T, K = string> {
|
|
30
|
-
/** Register a creator function for a key */
|
|
31
|
-
register(key: K, creator: () => T): void;
|
|
32
|
-
/** Create an instance using the registered creator */
|
|
33
|
-
create(key: K): T | undefined;
|
|
34
|
-
/** Check if a creator is registered */
|
|
35
|
-
has(key: K): boolean;
|
|
36
|
-
/** Unregister a creator */
|
|
37
|
-
unregister(key: K): boolean;
|
|
38
|
-
/** Get all registered keys */
|
|
39
|
-
keys(): K[];
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Factory implementation
|
|
43
|
-
*
|
|
44
|
-
* @typeParam T - The type of objects to create
|
|
45
|
-
* @typeParam K - The type of keys (defaults to string)
|
|
46
|
-
*/
|
|
47
|
-
export declare class Factory<T, K = string> implements IFactory<T, K> {
|
|
48
|
-
private creators;
|
|
49
|
-
/**
|
|
50
|
-
* Register a creator function
|
|
51
|
-
*
|
|
52
|
-
* @param key - Unique identifier for this creator
|
|
53
|
-
* @param creator - Function that creates instances
|
|
54
|
-
*/
|
|
55
|
-
register(key: K, creator: () => T): void;
|
|
56
|
-
/**
|
|
57
|
-
* Create an instance
|
|
58
|
-
*
|
|
59
|
-
* @param key - The key of the creator to use
|
|
60
|
-
* @returns A new instance, or undefined if key not found
|
|
61
|
-
*/
|
|
62
|
-
create(key: K): T | undefined;
|
|
63
|
-
/**
|
|
64
|
-
* Check if a creator is registered
|
|
65
|
-
*/
|
|
66
|
-
has(key: K): boolean;
|
|
67
|
-
/**
|
|
68
|
-
* Unregister a creator
|
|
69
|
-
*
|
|
70
|
-
* @returns true if the creator was removed, false if it didn't exist
|
|
71
|
-
*/
|
|
72
|
-
unregister(key: K): boolean;
|
|
73
|
-
/**
|
|
74
|
-
* Get all registered keys
|
|
75
|
-
*/
|
|
76
|
-
keys(): K[];
|
|
77
|
-
/**
|
|
78
|
-
* Clear all registered creators
|
|
79
|
-
*/
|
|
80
|
-
clear(): void;
|
|
81
|
-
/**
|
|
82
|
-
* Get the number of registered creators
|
|
83
|
-
*/
|
|
84
|
-
get size(): number;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Singleton Factory
|
|
88
|
-
*
|
|
89
|
-
* Creates a single instance per key and reuses it on subsequent calls.
|
|
90
|
-
*
|
|
91
|
-
* @example
|
|
92
|
-
* ```typescript
|
|
93
|
-
* const singletonFactory = new SingletonFactory<Renderer>();
|
|
94
|
-
*
|
|
95
|
-
* singletonFactory.register('text', () => new TextRenderer());
|
|
96
|
-
*
|
|
97
|
-
* const r1 = singletonFactory.create('text');
|
|
98
|
-
* const r2 = singletonFactory.create('text');
|
|
99
|
-
* console.log(r1 === r2); // true - same instance
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
export declare class SingletonFactory<T, K = string> implements IFactory<T, K> {
|
|
103
|
-
private creators;
|
|
104
|
-
private instances;
|
|
105
|
-
register(key: K, creator: () => T): void;
|
|
106
|
-
create(key: K): T | undefined;
|
|
107
|
-
has(key: K): boolean;
|
|
108
|
-
unregister(key: K): boolean;
|
|
109
|
-
keys(): K[];
|
|
110
|
-
/**
|
|
111
|
-
* Clear all instances but keep creators
|
|
112
|
-
*/
|
|
113
|
-
clearInstances(): void;
|
|
114
|
-
/**
|
|
115
|
-
* Clear everything
|
|
116
|
-
*/
|
|
117
|
-
clear(): void;
|
|
118
|
-
get size(): number;
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/shared/patterns/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM;IACrC,4CAA4C;IAC5C,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAEzC,sDAAsD;IACtD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAE9B,uCAAuC;IACvC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;IAErB,2BAA2B;IAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC;IAE5B,8BAA8B;IAC9B,IAAI,IAAI,CAAC,EAAE,CAAC;CACb;AAED;;;;;GAKG;AACH,qBAAa,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAE,YAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3D,OAAO,CAAC,QAAQ,CAAyB;IAEzC;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI;IASxC;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAkB7B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAI3B;;OAEG;IACH,IAAI,IAAI,CAAC,EAAE;IAIX;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAE,YAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACpE,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,SAAS,CAAmB;IAEpC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,IAAI;IAWxC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IA2B7B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAK3B,IAAI,IAAI,CAAC,EAAE;IAIX;;OAEG;IACH,cAAc,IAAI,IAAI;IAItB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Common design patterns
|
|
3
|
-
* @packageDocumentation
|
|
4
|
-
*/
|
|
5
|
-
export { EventEmitter } from './event-emitter';
|
|
6
|
-
export type { IEventEmitter } from './event-emitter';
|
|
7
|
-
export { Subject } from './observer';
|
|
8
|
-
export type { IObserver, ISubject } from './observer';
|
|
9
|
-
export { StateMachine } from './state-machine';
|
|
10
|
-
export type { IStateMachine, StateMachineOptions, TransitionHandler, } from './state-machine';
|
|
11
|
-
export { BaseCoordinator } from './coordinator';
|
|
12
|
-
export type { ICoordinator } from './coordinator';
|
|
13
|
-
export { Factory, SingletonFactory } from './factory';
|
|
14
|
-
export type { IFactory } from './factory';
|
|
15
|
-
export { Mediator, MediatedComponent, EventMediator } from './mediator';
|
|
16
|
-
export type { IMediator } from './mediator';
|
|
17
|
-
export { ObjectPool, KeyedObjectPool } from './object-pool';
|
|
18
|
-
export type { IObjectPool, ObjectPoolOptions, ObjectPoolStats, } from './object-pool';
|
|
19
|
-
export { resolveOperationMode, OperationModeManager, } from './operation-mode';
|
|
20
|
-
export type { OperationMode, ResolvedOperationMode, OperationModeConfig, } from './operation-mode';
|
|
21
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/shared/patterns/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACtD,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5D,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mediator Pattern
|
|
3
|
-
*
|
|
4
|
-
* Defines an object that encapsulates how a set of objects interact.
|
|
5
|
-
* Promotes loose coupling by keeping objects from referring to each other explicitly.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* class GridMediator extends Mediator {
|
|
10
|
-
* constructor(
|
|
11
|
-
* private viewport: ViewportManager,
|
|
12
|
-
* private renderer: RenderCoordinator,
|
|
13
|
-
* private sortManager: SortManager
|
|
14
|
-
* ) {
|
|
15
|
-
* super();
|
|
16
|
-
* }
|
|
17
|
-
*
|
|
18
|
-
* notify(sender: any, event: string, data?: any): void {
|
|
19
|
-
* if (sender === this.viewport && event === 'scroll') {
|
|
20
|
-
* // Viewport scrolled -> update renderer
|
|
21
|
-
* this.renderer.update(data);
|
|
22
|
-
* }
|
|
23
|
-
*
|
|
24
|
-
* if (sender === this.sortManager && event === 'sorted') {
|
|
25
|
-
* // Data sorted -> refresh renderer
|
|
26
|
-
* this.renderer.refresh();
|
|
27
|
-
* }
|
|
28
|
-
* }
|
|
29
|
-
* }
|
|
30
|
-
*
|
|
31
|
-
* // Components notify mediator instead of each other
|
|
32
|
-
* viewport.setMediator(mediator);
|
|
33
|
-
* sortManager.setMediator(mediator);
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export interface IMediator {
|
|
37
|
-
/**
|
|
38
|
-
* Handle notifications from components
|
|
39
|
-
*
|
|
40
|
-
* @param sender - The component sending the notification
|
|
41
|
-
* @param event - The event name
|
|
42
|
-
* @param data - Optional event data
|
|
43
|
-
*/
|
|
44
|
-
notify(sender: any, event: string, data?: any): void;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Base mediator class
|
|
48
|
-
*/
|
|
49
|
-
export declare abstract class Mediator implements IMediator {
|
|
50
|
-
/**
|
|
51
|
-
* Handle component notifications
|
|
52
|
-
*
|
|
53
|
-
* Subclasses should override this to implement mediation logic.
|
|
54
|
-
*/
|
|
55
|
-
abstract notify(sender: any, event: string, data?: any): void;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Component that can interact with a mediator
|
|
59
|
-
*/
|
|
60
|
-
export declare abstract class MediatedComponent {
|
|
61
|
-
protected mediator?: IMediator;
|
|
62
|
-
/**
|
|
63
|
-
* Set the mediator for this component
|
|
64
|
-
*/
|
|
65
|
-
setMediator(mediator: IMediator | undefined): void;
|
|
66
|
-
/**
|
|
67
|
-
* Notify the mediator of an event
|
|
68
|
-
*/
|
|
69
|
-
protected notifyMediator(event: string, data?: any): void;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Event-based mediator
|
|
73
|
-
*
|
|
74
|
-
* Routes events between components without them knowing about each other.
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* ```typescript
|
|
78
|
-
* const mediator = new EventMediator();
|
|
79
|
-
*
|
|
80
|
-
* // Register handlers
|
|
81
|
-
* mediator.on('scroll', (data) => {
|
|
82
|
-
* console.log('Scroll event:', data);
|
|
83
|
-
* });
|
|
84
|
-
*
|
|
85
|
-
* // Send events
|
|
86
|
-
* mediator.notify(viewport, 'scroll', { top: 100 });
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
export declare class EventMediator extends Mediator {
|
|
90
|
-
private handlers;
|
|
91
|
-
/**
|
|
92
|
-
* Register an event handler
|
|
93
|
-
*
|
|
94
|
-
* @param event - Event name to listen for
|
|
95
|
-
* @param handler - Handler function
|
|
96
|
-
* @returns Unsubscribe function
|
|
97
|
-
*/
|
|
98
|
-
on(event: string, handler: (data?: any) => void): () => void;
|
|
99
|
-
/**
|
|
100
|
-
* Unregister an event handler
|
|
101
|
-
*/
|
|
102
|
-
off(event: string, handler: (data?: any) => void): void;
|
|
103
|
-
/**
|
|
104
|
-
* Notify all handlers for an event
|
|
105
|
-
*/
|
|
106
|
-
notify(_sender: any, event: string, data?: any): void;
|
|
107
|
-
/**
|
|
108
|
-
* Clear all handlers
|
|
109
|
-
*/
|
|
110
|
-
clear(): void;
|
|
111
|
-
/**
|
|
112
|
-
* Clear handlers for a specific event
|
|
113
|
-
*/
|
|
114
|
-
clearEvent(event: string): void;
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=mediator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mediator.d.ts","sourceRoot":"","sources":["../../../../src/shared/patterns/mediator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,WAAW,SAAS;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CACtD;AAED;;GAEG;AACH,8BAAsB,QAAS,YAAW,SAAS;IACjD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;CAC9D;AAED;;GAEG;AACH,8BAAsB,iBAAiB;IACrC,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAE/B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,GAAG,IAAI;IAIlD;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;CAG1D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,QAAQ,CAAgD;IAEhE;;;;;;OAMG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAU5D;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAIvD;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;IAarD;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAGhC"}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generic Object Pooling Pattern
|
|
3
|
-
*
|
|
4
|
-
* Maintains a pool of reusable objects to avoid expensive creation/destruction.
|
|
5
|
-
* Useful for any frequently created/destroyed objects (DOM elements, data structures, etc.)
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* // Example 1: DOM Element Pool
|
|
10
|
-
* const divPool = new ObjectPool(
|
|
11
|
-
* () => document.createElement('div'),
|
|
12
|
-
* (div) => {
|
|
13
|
-
* div.innerHTML = '';
|
|
14
|
-
* div.className = '';
|
|
15
|
-
* div.removeAttribute('style');
|
|
16
|
-
* },
|
|
17
|
-
* { initialSize: 50, maxSize: 200 }
|
|
18
|
-
* );
|
|
19
|
-
*
|
|
20
|
-
* const div = divPool.acquire();
|
|
21
|
-
* div.textContent = 'Hello';
|
|
22
|
-
* // ... use div ...
|
|
23
|
-
* divPool.release(div);
|
|
24
|
-
*
|
|
25
|
-
* // Example 2: Data Structure Pool
|
|
26
|
-
* const arrayPool = new ObjectPool(
|
|
27
|
-
* () => [],
|
|
28
|
-
* (arr) => arr.length = 0, // Reset
|
|
29
|
-
* { initialSize: 10, maxSize: 100 }
|
|
30
|
-
* );
|
|
31
|
-
*
|
|
32
|
-
* const arr = arrayPool.acquire();
|
|
33
|
-
* arr.push(1, 2, 3);
|
|
34
|
-
* // ... use arr ...
|
|
35
|
-
* arrayPool.release(arr);
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
export interface ObjectPoolOptions {
|
|
39
|
-
/** Initial number of objects to create */
|
|
40
|
-
initialSize?: number;
|
|
41
|
-
/** Maximum number of objects to keep in pool */
|
|
42
|
-
maxSize?: number;
|
|
43
|
-
}
|
|
44
|
-
export interface ObjectPoolStats {
|
|
45
|
-
/** Number of objects currently in use */
|
|
46
|
-
active: number;
|
|
47
|
-
/** Number of objects available in pool */
|
|
48
|
-
available: number;
|
|
49
|
-
/** Total objects created (active + available) */
|
|
50
|
-
total: number;
|
|
51
|
-
/** Maximum pool size */
|
|
52
|
-
maxSize: number;
|
|
53
|
-
}
|
|
54
|
-
export interface IObjectPool<T> {
|
|
55
|
-
/** Acquire an object from the pool */
|
|
56
|
-
acquire(): T;
|
|
57
|
-
/** Release an object back to the pool */
|
|
58
|
-
release(obj: T): void;
|
|
59
|
-
/** Release all objects back to the pool */
|
|
60
|
-
releaseAll(): void;
|
|
61
|
-
/** Clear the pool and destroy all objects */
|
|
62
|
-
clear(): void;
|
|
63
|
-
/** Get pool statistics */
|
|
64
|
-
readonly stats: ObjectPoolStats;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Generic object pool implementation
|
|
68
|
-
*
|
|
69
|
-
* @typeParam T - The type of objects to pool
|
|
70
|
-
*/
|
|
71
|
-
export declare class ObjectPool<T> implements IObjectPool<T> {
|
|
72
|
-
private available;
|
|
73
|
-
private active;
|
|
74
|
-
private readonly maxSize;
|
|
75
|
-
private readonly factory;
|
|
76
|
-
private readonly reset;
|
|
77
|
-
private readonly destroy?;
|
|
78
|
-
/**
|
|
79
|
-
* Create a new object pool
|
|
80
|
-
*
|
|
81
|
-
* @param factory - Function to create new objects
|
|
82
|
-
* @param reset - Function to reset objects before releasing back to pool
|
|
83
|
-
* @param options - Pool configuration options
|
|
84
|
-
* @param destroy - Optional function to clean up objects when pool is cleared
|
|
85
|
-
*/
|
|
86
|
-
constructor(factory: () => T, reset: (obj: T) => void, options?: ObjectPoolOptions, destroy?: (obj: T) => void);
|
|
87
|
-
/**
|
|
88
|
-
* Acquire an object from the pool
|
|
89
|
-
*
|
|
90
|
-
* If the pool is empty, a new object will be created.
|
|
91
|
-
*
|
|
92
|
-
* @returns An object from the pool
|
|
93
|
-
*/
|
|
94
|
-
acquire(): T;
|
|
95
|
-
/**
|
|
96
|
-
* Release an object back to the pool
|
|
97
|
-
*
|
|
98
|
-
* The object will be reset before being returned to the pool.
|
|
99
|
-
* If the pool is at max capacity, the object will be destroyed.
|
|
100
|
-
*
|
|
101
|
-
* @param obj - The object to release
|
|
102
|
-
*/
|
|
103
|
-
release(obj: T): void;
|
|
104
|
-
/**
|
|
105
|
-
* Release all active objects back to the pool
|
|
106
|
-
*/
|
|
107
|
-
releaseAll(): void;
|
|
108
|
-
/**
|
|
109
|
-
* Clear the pool and destroy all objects
|
|
110
|
-
*/
|
|
111
|
-
clear(): void;
|
|
112
|
-
/**
|
|
113
|
-
* Get pool statistics
|
|
114
|
-
*/
|
|
115
|
-
get stats(): ObjectPoolStats;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Keyed object pool - maintains mapping of keys to pooled objects
|
|
119
|
-
*
|
|
120
|
-
* Useful when you need to track objects by a unique identifier.
|
|
121
|
-
*
|
|
122
|
-
* @example
|
|
123
|
-
* ```typescript
|
|
124
|
-
* const cellPool = new KeyedObjectPool(
|
|
125
|
-
* () => document.createElement('div'),
|
|
126
|
-
* (div) => { div.innerHTML = ''; },
|
|
127
|
-
* { maxSize: 200 }
|
|
128
|
-
* );
|
|
129
|
-
*
|
|
130
|
-
* const cell = cellPool.acquire('cell-0-0');
|
|
131
|
-
* // ... use cell ...
|
|
132
|
-
* cellPool.release('cell-0-0');
|
|
133
|
-
* ```
|
|
134
|
-
*/
|
|
135
|
-
export declare class KeyedObjectPool<T, K = string> {
|
|
136
|
-
private pool;
|
|
137
|
-
private keyMap;
|
|
138
|
-
constructor(factory: () => T, reset: (obj: T) => void, options?: ObjectPoolOptions, destroy?: (obj: T) => void);
|
|
139
|
-
/**
|
|
140
|
-
* Acquire an object by key
|
|
141
|
-
*
|
|
142
|
-
* If an object with this key already exists, it will be returned.
|
|
143
|
-
* Otherwise, a new object will be acquired from the pool.
|
|
144
|
-
*
|
|
145
|
-
* @param key - Unique identifier for the object
|
|
146
|
-
* @returns The object associated with this key
|
|
147
|
-
*/
|
|
148
|
-
acquire(key: K): T;
|
|
149
|
-
/**
|
|
150
|
-
* Release an object by key
|
|
151
|
-
*
|
|
152
|
-
* @param key - The key of the object to release
|
|
153
|
-
*/
|
|
154
|
-
release(key: K): void;
|
|
155
|
-
/**
|
|
156
|
-
* Release all objects except those with the specified keys
|
|
157
|
-
*
|
|
158
|
-
* @param activeKeys - Set of keys to keep active
|
|
159
|
-
*/
|
|
160
|
-
releaseExcept(activeKeys: Set<K>): void;
|
|
161
|
-
/**
|
|
162
|
-
* Check if a key exists in the active set
|
|
163
|
-
*/
|
|
164
|
-
has(key: K): boolean;
|
|
165
|
-
/**
|
|
166
|
-
* Get an object by key without acquiring
|
|
167
|
-
*/
|
|
168
|
-
get(key: K): T | undefined;
|
|
169
|
-
/**
|
|
170
|
-
* Get pool statistics
|
|
171
|
-
*/
|
|
172
|
-
get stats(): ObjectPoolStats;
|
|
173
|
-
/**
|
|
174
|
-
* Clear the pool
|
|
175
|
-
*/
|
|
176
|
-
clear(): void;
|
|
177
|
-
}
|
|
178
|
-
//# sourceMappingURL=object-pool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"object-pool.d.ts","sourceRoot":"","sources":["../../../../src/shared/patterns/object-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,sCAAsC;IACtC,OAAO,IAAI,CAAC,CAAC;IACb,yCAAyC;IACzC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,2CAA2C;IAC3C,UAAU,IAAI,IAAI,CAAC;IACnB,6CAA6C;IAC7C,KAAK,IAAI,IAAI,CAAC;IACd,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACjC;AAED;;;;GAIG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAmB;IAE5C;;;;;;;OAOG;gBAED,OAAO,EAAE,MAAM,CAAC,EAChB,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EACvB,OAAO,GAAE,iBAAsB,EAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI;IAc5B;;;;;;OAMG;IACH,OAAO,IAAI,CAAC;IAWZ;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;IAoBrB;;OAEG;IACH,UAAU,IAAI,IAAI;IAOlB;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,IAAI,KAAK,IAAI,eAAe,CAO3B;CACF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM;IACxC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,MAAM,CAAmB;gBAG/B,OAAO,EAAE,MAAM,CAAC,EAChB,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EACvB,OAAO,GAAE,iBAAsB,EAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI;IAK5B;;;;;;;;OAQG;IACH,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAYlB;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;IAQrB;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI;IAcvC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAI1B;;OAEG;IACH,IAAI,KAAK,IAAI,eAAe,CAE3B;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Observer Pattern
|
|
3
|
-
*
|
|
4
|
-
* Defines a one-to-many dependency between objects so that when one object changes state,
|
|
5
|
-
* all its dependents are notified and updated automatically.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* interface DataUpdate {
|
|
10
|
-
* type: 'add' | 'update' | 'delete';
|
|
11
|
-
* data: any;
|
|
12
|
-
* }
|
|
13
|
-
*
|
|
14
|
-
* // Create a subject
|
|
15
|
-
* class DataModel extends Subject<DataUpdate> {
|
|
16
|
-
* updateData(data: any): void {
|
|
17
|
-
* // Update internal state
|
|
18
|
-
* // Notify observers
|
|
19
|
-
* this.notify({ type: 'update', data });
|
|
20
|
-
* }
|
|
21
|
-
* }
|
|
22
|
-
*
|
|
23
|
-
* // Create an observer
|
|
24
|
-
* class DataView implements IObserver<DataUpdate> {
|
|
25
|
-
* update(data: DataUpdate): void {
|
|
26
|
-
* console.log('Data changed:', data);
|
|
27
|
-
* // Update UI
|
|
28
|
-
* }
|
|
29
|
-
* }
|
|
30
|
-
*
|
|
31
|
-
* // Use it
|
|
32
|
-
* const model = new DataModel();
|
|
33
|
-
* const view = new DataView();
|
|
34
|
-
*
|
|
35
|
-
* model.attach(view);
|
|
36
|
-
* model.updateData({ id: 1, name: 'Test' }); // view.update() is called
|
|
37
|
-
* ```
|
|
38
|
-
*/
|
|
39
|
-
export interface IObserver<T> {
|
|
40
|
-
/**
|
|
41
|
-
* Called when the subject's state changes
|
|
42
|
-
* @param data - The data from the subject
|
|
43
|
-
*/
|
|
44
|
-
update(data: T): void;
|
|
45
|
-
}
|
|
46
|
-
export interface ISubject<T> {
|
|
47
|
-
/**
|
|
48
|
-
* Attach an observer to this subject
|
|
49
|
-
* @param observer - The observer to attach
|
|
50
|
-
*/
|
|
51
|
-
attach(observer: IObserver<T>): void;
|
|
52
|
-
/**
|
|
53
|
-
* Detach an observer from this subject
|
|
54
|
-
* @param observer - The observer to detach
|
|
55
|
-
*/
|
|
56
|
-
detach(observer: IObserver<T>): void;
|
|
57
|
-
/**
|
|
58
|
-
* Notify all attached observers
|
|
59
|
-
* @param data - The data to send to observers
|
|
60
|
-
*/
|
|
61
|
-
notify(data: T): void;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Base implementation of the Subject interface
|
|
65
|
-
*/
|
|
66
|
-
export declare class Subject<T> implements ISubject<T> {
|
|
67
|
-
private observers;
|
|
68
|
-
/**
|
|
69
|
-
* Attach an observer to this subject
|
|
70
|
-
*/
|
|
71
|
-
attach(observer: IObserver<T>): void;
|
|
72
|
-
/**
|
|
73
|
-
* Detach an observer from this subject
|
|
74
|
-
*/
|
|
75
|
-
detach(observer: IObserver<T>): void;
|
|
76
|
-
/**
|
|
77
|
-
* Notify all attached observers
|
|
78
|
-
*/
|
|
79
|
-
notify(data: T): void;
|
|
80
|
-
/**
|
|
81
|
-
* Get the number of attached observers
|
|
82
|
-
*/
|
|
83
|
-
protected getObserverCount(): number;
|
|
84
|
-
/**
|
|
85
|
-
* Clear all observers
|
|
86
|
-
*/
|
|
87
|
-
protected clearObservers(): void;
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=observer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observer.d.ts","sourceRoot":"","sources":["../../../../src/shared/patterns/observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAErC;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAErC;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,CAAE,YAAW,QAAQ,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,SAAS,CAA2B;IAE5C;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAIpC;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAIpC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAUrB;;OAEG;IACH,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,IAAI;CAGjC"}
|