@vuu-ui/vuu-utils 2.1.17 → 2.1.19-beta.1
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/package.json +10 -12
- package/types/ThemeProvider.d.ts +4 -4
- package/types/data-utils.d.ts +1 -1
- package/types/date/date-utils.d.ts +8 -8
- package/types/feature-utils.d.ts +1 -1
- package/types/filters/filter-utils.d.ts +15 -15
- package/cjs/node_modules/@dnd-kit/abstract/index.js +0 -1488
- package/cjs/node_modules/@dnd-kit/abstract/index.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/abstract/modifiers.js +0 -85
- package/cjs/node_modules/@dnd-kit/abstract/modifiers.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/collision/dist/index.js +0 -91
- package/cjs/node_modules/@dnd-kit/collision/dist/index.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/dom/index.js +0 -1991
- package/cjs/node_modules/@dnd-kit/dom/index.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/dom/sortable.js +0 -828
- package/cjs/node_modules/@dnd-kit/dom/sortable.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/dom/utilities.js +0 -1389
- package/cjs/node_modules/@dnd-kit/dom/utilities.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/geometry/dist/index.js +0 -310
- package/cjs/node_modules/@dnd-kit/geometry/dist/index.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/react/hooks.js +0 -134
- package/cjs/node_modules/@dnd-kit/react/hooks.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/react/index.js +0 -398
- package/cjs/node_modules/@dnd-kit/react/index.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/react/sortable.js +0 -177
- package/cjs/node_modules/@dnd-kit/react/sortable.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/react/utilities.js +0 -19
- package/cjs/node_modules/@dnd-kit/react/utilities.js.map +0 -1
- package/cjs/node_modules/@dnd-kit/state/dist/index.js +0 -280
- package/cjs/node_modules/@dnd-kit/state/dist/index.js.map +0 -1
- package/cjs/node_modules/@preact/signals-core/dist/signals-core.js +0 -11
- package/cjs/node_modules/@preact/signals-core/dist/signals-core.js.map +0 -1
- package/cjs/packages/vuu-utils/src/Clock.js +0 -62
- package/cjs/packages/vuu-utils/src/Clock.js.map +0 -1
- package/cjs/packages/vuu-utils/src/PageVisibilityObserver.js +0 -80
- package/cjs/packages/vuu-utils/src/PageVisibilityObserver.js.map +0 -1
- package/cjs/packages/vuu-utils/src/ScaledDecimal.js +0 -43
- package/cjs/packages/vuu-utils/src/ScaledDecimal.js.map +0 -1
- package/cjs/packages/vuu-utils/src/ShellContext.js +0 -13
- package/cjs/packages/vuu-utils/src/ShellContext.js.map +0 -1
- package/cjs/packages/vuu-utils/src/ThemeProvider.js +0 -85
- package/cjs/packages/vuu-utils/src/ThemeProvider.js.map +0 -1
- package/cjs/packages/vuu-utils/src/array-utils.js +0 -87
- package/cjs/packages/vuu-utils/src/array-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/box-utils.js +0 -53
- package/cjs/packages/vuu-utils/src/box-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/column-utils.js +0 -1057
- package/cjs/packages/vuu-utils/src/column-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/common-types.js +0 -15
- package/cjs/packages/vuu-utils/src/common-types.js.map +0 -1
- package/cjs/packages/vuu-utils/src/component-registry.js +0 -144
- package/cjs/packages/vuu-utils/src/component-registry.js.map +0 -1
- package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js +0 -21
- package/cjs/packages/vuu-utils/src/context-definitions/DataContext.js.map +0 -1
- package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js +0 -19
- package/cjs/packages/vuu-utils/src/context-definitions/DataProvider.js.map +0 -1
- package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js +0 -33
- package/cjs/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +0 -1
- package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +0 -20
- package/cjs/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +0 -1
- package/cjs/packages/vuu-utils/src/cookie-utils.js +0 -22
- package/cjs/packages/vuu-utils/src/cookie-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/css-utils.js +0 -9
- package/cjs/packages/vuu-utils/src/css-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js +0 -28
- package/cjs/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js +0 -34
- package/cjs/packages/vuu-utils/src/data-editing/EditButtons.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/EditSession.js +0 -204
- package/cjs/packages/vuu-utils/src/data-editing/EditSession.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/edit-utils.js +0 -37
- package/cjs/packages/vuu-utils/src/data-editing/edit-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js +0 -81
- package/cjs/packages/vuu-utils/src/data-editing/useEditableTable.js.map +0 -1
- package/cjs/packages/vuu-utils/src/data-utils.js +0 -96
- package/cjs/packages/vuu-utils/src/data-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js +0 -317
- package/cjs/packages/vuu-utils/src/datasource/BaseDataSource.js.map +0 -1
- package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js +0 -14
- package/cjs/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js +0 -40
- package/cjs/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js +0 -218
- package/cjs/packages/vuu-utils/src/datasource/datasource-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/date/date-utils.js +0 -131
- package/cjs/packages/vuu-utils/src/date/date-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/date/dateTimePattern.js +0 -26
- package/cjs/packages/vuu-utils/src/date/dateTimePattern.js.map +0 -1
- package/cjs/packages/vuu-utils/src/date/formatter.js +0 -82
- package/cjs/packages/vuu-utils/src/date/formatter.js.map +0 -1
- package/cjs/packages/vuu-utils/src/date/types.js +0 -32
- package/cjs/packages/vuu-utils/src/date/types.js.map +0 -1
- package/cjs/packages/vuu-utils/src/debug-utils.js +0 -34
- package/cjs/packages/vuu-utils/src/debug-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/event-emitter.js +0 -113
- package/cjs/packages/vuu-utils/src/event-emitter.js.map +0 -1
- package/cjs/packages/vuu-utils/src/feature-utils.js +0 -139
- package/cjs/packages/vuu-utils/src/feature-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/filters/filter-utils.js +0 -182
- package/cjs/packages/vuu-utils/src/filters/filter-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js +0 -69
- package/cjs/packages/vuu-utils/src/filters/filterAsQuery.js.map +0 -1
- package/cjs/packages/vuu-utils/src/form-utils.js +0 -117
- package/cjs/packages/vuu-utils/src/form-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/formatting-utils.js +0 -98
- package/cjs/packages/vuu-utils/src/formatting-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/getUniqueId.js +0 -6
- package/cjs/packages/vuu-utils/src/getUniqueId.js.map +0 -1
- package/cjs/packages/vuu-utils/src/group-utils.js +0 -27
- package/cjs/packages/vuu-utils/src/group-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/html-utils.js +0 -162
- package/cjs/packages/vuu-utils/src/html-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/index.js +0 -475
- package/cjs/packages/vuu-utils/src/index.js.map +0 -1
- package/cjs/packages/vuu-utils/src/input-utils.js +0 -10
- package/cjs/packages/vuu-utils/src/input-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/invariant.js +0 -13
- package/cjs/packages/vuu-utils/src/invariant.js.map +0 -1
- package/cjs/packages/vuu-utils/src/itemToString.js +0 -23
- package/cjs/packages/vuu-utils/src/itemToString.js.map +0 -1
- package/cjs/packages/vuu-utils/src/json-utils.js +0 -105
- package/cjs/packages/vuu-utils/src/json-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/keyboard-utils.js +0 -30
- package/cjs/packages/vuu-utils/src/keyboard-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/keyset.js +0 -72
- package/cjs/packages/vuu-utils/src/keyset.js.map +0 -1
- package/cjs/packages/vuu-utils/src/list-utils.js +0 -11
- package/cjs/packages/vuu-utils/src/list-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/local-storage-utils.js +0 -35
- package/cjs/packages/vuu-utils/src/local-storage-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/logging-utils.js +0 -65
- package/cjs/packages/vuu-utils/src/logging-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/module-utils.js +0 -6
- package/cjs/packages/vuu-utils/src/module-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/nanoid/index.js +0 -22
- package/cjs/packages/vuu-utils/src/nanoid/index.js.map +0 -1
- package/cjs/packages/vuu-utils/src/perf-utils.js +0 -35
- package/cjs/packages/vuu-utils/src/perf-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/promise-utils.js +0 -42
- package/cjs/packages/vuu-utils/src/promise-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/protocol-message-utils.js +0 -104
- package/cjs/packages/vuu-utils/src/protocol-message-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/range-utils.js +0 -115
- package/cjs/packages/vuu-utils/src/range-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/react-utils.js +0 -72
- package/cjs/packages/vuu-utils/src/react-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/round-decimal.js +0 -131
- package/cjs/packages/vuu-utils/src/round-decimal.js.map +0 -1
- package/cjs/packages/vuu-utils/src/row-utils.js +0 -59
- package/cjs/packages/vuu-utils/src/row-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/selection-utils.js +0 -34
- package/cjs/packages/vuu-utils/src/selection-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/shell-layout-types.js +0 -13
- package/cjs/packages/vuu-utils/src/shell-layout-types.js.map +0 -1
- package/cjs/packages/vuu-utils/src/sort-utils.js +0 -78
- package/cjs/packages/vuu-utils/src/sort-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/table-schema-utils.js +0 -13
- package/cjs/packages/vuu-utils/src/table-schema-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/text-utils.js +0 -21
- package/cjs/packages/vuu-utils/src/text-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/theme-utils.js +0 -36
- package/cjs/packages/vuu-utils/src/theme-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/tree-utils.js +0 -114
- package/cjs/packages/vuu-utils/src/tree-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/ts-utils.js +0 -12
- package/cjs/packages/vuu-utils/src/ts-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/typeahead-utils.js +0 -6
- package/cjs/packages/vuu-utils/src/typeahead-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/url-utils.js +0 -21
- package/cjs/packages/vuu-utils/src/url-utils.js.map +0 -1
- package/cjs/packages/vuu-utils/src/useId.js +0 -9
- package/cjs/packages/vuu-utils/src/useId.js.map +0 -1
- package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js +0 -17
- package/cjs/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +0 -1
- package/cjs/packages/vuu-utils/src/useResizeObserver.js +0 -134
- package/cjs/packages/vuu-utils/src/useResizeObserver.js.map +0 -1
- package/cjs/packages/vuu-utils/src/useStateRef.js +0 -23
- package/cjs/packages/vuu-utils/src/useStateRef.js.map +0 -1
- package/esm/node_modules/@dnd-kit/abstract/index.js +0 -1472
- package/esm/node_modules/@dnd-kit/abstract/index.js.map +0 -1
- package/esm/node_modules/@dnd-kit/abstract/modifiers.js +0 -82
- package/esm/node_modules/@dnd-kit/abstract/modifiers.js.map +0 -1
- package/esm/node_modules/@dnd-kit/collision/dist/index.js +0 -86
- package/esm/node_modules/@dnd-kit/collision/dist/index.js.map +0 -1
- package/esm/node_modules/@dnd-kit/dom/index.js +0 -1977
- package/esm/node_modules/@dnd-kit/dom/index.js.map +0 -1
- package/esm/node_modules/@dnd-kit/dom/sortable.js +0 -822
- package/esm/node_modules/@dnd-kit/dom/sortable.js.map +0 -1
- package/esm/node_modules/@dnd-kit/dom/utilities.js +0 -1344
- package/esm/node_modules/@dnd-kit/dom/utilities.js.map +0 -1
- package/esm/node_modules/@dnd-kit/geometry/dist/index.js +0 -303
- package/esm/node_modules/@dnd-kit/geometry/dist/index.js.map +0 -1
- package/esm/node_modules/@dnd-kit/react/hooks.js +0 -126
- package/esm/node_modules/@dnd-kit/react/hooks.js.map +0 -1
- package/esm/node_modules/@dnd-kit/react/index.js +0 -392
- package/esm/node_modules/@dnd-kit/react/index.js.map +0 -1
- package/esm/node_modules/@dnd-kit/react/sortable.js +0 -175
- package/esm/node_modules/@dnd-kit/react/sortable.js.map +0 -1
- package/esm/node_modules/@dnd-kit/react/utilities.js +0 -17
- package/esm/node_modules/@dnd-kit/react/utilities.js.map +0 -1
- package/esm/node_modules/@dnd-kit/state/dist/index.js +0 -266
- package/esm/node_modules/@dnd-kit/state/dist/index.js.map +0 -1
- package/esm/node_modules/@preact/signals-core/dist/signals-core.js +0 -4
- package/esm/node_modules/@preact/signals-core/dist/signals-core.js.map +0 -1
- package/esm/packages/vuu-utils/src/Clock.js +0 -60
- package/esm/packages/vuu-utils/src/Clock.js.map +0 -1
- package/esm/packages/vuu-utils/src/PageVisibilityObserver.js +0 -78
- package/esm/packages/vuu-utils/src/PageVisibilityObserver.js.map +0 -1
- package/esm/packages/vuu-utils/src/ScaledDecimal.js +0 -37
- package/esm/packages/vuu-utils/src/ScaledDecimal.js.map +0 -1
- package/esm/packages/vuu-utils/src/ShellContext.js +0 -10
- package/esm/packages/vuu-utils/src/ShellContext.js.map +0 -1
- package/esm/packages/vuu-utils/src/ThemeProvider.js +0 -78
- package/esm/packages/vuu-utils/src/ThemeProvider.js.map +0 -1
- package/esm/packages/vuu-utils/src/array-utils.js +0 -79
- package/esm/packages/vuu-utils/src/array-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/box-utils.js +0 -47
- package/esm/packages/vuu-utils/src/box-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/column-utils.js +0 -970
- package/esm/packages/vuu-utils/src/column-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/common-types.js +0 -13
- package/esm/packages/vuu-utils/src/common-types.js.map +0 -1
- package/esm/packages/vuu-utils/src/component-registry.js +0 -128
- package/esm/packages/vuu-utils/src/component-registry.js.map +0 -1
- package/esm/packages/vuu-utils/src/context-definitions/DataContext.js +0 -18
- package/esm/packages/vuu-utils/src/context-definitions/DataContext.js.map +0 -1
- package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js +0 -16
- package/esm/packages/vuu-utils/src/context-definitions/DataProvider.js.map +0 -1
- package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js +0 -29
- package/esm/packages/vuu-utils/src/context-definitions/DataSourceProvider.js.map +0 -1
- package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js +0 -17
- package/esm/packages/vuu-utils/src/context-definitions/WorkspaceContext.js.map +0 -1
- package/esm/packages/vuu-utils/src/cookie-utils.js +0 -19
- package/esm/packages/vuu-utils/src/cookie-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/css-utils.js +0 -7
- package/esm/packages/vuu-utils/src/css-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js +0 -25
- package/esm/packages/vuu-utils/src/data-editing/DataEditingProvider.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/EditButtons.js +0 -32
- package/esm/packages/vuu-utils/src/data-editing/EditButtons.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/EditSession.js +0 -201
- package/esm/packages/vuu-utils/src/data-editing/EditSession.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/edit-utils.js +0 -34
- package/esm/packages/vuu-utils/src/data-editing/edit-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js +0 -79
- package/esm/packages/vuu-utils/src/data-editing/useEditableTable.js.map +0 -1
- package/esm/packages/vuu-utils/src/data-utils.js +0 -82
- package/esm/packages/vuu-utils/src/data-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js +0 -314
- package/esm/packages/vuu-utils/src/datasource/BaseDataSource.js.map +0 -1
- package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js +0 -8
- package/esm/packages/vuu-utils/src/datasource/datasource-action-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js +0 -38
- package/esm/packages/vuu-utils/src/datasource/datasource-filter-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/datasource/datasource-utils.js +0 -193
- package/esm/packages/vuu-utils/src/datasource/datasource-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/date/date-utils.js +0 -121
- package/esm/packages/vuu-utils/src/date/date-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/date/dateTimePattern.js +0 -22
- package/esm/packages/vuu-utils/src/date/dateTimePattern.js.map +0 -1
- package/esm/packages/vuu-utils/src/date/formatter.js +0 -79
- package/esm/packages/vuu-utils/src/date/formatter.js.map +0 -1
- package/esm/packages/vuu-utils/src/date/types.js +0 -26
- package/esm/packages/vuu-utils/src/date/types.js.map +0 -1
- package/esm/packages/vuu-utils/src/debug-utils.js +0 -32
- package/esm/packages/vuu-utils/src/debug-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/event-emitter.js +0 -111
- package/esm/packages/vuu-utils/src/event-emitter.js.map +0 -1
- package/esm/packages/vuu-utils/src/feature-utils.js +0 -125
- package/esm/packages/vuu-utils/src/feature-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/filters/filter-utils.js +0 -159
- package/esm/packages/vuu-utils/src/filters/filter-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/filters/filterAsQuery.js +0 -65
- package/esm/packages/vuu-utils/src/filters/filterAsQuery.js.map +0 -1
- package/esm/packages/vuu-utils/src/form-utils.js +0 -110
- package/esm/packages/vuu-utils/src/form-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/formatting-utils.js +0 -93
- package/esm/packages/vuu-utils/src/formatting-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/getUniqueId.js +0 -4
- package/esm/packages/vuu-utils/src/getUniqueId.js.map +0 -1
- package/esm/packages/vuu-utils/src/group-utils.js +0 -23
- package/esm/packages/vuu-utils/src/group-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/html-utils.js +0 -145
- package/esm/packages/vuu-utils/src/html-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/index.js +0 -77
- package/esm/packages/vuu-utils/src/index.js.map +0 -1
- package/esm/packages/vuu-utils/src/input-utils.js +0 -7
- package/esm/packages/vuu-utils/src/input-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/invariant.js +0 -11
- package/esm/packages/vuu-utils/src/invariant.js.map +0 -1
- package/esm/packages/vuu-utils/src/itemToString.js +0 -21
- package/esm/packages/vuu-utils/src/itemToString.js.map +0 -1
- package/esm/packages/vuu-utils/src/json-utils.js +0 -103
- package/esm/packages/vuu-utils/src/json-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/keyboard-utils.js +0 -16
- package/esm/packages/vuu-utils/src/keyboard-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/keyset.js +0 -70
- package/esm/packages/vuu-utils/src/keyset.js.map +0 -1
- package/esm/packages/vuu-utils/src/list-utils.js +0 -9
- package/esm/packages/vuu-utils/src/list-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/local-storage-utils.js +0 -30
- package/esm/packages/vuu-utils/src/local-storage-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/logging-utils.js +0 -61
- package/esm/packages/vuu-utils/src/logging-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/module-utils.js +0 -4
- package/esm/packages/vuu-utils/src/module-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/nanoid/index.js +0 -20
- package/esm/packages/vuu-utils/src/nanoid/index.js.map +0 -1
- package/esm/packages/vuu-utils/src/perf-utils.js +0 -32
- package/esm/packages/vuu-utils/src/perf-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/promise-utils.js +0 -40
- package/esm/packages/vuu-utils/src/promise-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/protocol-message-utils.js +0 -75
- package/esm/packages/vuu-utils/src/protocol-message-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/range-utils.js +0 -108
- package/esm/packages/vuu-utils/src/range-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/react-utils.js +0 -66
- package/esm/packages/vuu-utils/src/react-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/round-decimal.js +0 -127
- package/esm/packages/vuu-utils/src/round-decimal.js.map +0 -1
- package/esm/packages/vuu-utils/src/row-utils.js +0 -54
- package/esm/packages/vuu-utils/src/row-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/selection-utils.js +0 -31
- package/esm/packages/vuu-utils/src/selection-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/shell-layout-types.js +0 -11
- package/esm/packages/vuu-utils/src/shell-layout-types.js.map +0 -1
- package/esm/packages/vuu-utils/src/sort-utils.js +0 -73
- package/esm/packages/vuu-utils/src/sort-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/table-schema-utils.js +0 -11
- package/esm/packages/vuu-utils/src/table-schema-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/text-utils.js +0 -18
- package/esm/packages/vuu-utils/src/text-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/theme-utils.js +0 -34
- package/esm/packages/vuu-utils/src/theme-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/tree-utils.js +0 -108
- package/esm/packages/vuu-utils/src/tree-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/ts-utils.js +0 -8
- package/esm/packages/vuu-utils/src/ts-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/typeahead-utils.js +0 -4
- package/esm/packages/vuu-utils/src/typeahead-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/url-utils.js +0 -18
- package/esm/packages/vuu-utils/src/url-utils.js.map +0 -1
- package/esm/packages/vuu-utils/src/useId.js +0 -7
- package/esm/packages/vuu-utils/src/useId.js.map +0 -1
- package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js +0 -15
- package/esm/packages/vuu-utils/src/useLayoutEffectSkipFirst.js.map +0 -1
- package/esm/packages/vuu-utils/src/useResizeObserver.js +0 -130
- package/esm/packages/vuu-utils/src/useResizeObserver.js.map +0 -1
- package/esm/packages/vuu-utils/src/useStateRef.js +0 -21
- package/esm/packages/vuu-utils/src/useStateRef.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datasource-utils.js","sources":["../../../../../../../packages/vuu-utils/src/datasource/datasource-utils.ts"],"sourcesContent":["import {\n ConnectionQualityMetrics,\n DataSourceCallbackMessage,\n DataSourceConfig,\n DataSourceDataMessage,\n DataSourceRow,\n DataSourceVisualLinksMessage,\n TypeaheadSuggestionProvider,\n VuuUIMessageIn,\n VuuUIMessageInRPC,\n VuuUIMessageInTableMeta,\n VuuUIMessageOutViewport,\n WithBaseFilter,\n WithFilter,\n WithFullConfig,\n WithGroupBy,\n WithSort,\n} from \"@vuu-ui/vuu-data-types\";\nimport {\n LinkDescriptorWithLabel,\n VuuCreateVisualLink,\n VuuFilter,\n VuuRemoveVisualLink,\n VuuRowDataItemType,\n VuuSort,\n} from \"@vuu-ui/vuu-protocol-types\";\nimport { ColumnMap } from \"../column-utils\";\nimport { ConfigWithVisualLink } from \"./BaseDataSource\";\n\nexport const NoFilter: VuuFilter = { filter: \"\" };\nexport const NoSort: VuuSort = { sortDefs: [] };\n\nexport const vanillaConfig: WithFullConfig = {\n aggregations: [],\n columns: [],\n filterSpec: NoFilter,\n groupBy: [],\n sort: NoSort,\n};\n\nexport const stripVisualLink = (\n configWithVisualLink: ConfigWithVisualLink,\n): WithBaseFilter<WithFullConfig> => {\n if (configWithVisualLink.visualLink) {\n const { visualLink, ...config } = configWithVisualLink;\n return config;\n } else {\n return configWithVisualLink;\n }\n};\n\nexport type DataSourceConfigChanges = {\n aggregationsChanged: boolean;\n baseFilterChanged: boolean;\n columnsChanged: boolean;\n filterChanged: boolean;\n groupByChanged: boolean;\n sortChanged: boolean;\n visualLinkChanged: boolean;\n};\n\nexport type MaybeDataSourceConfigChanges = DataSourceConfigChanges & {\n noChanges: boolean;\n};\n\ntype DataConfigPredicate = (\n config: WithBaseFilter<DataSourceConfig>,\n newConfig: WithBaseFilter<DataSourceConfig>,\n) => boolean;\n\nconst equivalentAggregations: DataConfigPredicate = (\n { aggregations: agg1 },\n { aggregations: agg2 },\n) =>\n (agg1 === undefined && agg2?.length === 0) ||\n (agg2 === undefined && agg1?.length === 0);\n\nconst equivalentColumns: DataConfigPredicate = (\n { columns: cols1 },\n { columns: cols2 },\n) =>\n (cols1 === undefined && cols2?.length === 0) ||\n (cols2 === undefined && cols1?.length === 0);\n\nconst equivalentFilter: DataConfigPredicate = (\n { filterSpec: f1 },\n { filterSpec: f2 },\n) =>\n (f1 === undefined && f2?.filter === \"\") ||\n (f2 === undefined && f1?.filter === \"\");\n\nconst equivalentGroupBy: DataConfigPredicate = (\n { groupBy: val1 },\n { groupBy: val2 },\n) =>\n (val1 === undefined && val2?.length === 0) ||\n (val2 === undefined && val1?.length === 0);\n\nconst equivalentSort: DataConfigPredicate = ({ sort: s1 }, { sort: s2 }) =>\n (s1 === undefined && s2?.sortDefs.length === 0) ||\n (s2 === undefined && s1?.sortDefs.length === 0);\n\nconst exactlyTheSame = (a: unknown, b: unknown) => {\n if (a === b) {\n return true;\n } else if (a === undefined && b === undefined) {\n return true;\n } else {\n return false;\n }\n};\n\nconst isAggregationsChanged: DataConfigPredicate = (config, newConfig) => {\n const { aggregations: agg1 } = config;\n const { aggregations: agg2 } = newConfig;\n if (exactlyTheSame(agg1, agg2) || equivalentAggregations(config, newConfig)) {\n return false;\n } else if (agg1 === undefined || agg2 === undefined) {\n return true;\n } else if (agg1.length !== agg2.length) {\n return true;\n }\n return agg1.some(\n ({ column, aggType }, i) =>\n column !== agg2[i].column || aggType !== agg2[i].aggType,\n );\n};\n\nconst isColumnsChanged: DataConfigPredicate = (config, newConfig) => {\n const { columns: cols1 } = config;\n const { columns: cols2 } = newConfig;\n\n if (exactlyTheSame(cols1, cols2) || equivalentColumns(config, newConfig)) {\n return false;\n } else if (cols1 === undefined || cols2 === undefined) {\n return true;\n } else if (cols1?.length !== cols2?.length) {\n return true;\n }\n return cols1.some((column, i) => column !== cols2?.[i]);\n};\n\nexport const isBaseFilterChanged: DataConfigPredicate = (c1, c2) => {\n if (equivalentFilter(c1, c2)) {\n return false;\n } else {\n return c1.baseFilterSpec?.filter !== c2.baseFilterSpec?.filter;\n }\n};\n\nexport const isFilterChanged: DataConfigPredicate = (c1, c2) => {\n if (equivalentFilter(c1, c2)) {\n return false;\n } else {\n return c1.filterSpec?.filter !== c2.filterSpec?.filter;\n }\n};\n\nexport const isGroupByChanged: DataConfigPredicate = (config, newConfig) => {\n const { groupBy: g1 } = config;\n const { groupBy: g2 } = newConfig;\n if (exactlyTheSame(g1, g2) || equivalentGroupBy(config, newConfig)) {\n return false;\n } else if (g1 === undefined || g2 === undefined) {\n return true;\n } else if (g1?.length !== g2?.length) {\n return true;\n }\n return g1.some((column, i) => column !== g2?.[i]);\n};\n\nconst isSortChanged: DataConfigPredicate = (config, newConfig) => {\n const { sort: s1 } = config;\n const { sort: s2 } = newConfig;\n if (exactlyTheSame(s1, s2) || equivalentSort(config, newConfig)) {\n return false;\n } else if (s1 === undefined || s2 === undefined) {\n return true;\n } else if (s1?.sortDefs.length !== s2?.sortDefs.length) {\n return true;\n }\n return s1.sortDefs.some(\n ({ column, sortType }, i) =>\n column !== s2.sortDefs[i].column || sortType !== s2.sortDefs[i].sortType,\n );\n};\n\nconst isVisualLinkChanged: DataConfigPredicate = (\n { visualLink: v1 },\n { visualLink: v2 },\n) => {\n if (exactlyTheSame(v1, v2)) {\n return false;\n }\n if (v1 === undefined || v2 === undefined) {\n return true;\n }\n return v1.label !== v2.label || v2.parentVpId !== v2.parentVpId;\n};\n\nexport const NO_CONFIG_CHANGES: MaybeDataSourceConfigChanges = {\n aggregationsChanged: false,\n baseFilterChanged: false,\n columnsChanged: false,\n filterChanged: false,\n groupByChanged: false,\n noChanges: true,\n sortChanged: false,\n visualLinkChanged: false,\n};\n\nexport const isConfigChanged = (\n config: DataSourceConfig | undefined,\n newConfig: DataSourceConfig | undefined,\n): MaybeDataSourceConfigChanges => {\n if (exactlyTheSame(config, newConfig)) {\n return NO_CONFIG_CHANGES;\n }\n\n if (config === undefined && newConfig == undefined) {\n return NO_CONFIG_CHANGES;\n } else if (config === undefined) {\n return isConfigChanged({}, newConfig);\n } else if (newConfig === undefined) {\n return isConfigChanged(config, {});\n }\n\n const aggregationsChanged = isAggregationsChanged(config, newConfig);\n const baseFilterChanged = isBaseFilterChanged(config, newConfig);\n const columnsChanged = isColumnsChanged(config, newConfig);\n const filterChanged = isFilterChanged(config, newConfig);\n const groupByChanged = isGroupByChanged(config, newConfig);\n const sortChanged = isSortChanged(config, newConfig);\n const visualLinkChanged = isVisualLinkChanged(config, newConfig);\n\n const noChanges = !(\n aggregationsChanged ||\n baseFilterChanged ||\n columnsChanged ||\n filterChanged ||\n groupByChanged ||\n sortChanged ||\n visualLinkChanged\n );\n\n return {\n aggregationsChanged,\n baseFilterChanged,\n columnsChanged,\n filterChanged,\n groupByChanged,\n noChanges,\n sortChanged,\n visualLinkChanged,\n };\n};\n\nexport const hasGroupBy = (\n config?: WithBaseFilter<DataSourceConfig>,\n): config is WithGroupBy =>\n config !== undefined &&\n config.groupBy !== undefined &&\n config.groupBy.length > 0;\n\nexport const hasBaseFilter = (\n config?: WithBaseFilter<DataSourceConfig>,\n): config is WithFilter =>\n config?.baseFilterSpec !== undefined &&\n config.baseFilterSpec.filter.length > 0;\n\nexport const hasFilter = (config?: DataSourceConfig): config is WithFilter =>\n config?.filterSpec !== undefined && config.filterSpec.filter.length > 0;\n\nexport const hasSort = (config?: DataSourceConfig): config is WithSort =>\n config?.sort !== undefined &&\n Array.isArray(config.sort?.sortDefs) &&\n config.sort.sortDefs.length > 0;\n\nexport const isTypeaheadSuggestionProvider = (\n source: unknown,\n): source is TypeaheadSuggestionProvider =>\n typeof (source as TypeaheadSuggestionProvider)[\"getTypeaheadSuggestions\"] ===\n \"function\";\n\nexport const isTableSchemaMessage = (\n message: VuuUIMessageIn,\n): message is VuuUIMessageInTableMeta => message.type === \"TABLE_META_RESP\";\n\nexport const isConnectionQualityMetrics = (\n msg: object,\n): msg is ConnectionQualityMetrics =>\n (msg as ConnectionQualityMetrics).type === \"connection-metrics\";\n\nexport const messageHasResult = (msg: object): msg is VuuUIMessageInRPC =>\n typeof (msg as VuuUIMessageInRPC).result !== \"undefined\";\n\nexport const isVisualLinkMessage = (\n msg: unknown,\n): msg is VuuCreateVisualLink | VuuRemoveVisualLink =>\n (msg as VuuCreateVisualLink).type.endsWith(\"_VISUAL_LINK\");\n\nexport const isVisualLinksMessage = (\n msg: unknown,\n): msg is DataSourceVisualLinksMessage =>\n (msg as DataSourceVisualLinksMessage).type === \"vuu-links\";\n\nexport const isViewportMessage = (\n msg: object,\n): msg is VuuUIMessageOutViewport => \"viewport\" in msg;\n\nexport type DataSourceDataMessageWithRows = Omit<\n DataSourceDataMessage,\n \"rows\"\n> & {\n rows: DataSourceRow[];\n};\nexport type DataSourceDataMessageWithSize = Omit<\n DataSourceDataMessage,\n \"size\"\n> & {\n size: number;\n};\nexport const messageHasDataRows = (\n message: DataSourceCallbackMessage,\n): message is DataSourceDataMessageWithRows =>\n message.type === \"viewport-update\" && Array.isArray(message.rows);\n\nexport const messageHasSize = (\n message: DataSourceCallbackMessage,\n): message is DataSourceDataMessageWithSize =>\n message.type === \"viewport-update\" && typeof message.size === \"number\";\n\nexport const withConfigDefaults = (\n config: WithBaseFilter<DataSourceConfig>,\n): WithBaseFilter<WithFullConfig> & {\n visualLink?: LinkDescriptorWithLabel;\n} => {\n if (\n config.aggregations &&\n config.baseFilterSpec &&\n config.columns &&\n config.filterSpec &&\n config.groupBy &&\n config.sort\n ) {\n return config as WithFullConfig;\n } else {\n const {\n aggregations = [],\n baseFilterSpec: baseFilter = { filter: \"\" },\n columns = [],\n filterSpec: filter = { filter: \"\" },\n groupBy = [],\n sort = { sortDefs: [] },\n visualLink,\n } = config;\n\n return {\n aggregations,\n baseFilterSpec: baseFilter,\n columns,\n filterSpec: filter,\n groupBy,\n sort,\n visualLink,\n };\n }\n};\n\nexport type Entity = Record<string, VuuRowDataItemType>;\n// export type EntityKey<T extends Entity = Entity> = Extract<keyof T, \"string\">;\n\nexport const dataSourceRowToEntity = <T extends Entity = Entity>(\n row: DataSourceRow,\n columnMap: ColumnMap,\n) =>\n Object.entries(columnMap).reduce(\n (entity, [name, index]) => ({\n ...entity,\n [name]: row[index],\n }),\n {} as T,\n );\n"],"names":[],"mappings":";;AA6Ba,MAAA,QAAA,GAAsB,EAAE,MAAA,EAAQ,EAAG;AACzC,MAAM,MAAkB,GAAA,EAAE,QAAU,EAAA,EAAG;AAEvC,MAAM,aAAgC,GAAA;AAAA,EAC3C,cAAc,EAAC;AAAA,EACf,SAAS,EAAC;AAAA,EACV,UAAY,EAAA,QAAA;AAAA,EACZ,SAAS,EAAC;AAAA,EACV,IAAM,EAAA;AACR;AAEa,MAAA,eAAA,GAAkB,CAC7B,oBACmC,KAAA;AACnC,EAAA,IAAI,qBAAqB,UAAY,EAAA;AACnC,IAAA,MAAM,EAAE,UAAA,EAAY,GAAG,MAAA,EAAW,GAAA,oBAAA;AAClC,IAAO,OAAA,MAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,oBAAA;AAAA;AAEX;AAqBA,MAAM,yBAA8C,CAClD,EAAE,cAAc,IAAK,EAAA,EACrB,EAAE,YAAc,EAAA,IAAA,EAEf,KAAA,IAAA,KAAS,UAAa,IAAM,EAAA,MAAA,KAAW,KACvC,IAAS,KAAA,KAAA,CAAA,IAAa,MAAM,MAAW,KAAA,CAAA;AAE1C,MAAM,oBAAyC,CAC7C,EAAE,SAAS,KAAM,EAAA,EACjB,EAAE,OAAS,EAAA,KAAA,EAEV,KAAA,KAAA,KAAU,UAAa,KAAO,EAAA,MAAA,KAAW,KACzC,KAAU,KAAA,KAAA,CAAA,IAAa,OAAO,MAAW,KAAA,CAAA;AAE5C,MAAM,mBAAwC,CAC5C,EAAE,YAAY,EAAG,EAAA,EACjB,EAAE,UAAY,EAAA,EAAA,EAEb,KAAA,EAAA,KAAO,UAAa,EAAI,EAAA,MAAA,KAAW,MACnC,EAAO,KAAA,KAAA,CAAA,IAAa,IAAI,MAAW,KAAA,EAAA;AAEtC,MAAM,oBAAyC,CAC7C,EAAE,SAAS,IAAK,EAAA,EAChB,EAAE,OAAS,EAAA,IAAA,EAEV,KAAA,IAAA,KAAS,UAAa,IAAM,EAAA,MAAA,KAAW,KACvC,IAAS,KAAA,KAAA,CAAA,IAAa,MAAM,MAAW,KAAA,CAAA;AAE1C,MAAM,cAAA,GAAsC,CAAC,EAAE,IAAA,EAAM,IAAM,EAAA,EAAE,MAAM,EAAG,EAAA,KACnE,OAAO,KAAa,CAAA,IAAA,EAAA,EAAI,SAAS,MAAW,KAAA,CAAA,IAC5C,OAAO,KAAa,CAAA,IAAA,EAAA,EAAI,SAAS,MAAW,KAAA,CAAA;AAE/C,MAAM,cAAA,GAAiB,CAAC,CAAA,EAAY,CAAe,KAAA;AACjD,EAAA,IAAI,MAAM,CAAG,EAAA;AACX,IAAO,OAAA,IAAA;AAAA,GACE,MAAA,IAAA,CAAA,KAAM,KAAa,CAAA,IAAA,CAAA,KAAM,KAAW,CAAA,EAAA;AAC7C,IAAO,OAAA,IAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,KAAA;AAAA;AAEX,CAAA;AAEA,MAAM,qBAAA,GAA6C,CAAC,MAAA,EAAQ,SAAc,KAAA;AACxE,EAAM,MAAA,EAAE,YAAc,EAAA,IAAA,EAAS,GAAA,MAAA;AAC/B,EAAM,MAAA,EAAE,YAAc,EAAA,IAAA,EAAS,GAAA,SAAA;AAC/B,EAAA,IAAI,eAAe,IAAM,EAAA,IAAI,KAAK,sBAAuB,CAAA,MAAA,EAAQ,SAAS,CAAG,EAAA;AAC3E,IAAO,OAAA,KAAA;AAAA,GACE,MAAA,IAAA,IAAA,KAAS,KAAa,CAAA,IAAA,IAAA,KAAS,KAAW,CAAA,EAAA;AACnD,IAAO,OAAA,IAAA;AAAA,GACE,MAAA,IAAA,IAAA,CAAK,MAAW,KAAA,IAAA,CAAK,MAAQ,EAAA;AACtC,IAAO,OAAA,IAAA;AAAA;AAET,EAAA,OAAO,IAAK,CAAA,IAAA;AAAA,IACV,CAAC,EAAE,MAAQ,EAAA,OAAA,IAAW,CACpB,KAAA,MAAA,KAAW,IAAK,CAAA,CAAC,CAAE,CAAA,MAAA,IAAU,OAAY,KAAA,IAAA,CAAK,CAAC,CAAE,CAAA;AAAA,GACrD;AACF,CAAA;AAEA,MAAM,gBAAA,GAAwC,CAAC,MAAA,EAAQ,SAAc,KAAA;AACnE,EAAM,MAAA,EAAE,OAAS,EAAA,KAAA,EAAU,GAAA,MAAA;AAC3B,EAAM,MAAA,EAAE,OAAS,EAAA,KAAA,EAAU,GAAA,SAAA;AAE3B,EAAA,IAAI,eAAe,KAAO,EAAA,KAAK,KAAK,iBAAkB,CAAA,MAAA,EAAQ,SAAS,CAAG,EAAA;AACxE,IAAO,OAAA,KAAA;AAAA,GACE,MAAA,IAAA,KAAA,KAAU,KAAa,CAAA,IAAA,KAAA,KAAU,KAAW,CAAA,EAAA;AACrD,IAAO,OAAA,IAAA;AAAA,GACE,MAAA,IAAA,KAAA,EAAO,MAAW,KAAA,KAAA,EAAO,MAAQ,EAAA;AAC1C,IAAO,OAAA,IAAA;AAAA;AAET,EAAO,OAAA,KAAA,CAAM,KAAK,CAAC,MAAA,EAAQ,MAAM,MAAW,KAAA,KAAA,GAAQ,CAAC,CAAC,CAAA;AACxD,CAAA;AAEa,MAAA,mBAAA,GAA2C,CAAC,EAAA,EAAI,EAAO,KAAA;AAClE,EAAI,IAAA,gBAAA,CAAiB,EAAI,EAAA,EAAE,CAAG,EAAA;AAC5B,IAAO,OAAA,KAAA;AAAA,GACF,MAAA;AACL,IAAA,OAAO,EAAG,CAAA,cAAA,EAAgB,MAAW,KAAA,EAAA,CAAG,cAAgB,EAAA,MAAA;AAAA;AAE5D;AAEa,MAAA,eAAA,GAAuC,CAAC,EAAA,EAAI,EAAO,KAAA;AAC9D,EAAI,IAAA,gBAAA,CAAiB,EAAI,EAAA,EAAE,CAAG,EAAA;AAC5B,IAAO,OAAA,KAAA;AAAA,GACF,MAAA;AACL,IAAA,OAAO,EAAG,CAAA,UAAA,EAAY,MAAW,KAAA,EAAA,CAAG,UAAY,EAAA,MAAA;AAAA;AAEpD;AAEa,MAAA,gBAAA,GAAwC,CAAC,MAAA,EAAQ,SAAc,KAAA;AAC1E,EAAM,MAAA,EAAE,OAAS,EAAA,EAAA,EAAO,GAAA,MAAA;AACxB,EAAM,MAAA,EAAE,OAAS,EAAA,EAAA,EAAO,GAAA,SAAA;AACxB,EAAA,IAAI,eAAe,EAAI,EAAA,EAAE,KAAK,iBAAkB,CAAA,MAAA,EAAQ,SAAS,CAAG,EAAA;AAClE,IAAO,OAAA,KAAA;AAAA,GACE,MAAA,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,KAAW,CAAA,EAAA;AAC/C,IAAO,OAAA,IAAA;AAAA,GACE,MAAA,IAAA,EAAA,EAAI,MAAW,KAAA,EAAA,EAAI,MAAQ,EAAA;AACpC,IAAO,OAAA,IAAA;AAAA;AAET,EAAO,OAAA,EAAA,CAAG,KAAK,CAAC,MAAA,EAAQ,MAAM,MAAW,KAAA,EAAA,GAAK,CAAC,CAAC,CAAA;AAClD;AAEA,MAAM,aAAA,GAAqC,CAAC,MAAA,EAAQ,SAAc,KAAA;AAChE,EAAM,MAAA,EAAE,IAAM,EAAA,EAAA,EAAO,GAAA,MAAA;AACrB,EAAM,MAAA,EAAE,IAAM,EAAA,EAAA,EAAO,GAAA,SAAA;AACrB,EAAA,IAAI,eAAe,EAAI,EAAA,EAAE,KAAK,cAAe,CAAA,MAAA,EAAQ,SAAS,CAAG,EAAA;AAC/D,IAAO,OAAA,KAAA;AAAA,GACE,MAAA,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,KAAW,CAAA,EAAA;AAC/C,IAAO,OAAA,IAAA;AAAA,aACE,EAAI,EAAA,QAAA,CAAS,MAAW,KAAA,EAAA,EAAI,SAAS,MAAQ,EAAA;AACtD,IAAO,OAAA,IAAA;AAAA;AAET,EAAA,OAAO,GAAG,QAAS,CAAA,IAAA;AAAA,IACjB,CAAC,EAAE,MAAA,EAAQ,QAAS,EAAA,EAAG,MACrB,MAAW,KAAA,EAAA,CAAG,QAAS,CAAA,CAAC,EAAE,MAAU,IAAA,QAAA,KAAa,EAAG,CAAA,QAAA,CAAS,CAAC,CAAE,CAAA;AAAA,GACpE;AACF,CAAA;AAEA,MAAM,mBAAA,GAA2C,CAC/C,EAAE,UAAA,EAAY,IACd,EAAA,EAAE,UAAY,EAAA,EAAA,EACX,KAAA;AACH,EAAI,IAAA,cAAA,CAAe,EAAI,EAAA,EAAE,CAAG,EAAA;AAC1B,IAAO,OAAA,KAAA;AAAA;AAET,EAAI,IAAA,EAAA,KAAO,KAAa,CAAA,IAAA,EAAA,KAAO,KAAW,CAAA,EAAA;AACxC,IAAO,OAAA,IAAA;AAAA;AAET,EAAA,OAAO,GAAG,KAAU,KAAA,EAAA,CAAG,KAAS,IAAA,EAAA,CAAG,eAAe,EAAG,CAAA,UAAA;AACvD,CAAA;AAEO,MAAM,iBAAkD,GAAA;AAAA,EAC7D,mBAAqB,EAAA,KAAA;AAAA,EACrB,iBAAmB,EAAA,KAAA;AAAA,EACnB,cAAgB,EAAA,KAAA;AAAA,EAChB,aAAe,EAAA,KAAA;AAAA,EACf,cAAgB,EAAA,KAAA;AAAA,EAChB,SAAW,EAAA,IAAA;AAAA,EACX,WAAa,EAAA,KAAA;AAAA,EACb,iBAAmB,EAAA;AACrB;AAEa,MAAA,eAAA,GAAkB,CAC7B,MAAA,EACA,SACiC,KAAA;AACjC,EAAI,IAAA,cAAA,CAAe,MAAQ,EAAA,SAAS,CAAG,EAAA;AACrC,IAAO,OAAA,iBAAA;AAAA;AAGT,EAAI,IAAA,MAAA,KAAW,KAAa,CAAA,IAAA,SAAA,IAAa,KAAW,CAAA,EAAA;AAClD,IAAO,OAAA,iBAAA;AAAA,GACT,MAAA,IAAW,WAAW,KAAW,CAAA,EAAA;AAC/B,IAAO,OAAA,eAAA,CAAgB,EAAC,EAAG,SAAS,CAAA;AAAA,GACtC,MAAA,IAAW,cAAc,KAAW,CAAA,EAAA;AAClC,IAAO,OAAA,eAAA,CAAgB,MAAQ,EAAA,EAAE,CAAA;AAAA;AAGnC,EAAM,MAAA,mBAAA,GAAsB,qBAAsB,CAAA,MAAA,EAAQ,SAAS,CAAA;AACnE,EAAM,MAAA,iBAAA,GAAoB,mBAAoB,CAAA,MAAA,EAAQ,SAAS,CAAA;AAC/D,EAAM,MAAA,cAAA,GAAiB,gBAAiB,CAAA,MAAA,EAAQ,SAAS,CAAA;AACzD,EAAM,MAAA,aAAA,GAAgB,eAAgB,CAAA,MAAA,EAAQ,SAAS,CAAA;AACvD,EAAM,MAAA,cAAA,GAAiB,gBAAiB,CAAA,MAAA,EAAQ,SAAS,CAAA;AACzD,EAAM,MAAA,WAAA,GAAc,aAAc,CAAA,MAAA,EAAQ,SAAS,CAAA;AACnD,EAAM,MAAA,iBAAA,GAAoB,mBAAoB,CAAA,MAAA,EAAQ,SAAS,CAAA;AAE/D,EAAA,MAAM,YAAY,EAChB,mBAAA,IACA,qBACA,cACA,IAAA,aAAA,IACA,kBACA,WACA,IAAA,iBAAA,CAAA;AAGF,EAAO,OAAA;AAAA,IACL,mBAAA;AAAA,IACA,iBAAA;AAAA,IACA,cAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF;AACF;AAEa,MAAA,UAAA,GAAa,CACxB,MAAA,KAEA,MAAW,KAAA,KAAA,CAAA,IACX,OAAO,OAAY,KAAA,KAAA,CAAA,IACnB,MAAO,CAAA,OAAA,CAAQ,MAAS,GAAA;AAEb,MAAA,aAAA,GAAgB,CAC3B,MAEA,KAAA,MAAA,EAAQ,mBAAmB,KAC3B,CAAA,IAAA,MAAA,CAAO,cAAe,CAAA,MAAA,CAAO,MAAS,GAAA;AAE3B,MAAA,SAAA,GAAY,CAAC,MACxB,KAAA,MAAA,EAAQ,eAAe,KAAa,CAAA,IAAA,MAAA,CAAO,UAAW,CAAA,MAAA,CAAO,MAAS,GAAA;AAEjE,MAAM,OAAU,GAAA,CAAC,MACtB,KAAA,MAAA,EAAQ,SAAS,KACjB,CAAA,IAAA,KAAA,CAAM,OAAQ,CAAA,MAAA,CAAO,MAAM,QAAQ,CAAA,IACnC,MAAO,CAAA,IAAA,CAAK,SAAS,MAAS,GAAA;AAEzB,MAAM,gCAAgC,CAC3C,MAAA,KAEA,OAAQ,MAAA,CAAuC,yBAAyB,CACxE,KAAA;AAEK,MAAM,oBAAuB,GAAA,CAClC,OACuC,KAAA,OAAA,CAAQ,IAAS,KAAA;AAEnD,MAAM,0BAA6B,GAAA,CACxC,GAEC,KAAA,GAAA,CAAiC,IAAS,KAAA;AAEtC,MAAM,gBAAmB,GAAA,CAAC,GAC/B,KAAA,OAAQ,IAA0B,MAAW,KAAA;AAExC,MAAM,sBAAsB,CACjC,GAAA,KAEC,GAA4B,CAAA,IAAA,CAAK,SAAS,cAAc;AAEpD,MAAM,oBAAuB,GAAA,CAClC,GAEC,KAAA,GAAA,CAAqC,IAAS,KAAA;AAEpC,MAAA,iBAAA,GAAoB,CAC/B,GAAA,KACmC,UAAc,IAAA;AActC,MAAA,kBAAA,GAAqB,CAChC,OAEA,KAAA,OAAA,CAAQ,SAAS,iBAAqB,IAAA,KAAA,CAAM,OAAQ,CAAA,OAAA,CAAQ,IAAI;AAErD,MAAA,cAAA,GAAiB,CAC5B,OAEA,KAAA,OAAA,CAAQ,SAAS,iBAAqB,IAAA,OAAO,QAAQ,IAAS,KAAA;AAEnD,MAAA,kBAAA,GAAqB,CAChC,MAGG,KAAA;AACH,EACE,IAAA,MAAA,CAAO,YACP,IAAA,MAAA,CAAO,cACP,IAAA,MAAA,CAAO,OACP,IAAA,MAAA,CAAO,UACP,IAAA,MAAA,CAAO,OACP,IAAA,MAAA,CAAO,IACP,EAAA;AACA,IAAO,OAAA,MAAA;AAAA,GACF,MAAA;AACL,IAAM,MAAA;AAAA,MACJ,eAAe,EAAC;AAAA,MAChB,cAAgB,EAAA,UAAA,GAAa,EAAE,MAAA,EAAQ,EAAG,EAAA;AAAA,MAC1C,UAAU,EAAC;AAAA,MACX,UAAY,EAAA,MAAA,GAAS,EAAE,MAAA,EAAQ,EAAG,EAAA;AAAA,MAClC,UAAU,EAAC;AAAA,MACX,IAAO,GAAA,EAAE,QAAU,EAAA,EAAG,EAAA;AAAA,MACtB;AAAA,KACE,GAAA,MAAA;AAEJ,IAAO,OAAA;AAAA,MACL,YAAA;AAAA,MACA,cAAgB,EAAA,UAAA;AAAA,MAChB,OAAA;AAAA,MACA,UAAY,EAAA,MAAA;AAAA,MACZ,OAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA,KACF;AAAA;AAEJ;AAKO,MAAM,wBAAwB,CACnC,GAAA,EACA,cAEA,MAAO,CAAA,OAAA,CAAQ,SAAS,CAAE,CAAA,MAAA;AAAA,EACxB,CAAC,MAAA,EAAQ,CAAC,IAAA,EAAM,KAAK,CAAO,MAAA;AAAA,IAC1B,GAAG,MAAA;AAAA,IACH,CAAC,IAAI,GAAG,GAAA,CAAI,KAAK;AAAA,GACnB,CAAA;AAAA,EACA;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var date = require('@internationalized/date');
|
|
4
|
-
|
|
5
|
-
var __typeError = (msg) => {
|
|
6
|
-
throw TypeError(msg);
|
|
7
|
-
};
|
|
8
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
9
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
10
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
11
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
12
|
-
var _hours, _minutes, _seconds;
|
|
13
|
-
function toCalendarDate(d) {
|
|
14
|
-
return new date.CalendarDate(d.getFullYear(), d.getMonth() + 1, d.getDate());
|
|
15
|
-
}
|
|
16
|
-
const zeroTime = "00:00:00";
|
|
17
|
-
const zeroTimeUnit = "00";
|
|
18
|
-
function incrementTimeUnitValue(unit, value) {
|
|
19
|
-
const num = parseInt(value);
|
|
20
|
-
if (unit === "hours" && num < 23) {
|
|
21
|
-
return `${num + 1}`.padStart(2, "0").slice(-2);
|
|
22
|
-
} else if (unit === "hours" && num === 23) {
|
|
23
|
-
return "00";
|
|
24
|
-
} else if (num < 59) {
|
|
25
|
-
return `${num + 1}`.padStart(2, "0").slice(-2);
|
|
26
|
-
} else if (num === 59) {
|
|
27
|
-
return "00";
|
|
28
|
-
}
|
|
29
|
-
return value;
|
|
30
|
-
}
|
|
31
|
-
function decrementTimeUnitValue(unit, value) {
|
|
32
|
-
const num = parseInt(value);
|
|
33
|
-
if (unit === "hours" && num > 0) {
|
|
34
|
-
return `${num - 1}`.padStart(2, "0").slice(-2);
|
|
35
|
-
} else if (unit === "hours" && num === 0) {
|
|
36
|
-
return "23";
|
|
37
|
-
} else if (num > 0) {
|
|
38
|
-
return `${num - 1}`.padStart(2, "0").slice(-2);
|
|
39
|
-
} else if (num === 0) {
|
|
40
|
-
return "59";
|
|
41
|
-
}
|
|
42
|
-
return value;
|
|
43
|
-
}
|
|
44
|
-
function updateTimeString(timeString, unit, value) {
|
|
45
|
-
const newTimeString = unit === "hours" ? value.concat(timeString.slice(2)) : unit === "minutes" ? timeString.slice(0, 3).concat(value).concat(timeString.slice(5)) : timeString.slice(0, 6).concat(value);
|
|
46
|
-
if (isValidTimeString(newTimeString)) {
|
|
47
|
-
return newTimeString;
|
|
48
|
-
} else {
|
|
49
|
-
throw Error(`[date-utils] udateTimeSting invalid result ${newTimeString}`);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
const validTimePattern = /(?:[0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/;
|
|
53
|
-
const isValidTimeString = (value) => typeof value === "string" && validTimePattern.test(value);
|
|
54
|
-
function asTimeString(value, allowUndefined = false) {
|
|
55
|
-
if (value === void 0) {
|
|
56
|
-
if (allowUndefined) {
|
|
57
|
-
return value;
|
|
58
|
-
} else {
|
|
59
|
-
throw Error("[date-utils] asTimeString, value cannot be undefined");
|
|
60
|
-
}
|
|
61
|
-
} else if (isValidTimeString(value)) {
|
|
62
|
-
return value;
|
|
63
|
-
} else if (typeof value === "number") {
|
|
64
|
-
return Time.millisToTimeString(value);
|
|
65
|
-
} else if (typeof value === "string") {
|
|
66
|
-
const valueAsInt = parseInt(value);
|
|
67
|
-
if (!isNaN(valueAsInt)) {
|
|
68
|
-
return Time.millisToTimeString(valueAsInt);
|
|
69
|
-
}
|
|
70
|
-
} else {
|
|
71
|
-
throw Error(
|
|
72
|
-
`[date-utils] asTimeString, value ${value} is not valid TimeString`
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
const padZero = (val) => `${val}`.padStart(2, "0");
|
|
77
|
-
class TimeImpl {
|
|
78
|
-
constructor(timeString) {
|
|
79
|
-
__privateAdd(this, _hours);
|
|
80
|
-
__privateAdd(this, _minutes);
|
|
81
|
-
__privateAdd(this, _seconds);
|
|
82
|
-
const [hours, minutes, seconds] = timeString.split(":");
|
|
83
|
-
__privateSet(this, _hours, parseInt(hours));
|
|
84
|
-
__privateSet(this, _minutes, parseInt(minutes));
|
|
85
|
-
__privateSet(this, _seconds, parseInt(seconds));
|
|
86
|
-
}
|
|
87
|
-
get hours() {
|
|
88
|
-
return __privateGet(this, _hours);
|
|
89
|
-
}
|
|
90
|
-
get minutes() {
|
|
91
|
-
return __privateGet(this, _minutes);
|
|
92
|
-
}
|
|
93
|
-
get seconds() {
|
|
94
|
-
return __privateGet(this, _seconds);
|
|
95
|
-
}
|
|
96
|
-
asDate(date) {
|
|
97
|
-
const dt = date === void 0 ? /* @__PURE__ */ new Date() : typeof date === "string" ? new Date(date) : date;
|
|
98
|
-
dt.setHours(__privateGet(this, _hours));
|
|
99
|
-
dt.setMinutes(__privateGet(this, _minutes));
|
|
100
|
-
dt.setSeconds(this.seconds);
|
|
101
|
-
dt.setMilliseconds(0);
|
|
102
|
-
return dt;
|
|
103
|
-
}
|
|
104
|
-
toString() {
|
|
105
|
-
return Time.toString(__privateGet(this, _hours), __privateGet(this, _minutes), __privateGet(this, _seconds));
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
_hours = new WeakMap();
|
|
109
|
-
_minutes = new WeakMap();
|
|
110
|
-
_seconds = new WeakMap();
|
|
111
|
-
const Time = (timeString) => new TimeImpl(timeString);
|
|
112
|
-
Time.millisToTimeString = (timestamp) => new Date(timestamp).toTimeString().slice(0, 8);
|
|
113
|
-
Time.toString = (hours, minutes, seconds) => {
|
|
114
|
-
return `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}`;
|
|
115
|
-
};
|
|
116
|
-
Time.isDateInMillis = (dtInMillis) => {
|
|
117
|
-
const n = typeof dtInMillis === "number" ? dtInMillis : Number(dtInMillis);
|
|
118
|
-
if (!Number.isFinite(n) || !Number.isInteger(n)) return false;
|
|
119
|
-
return new Date(n).getTime() === n;
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
exports.Time = Time;
|
|
123
|
-
exports.asTimeString = asTimeString;
|
|
124
|
-
exports.decrementTimeUnitValue = decrementTimeUnitValue;
|
|
125
|
-
exports.incrementTimeUnitValue = incrementTimeUnitValue;
|
|
126
|
-
exports.isValidTimeString = isValidTimeString;
|
|
127
|
-
exports.toCalendarDate = toCalendarDate;
|
|
128
|
-
exports.updateTimeString = updateTimeString;
|
|
129
|
-
exports.zeroTime = zeroTime;
|
|
130
|
-
exports.zeroTimeUnit = zeroTimeUnit;
|
|
131
|
-
//# sourceMappingURL=date-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-utils.js","sources":["../../../../../../../packages/vuu-utils/src/date/date-utils.ts"],"sourcesContent":["import { CalendarDate } from \"@internationalized/date\";\n\nexport function toCalendarDate(d: Date) {\n return new CalendarDate(d.getFullYear(), d.getMonth() + 1, d.getDate());\n}\n\nexport type oneToFive = 1 | 2 | 3 | 4 | 5;\nexport type zeroToFive = 0 | oneToFive;\nexport type sixToNine = 6 | 7 | 8 | 9;\nexport type zeroToNine = zeroToFive | sixToNine;\nexport type oneToNine = oneToFive | sixToNine;\nexport type TimeUnit = \"hours\" | \"minutes\" | \"seconds\";\nexport type Hours = `${0 | 1}${zeroToNine}` | `2${0 | 1 | 2 | 3}`;\nexport type Minutes = `${zeroToFive}${zeroToNine}`;\nexport type Seconds = `${zeroToFive}${zeroToNine}`;\n\nexport type TimeUnitValue<T extends TimeUnit> = T extends \"hours\"\n ? Hours\n : T extends \"minutes\"\n ? Minutes\n : Seconds;\n\n// This should work, works fine in TypeScript playground, but hangs tsc\n// export type TimeString = `${Hours}:${Minutes}:${Seconds}`;\nexport type TimeString =\n `${number}${number}:${number}${number}:${number}${number}`;\n\ntype YYYY = `19${zeroToNine}${zeroToNine}` | `20${zeroToNine}${zeroToNine}`;\ntype MM = `0${oneToNine}` | `1${0 | 1 | 2}`;\ntype DD = `${0}${oneToNine}` | `${1 | 2}${zeroToNine}` | `3${0 | 1}`;\n\nexport type DateStringISO = `${YYYY}-${MM}-${DD}`;\n\nexport const zeroTime: TimeString = \"00:00:00\";\nexport const zeroTimeUnit: TimeUnitValue<TimeUnit> = \"00\";\n\nexport function incrementTimeUnitValue<T extends TimeUnit>(\n unit: T,\n value: TimeUnitValue<T>,\n) {\n const num = parseInt(value);\n if (unit === \"hours\" && num < 23) {\n return `${num + 1}`.padStart(2, \"0\").slice(-2) as Hours;\n } else if (unit === \"hours\" && num === 23) {\n return \"00\" as Hours;\n } else if (num < 59) {\n return `${num + 1}`.padStart(2, \"0\").slice(-2) as TimeUnitValue<T>;\n } else if (num === 59) {\n return \"00\" as TimeUnitValue<T>;\n }\n return value;\n}\n\nexport function decrementTimeUnitValue<T extends TimeUnit>(\n unit: T,\n value: TimeUnitValue<T>,\n) {\n const num = parseInt(value);\n if (unit === \"hours\" && num > 0) {\n return `${num - 1}`.padStart(2, \"0\").slice(-2) as Hours;\n } else if (unit === \"hours\" && num === 0) {\n return \"23\" as Hours;\n } else if (num > 0) {\n return `${num - 1}`.padStart(2, \"0\").slice(-2) as TimeUnitValue<T>;\n } else if (num === 0) {\n return \"59\" as TimeUnitValue<T>;\n }\n return value;\n}\n\n// TODO accept numeric values with appropriate type checks\nexport function updateTimeString<T extends TimeUnit>(\n timeString: TimeString,\n unit: T,\n value: TimeUnitValue<T>,\n): TimeString {\n const newTimeString =\n unit === \"hours\"\n ? value.concat(timeString.slice(2))\n : unit === \"minutes\"\n ? timeString.slice(0, 3).concat(value).concat(timeString.slice(5))\n : timeString.slice(0, 6).concat(value);\n if (isValidTimeString(newTimeString)) {\n return newTimeString;\n } else {\n throw Error(`[date-utils] udateTimeSting invalid result ${newTimeString}`);\n }\n}\n\nconst validTimePattern = /(?:[0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/;\nexport const isValidTimeString = (value: unknown): value is TimeString =>\n typeof value === \"string\" && validTimePattern.test(value);\n\nexport function asTimeString(value: unknown, allowUndefined: false): TimeString;\nexport function asTimeString(\n value: unknown,\n allowUndefined?: true,\n): TimeString | undefined;\nexport function asTimeString(\n value: unknown,\n allowUndefined = false,\n): TimeString | undefined {\n if (value === undefined) {\n if (allowUndefined) {\n return value;\n } else {\n throw Error(\"[date-utils] asTimeString, value cannot be undefined\");\n }\n } else if (isValidTimeString(value)) {\n return value;\n } else if (typeof value === \"number\") {\n // we are assuming we have a value representing milliseconds since epoch.\n // If not, we will get an unpredictable time here. Is this too risky ?\n return Time.millisToTimeString(value);\n } else if (typeof value === \"string\") {\n // see if we have a long value, test if we can create time\n const valueAsInt = parseInt(value);\n if (!isNaN(valueAsInt)) {\n return Time.millisToTimeString(valueAsInt);\n }\n } else {\n throw Error(\n `[date-utils] asTimeString, value ${value} is not valid TimeString`,\n );\n }\n}\n\nexport interface Time {\n hours: number;\n minutes: number;\n seconds: number;\n asDate: (date?: Date | DateStringISO) => Date;\n}\n\nconst padZero = (val: number) => `${val}`.padStart(2, \"0\");\n\nclass TimeImpl implements Time {\n #hours: number;\n #minutes: number;\n #seconds: number;\n\n constructor(timeString: TimeString) {\n const [hours, minutes, seconds] = timeString.split(\":\");\n this.#hours = parseInt(hours);\n this.#minutes = parseInt(minutes);\n this.#seconds = parseInt(seconds);\n }\n\n get hours() {\n return this.#hours;\n }\n get minutes() {\n return this.#minutes;\n }\n get seconds() {\n return this.#seconds;\n }\n\n asDate(date?: Date | DateStringISO) {\n const dt =\n date === undefined\n ? new Date()\n : typeof date === \"string\"\n ? new Date(date)\n : date;\n\n dt.setHours(this.#hours);\n dt.setMinutes(this.#minutes);\n dt.setSeconds(this.seconds);\n dt.setMilliseconds(0);\n return dt;\n }\n\n toString() {\n return Time.toString(this.#hours, this.#minutes, this.#seconds);\n }\n}\n\nexport const Time = (timeString: TimeString): Time =>\n new TimeImpl(timeString) as Time;\n\nTime.millisToTimeString = (timestamp: number) =>\n new Date(timestamp).toTimeString().slice(0, 8) as TimeString;\n\nTime.toString = (hours: number, minutes: number, seconds: number) => {\n return `${padZero(hours)}:${padZero(minutes)}:${padZero(seconds)}` as TimeString;\n};\n\nTime.isDateInMillis = (dtInMillis: string | number): boolean => {\n const n =\n typeof dtInMillis === \"number\" ? dtInMillis : Number(dtInMillis);\n if (!Number.isFinite(n) || !Number.isInteger(n)) return false;\n\n return new Date(n).getTime() === n;\n};\n"],"names":["CalendarDate"],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var columnUtils = require('../column-utils.js');
|
|
4
|
-
var types = require('./types.js');
|
|
5
|
-
|
|
6
|
-
const defaultPatternsByType = {
|
|
7
|
-
time: "hh:mm:ss",
|
|
8
|
-
date: "dd.mm.yyyy"
|
|
9
|
-
};
|
|
10
|
-
const fallbackDateTimePattern = {
|
|
11
|
-
date: defaultPatternsByType["date"],
|
|
12
|
-
time: defaultPatternsByType["time"]
|
|
13
|
-
};
|
|
14
|
-
function dateTimePattern(type) {
|
|
15
|
-
if (columnUtils.isTypeDescriptor(type)) {
|
|
16
|
-
if (type.formatting && types.isDateTimePattern(type.formatting.pattern)) {
|
|
17
|
-
return type.formatting.pattern;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return fallbackDateTimePattern;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
exports.dateTimePattern = dateTimePattern;
|
|
24
|
-
exports.defaultPatternsByType = defaultPatternsByType;
|
|
25
|
-
exports.fallbackDateTimePattern = fallbackDateTimePattern;
|
|
26
|
-
//# sourceMappingURL=dateTimePattern.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dateTimePattern.js","sources":["../../../../../../../packages/vuu-utils/src/date/dateTimePattern.ts"],"sourcesContent":["import { DateTimeDataValueDescriptor } from \"@vuu-ui/vuu-data-types\";\nimport { isTypeDescriptor } from \"../column-utils\";\nimport { DateTimePattern, isDateTimePattern } from \"./types\";\n\nexport const defaultPatternsByType = {\n time: \"hh:mm:ss\",\n date: \"dd.mm.yyyy\",\n} as const;\n\nexport const fallbackDateTimePattern: DateTimePattern = {\n date: defaultPatternsByType[\"date\"],\n time: defaultPatternsByType[\"time\"],\n};\n\nexport function dateTimePattern(\n type: DateTimeDataValueDescriptor[\"type\"],\n): DateTimePattern {\n if (isTypeDescriptor(type)) {\n if (type.formatting && isDateTimePattern(type.formatting.pattern)) {\n return type.formatting.pattern;\n }\n }\n\n return fallbackDateTimePattern;\n}\n"],"names":["isTypeDescriptor","isDateTimePattern"],"mappings":";;;;;AAIO,MAAM,qBAAwB,GAAA;AAAA,EACnC,IAAM,EAAA,UAAA;AAAA,EACN,IAAM,EAAA;AACR;AAEO,MAAM,uBAA2C,GAAA;AAAA,EACtD,IAAA,EAAM,sBAAsB,MAAM,CAAA;AAAA,EAClC,IAAA,EAAM,sBAAsB,MAAM;AACpC;AAEO,SAAS,gBACd,IACiB,EAAA;AACjB,EAAI,IAAAA,4BAAA,CAAiB,IAAI,CAAG,EAAA;AAC1B,IAAA,IAAI,KAAK,UAAc,IAAAC,uBAAA,CAAkB,IAAK,CAAA,UAAA,CAAW,OAAO,CAAG,EAAA;AACjE,MAAA,OAAO,KAAK,UAAW,CAAA,OAAA;AAAA;AACzB;AAGF,EAAO,OAAA,uBAAA;AACT;;;;;;"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var date = require('@internationalized/date');
|
|
4
|
-
|
|
5
|
-
const baseTimeFormatOptions = {
|
|
6
|
-
hour: "2-digit",
|
|
7
|
-
minute: "2-digit",
|
|
8
|
-
second: "2-digit"
|
|
9
|
-
};
|
|
10
|
-
const formatConfigByTimePatterns = {
|
|
11
|
-
"hh:mm:ss": {
|
|
12
|
-
locale: "en-GB",
|
|
13
|
-
options: { ...baseTimeFormatOptions, hour12: false }
|
|
14
|
-
},
|
|
15
|
-
"hh:mm:ss a": {
|
|
16
|
-
locale: "en-GB",
|
|
17
|
-
options: { ...baseTimeFormatOptions, hour12: true }
|
|
18
|
-
},
|
|
19
|
-
"hh:mm:ss.ms": {
|
|
20
|
-
locale: "en-GB",
|
|
21
|
-
options: {
|
|
22
|
-
...baseTimeFormatOptions,
|
|
23
|
-
hour12: false,
|
|
24
|
-
fractionalSecondDigits: 3
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const baseDateFormatOptions = {
|
|
29
|
-
day: "2-digit",
|
|
30
|
-
month: "2-digit",
|
|
31
|
-
year: "numeric"
|
|
32
|
-
};
|
|
33
|
-
const formatConfigByDatePatterns = {
|
|
34
|
-
"dd.mm.yyyy": {
|
|
35
|
-
locale: "de-De",
|
|
36
|
-
options: { ...baseDateFormatOptions }
|
|
37
|
-
},
|
|
38
|
-
"dd/mm/yyyy": { locale: "en-GB", options: { ...baseDateFormatOptions } },
|
|
39
|
-
"dd MMM yyyy": {
|
|
40
|
-
locale: "en-GB",
|
|
41
|
-
options: { ...baseDateFormatOptions, month: "short" }
|
|
42
|
-
},
|
|
43
|
-
"dd MMMM yyyy": {
|
|
44
|
-
locale: "en-GB",
|
|
45
|
-
options: { ...baseDateFormatOptions, month: "long" }
|
|
46
|
-
},
|
|
47
|
-
"mm/dd/yyyy": { locale: "en-US", options: { ...baseDateFormatOptions } },
|
|
48
|
-
"MMM dd, yyyy": {
|
|
49
|
-
locale: "en-US",
|
|
50
|
-
options: { ...baseDateFormatOptions, month: "short" }
|
|
51
|
-
},
|
|
52
|
-
"MMMM dd, yyyy": {
|
|
53
|
-
locale: "en-US",
|
|
54
|
-
options: { ...baseDateFormatOptions, month: "long" }
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
const dateFormatterISO = {
|
|
58
|
-
format: (date) => new Date(+date - date.getTimezoneOffset() * 6e4).toISOString().replace(/T.*/, "")
|
|
59
|
-
};
|
|
60
|
-
function getDateFormatter({ locale, options }) {
|
|
61
|
-
return new date.DateFormatter(locale, options);
|
|
62
|
-
}
|
|
63
|
-
function getDateAndTimeFormatters({ date, time }) {
|
|
64
|
-
const out = [];
|
|
65
|
-
if (date === "yyyy-mm-dd") {
|
|
66
|
-
out.push(dateFormatterISO);
|
|
67
|
-
} else if (date) {
|
|
68
|
-
out.push(getDateFormatter(formatConfigByDatePatterns[date]));
|
|
69
|
-
}
|
|
70
|
-
if (time) {
|
|
71
|
-
out.push(getDateFormatter(formatConfigByTimePatterns[time]));
|
|
72
|
-
}
|
|
73
|
-
return out;
|
|
74
|
-
}
|
|
75
|
-
function formatDate(pattern) {
|
|
76
|
-
const formatters = getDateAndTimeFormatters(pattern);
|
|
77
|
-
return (d) => formatters.map((f) => f.format(d)).join(" ");
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
exports.formatDate = formatDate;
|
|
81
|
-
exports.getDateFormatter = getDateFormatter;
|
|
82
|
-
//# sourceMappingURL=formatter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sources":["../../../../../../../packages/vuu-utils/src/date/formatter.ts"],"sourcesContent":["import { DateFormatter } from \"@internationalized/date\";\nimport { DatePattern, DateTimePattern, TimePattern } from \"./types\";\n\ntype DateTimeFormatConfig = {\n locale: string;\n options: Intl.DateTimeFormatOptions;\n};\n\n// Time format config\nconst baseTimeFormatOptions: Intl.DateTimeFormatOptions = {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n};\nconst formatConfigByTimePatterns: Record<TimePattern, DateTimeFormatConfig> = {\n \"hh:mm:ss\": {\n locale: \"en-GB\",\n options: { ...baseTimeFormatOptions, hour12: false },\n },\n \"hh:mm:ss a\": {\n locale: \"en-GB\",\n options: { ...baseTimeFormatOptions, hour12: true },\n },\n \"hh:mm:ss.ms\": {\n locale: \"en-GB\",\n options: {\n ...baseTimeFormatOptions,\n hour12: false,\n fractionalSecondDigits: 3,\n },\n },\n};\n\n// Date format config\nconst baseDateFormatOptions: Intl.DateTimeFormatOptions = {\n day: \"2-digit\",\n month: \"2-digit\",\n year: \"numeric\",\n};\nconst formatConfigByDatePatterns: Record<\n Exclude<DatePattern, \"yyyy-mm-dd\">,\n DateTimeFormatConfig\n> = {\n \"dd.mm.yyyy\": {\n locale: \"de-De\",\n options: { ...baseDateFormatOptions },\n },\n \"dd/mm/yyyy\": { locale: \"en-GB\", options: { ...baseDateFormatOptions } },\n \"dd MMM yyyy\": {\n locale: \"en-GB\",\n options: { ...baseDateFormatOptions, month: \"short\" },\n },\n \"dd MMMM yyyy\": {\n locale: \"en-GB\",\n options: { ...baseDateFormatOptions, month: \"long\" },\n },\n \"mm/dd/yyyy\": { locale: \"en-US\", options: { ...baseDateFormatOptions } },\n \"MMM dd, yyyy\": {\n locale: \"en-US\",\n options: { ...baseDateFormatOptions, month: \"short\" },\n },\n \"MMMM dd, yyyy\": {\n locale: \"en-US\",\n options: { ...baseDateFormatOptions, month: \"long\" },\n },\n};\n\nconst dateFormatterISO = {\n format: (date: Date) =>\n new Date(+date - date.getTimezoneOffset() * 60_000)\n .toISOString()\n .replace(/T.*/, \"\"),\n};\n\nexport function getDateFormatter({ locale, options }: DateTimeFormatConfig) {\n return new DateFormatter(locale, options);\n}\n\nfunction getDateAndTimeFormatters({ date, time }: DateTimePattern) {\n const out = [];\n if (date === \"yyyy-mm-dd\") {\n out.push(dateFormatterISO);\n } else if (date) {\n out.push(getDateFormatter(formatConfigByDatePatterns[date]));\n }\n if (time) {\n out.push(getDateFormatter(formatConfigByTimePatterns[time]));\n }\n return out;\n}\n\nexport function formatDate(pattern: DateTimePattern): (d: Date) => string {\n const formatters = getDateAndTimeFormatters(pattern);\n return (d) => formatters.map((f) => f.format(d)).join(\" \");\n}\n"],"names":["DateFormatter"],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const supportedDatePatterns = [
|
|
4
|
-
"yyyy-mm-dd",
|
|
5
|
-
"dd.mm.yyyy",
|
|
6
|
-
"dd/mm/yyyy",
|
|
7
|
-
"dd MMM yyyy",
|
|
8
|
-
"dd MMMM yyyy",
|
|
9
|
-
"mm/dd/yyyy",
|
|
10
|
-
"MMM dd, yyyy",
|
|
11
|
-
"MMMM dd, yyyy"
|
|
12
|
-
];
|
|
13
|
-
const supportedTimePatterns = [
|
|
14
|
-
"hh:mm:ss",
|
|
15
|
-
"hh:mm:ss a",
|
|
16
|
-
"hh:mm:ss.ms"
|
|
17
|
-
];
|
|
18
|
-
const supportedDateTimePatterns = {
|
|
19
|
-
date: supportedDatePatterns,
|
|
20
|
-
time: supportedTimePatterns
|
|
21
|
-
};
|
|
22
|
-
const dateTimeLabelByType = { date: "Date", time: "Time" };
|
|
23
|
-
const isDatePattern = (pattern) => supportedDatePatterns.includes(pattern);
|
|
24
|
-
const isTimePattern = (pattern) => supportedTimePatterns.includes(pattern);
|
|
25
|
-
const isDateTimePattern = (pattern) => isDatePattern(pattern?.date) || isTimePattern(pattern?.time);
|
|
26
|
-
|
|
27
|
-
exports.dateTimeLabelByType = dateTimeLabelByType;
|
|
28
|
-
exports.isDatePattern = isDatePattern;
|
|
29
|
-
exports.isDateTimePattern = isDateTimePattern;
|
|
30
|
-
exports.isTimePattern = isTimePattern;
|
|
31
|
-
exports.supportedDateTimePatterns = supportedDateTimePatterns;
|
|
32
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../../../../packages/vuu-utils/src/date/types.ts"],"sourcesContent":["import { ColumnTypeFormatting } from \"@vuu-ui/vuu-table-types\";\n\n/**\n * In the code below we distinguish between an ISO date pattern (yyyy-mm-dd) and\n * other supported date patterns because the ISO format is not supported by the\n * Intl dateFormatting function\n */\nconst supportedDatePatterns = [\n \"yyyy-mm-dd\",\n \"dd.mm.yyyy\",\n \"dd/mm/yyyy\",\n \"dd MMM yyyy\",\n \"dd MMMM yyyy\",\n \"mm/dd/yyyy\",\n \"MMM dd, yyyy\",\n \"MMMM dd, yyyy\",\n] as const;\n\nconst supportedTimePatterns = [\n \"hh:mm:ss\",\n \"hh:mm:ss a\",\n \"hh:mm:ss.ms\",\n] as const;\n\nexport const supportedDateTimePatterns = {\n date: supportedDatePatterns,\n time: supportedTimePatterns,\n};\nexport const dateTimeLabelByType = { date: \"Date\", time: \"Time\" } as const;\n\nexport type DatePattern = (typeof supportedDatePatterns)[number];\nexport type TimePattern = (typeof supportedTimePatterns)[number];\n\nexport type DateTimePattern =\n | { date?: DatePattern; time: TimePattern }\n | { date: DatePattern; time?: TimePattern };\n\nexport const isDatePattern = (pattern?: string): pattern is DatePattern =>\n supportedDatePatterns.includes(pattern as DatePattern);\n\nexport const isTimePattern = (pattern?: string): pattern is TimePattern =>\n supportedTimePatterns.includes(pattern as TimePattern);\n\nexport const isDateTimePattern = (\n pattern?: ColumnTypeFormatting[\"pattern\"],\n): pattern is DateTimePattern =>\n isDatePattern(pattern?.date) || isTimePattern(pattern?.time);\n"],"names":[],"mappings":";;AAOA,MAAM,qBAAwB,GAAA;AAAA,EAC5B,YAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA;AAEA,MAAM,qBAAwB,GAAA;AAAA,EAC5B,UAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA;AAEO,MAAM,yBAA4B,GAAA;AAAA,EACvC,IAAM,EAAA,qBAAA;AAAA,EACN,IAAM,EAAA;AACR;AACO,MAAM,mBAAsB,GAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,MAAM,MAAO;AASzD,MAAM,aAAgB,GAAA,CAAC,OAC5B,KAAA,qBAAA,CAAsB,SAAS,OAAsB;AAEhD,MAAM,aAAgB,GAAA,CAAC,OAC5B,KAAA,qBAAA,CAAsB,SAAS,OAAsB;AAE1C,MAAA,iBAAA,GAAoB,CAC/B,OAEA,KAAA,aAAA,CAAc,SAAS,IAAI,CAAA,IAAK,aAAc,CAAA,OAAA,EAAS,IAAI;;;;;;;;"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var loggingUtils = require('./logging-utils.js');
|
|
4
|
-
|
|
5
|
-
var __defProp = Object.defineProperty;
|
|
6
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
8
|
-
const { debug, debugEnabled } = loggingUtils.logger("range-monitor");
|
|
9
|
-
class RangeMonitor {
|
|
10
|
-
constructor(source) {
|
|
11
|
-
this.source = source;
|
|
12
|
-
__publicField(this, "range", { from: 0, to: 0 });
|
|
13
|
-
__publicField(this, "timestamp", 0);
|
|
14
|
-
}
|
|
15
|
-
isSet() {
|
|
16
|
-
return this.timestamp !== 0;
|
|
17
|
-
}
|
|
18
|
-
set({ from, to }) {
|
|
19
|
-
const { timestamp } = this;
|
|
20
|
-
this.range.from = from;
|
|
21
|
-
this.range.to = to;
|
|
22
|
-
this.timestamp = performance.now();
|
|
23
|
-
if (timestamp) {
|
|
24
|
-
debugEnabled && debug(
|
|
25
|
-
`<${this.source}> [${from}-${to}], ${(this.timestamp - timestamp).toFixed(0)} ms elapsed`
|
|
26
|
-
);
|
|
27
|
-
} else {
|
|
28
|
-
return 0;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
exports.RangeMonitor = RangeMonitor;
|
|
34
|
-
//# sourceMappingURL=debug-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-utils.js","sources":["../../../../../../packages/vuu-utils/src/debug-utils.ts"],"sourcesContent":["import { VuuRange } from \"@vuu-ui/vuu-protocol-types\";\nimport { logger } from \"./logging-utils\";\n\nconst { debug, debugEnabled } = logger(\"range-monitor\");\n\nexport class RangeMonitor {\n public range: VuuRange = { from: 0, to: 0 };\n public timestamp = 0;\n\n constructor(private source: string) {}\n\n isSet() {\n return this.timestamp !== 0;\n }\n set({ from, to }: VuuRange) {\n const { timestamp } = this;\n this.range.from = from;\n this.range.to = to;\n this.timestamp = performance.now();\n if (timestamp) {\n debugEnabled &&\n debug(\n `<${this.source}> [${from}-${to}], ${(\n this.timestamp - timestamp\n ).toFixed(0)} ms elapsed`,\n );\n } else {\n return 0;\n }\n }\n}\n"],"names":["logger"],"mappings":";;;;;;;AAGA,MAAM,EAAE,KAAA,EAAO,YAAa,EAAA,GAAIA,oBAAO,eAAe,CAAA;AAE/C,MAAM,YAAa,CAAA;AAAA,EAIxB,YAAoB,MAAgB,EAAA;AAAhB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAHpB,IAAA,aAAA,CAAA,IAAA,EAAO,OAAkB,EAAA,EAAE,IAAM,EAAA,CAAA,EAAG,IAAI,CAAE,EAAA,CAAA;AAC1C,IAAA,aAAA,CAAA,IAAA,EAAO,WAAY,EAAA,CAAA,CAAA;AAAA;AAEkB,EAErC,KAAQ,GAAA;AACN,IAAA,OAAO,KAAK,SAAc,KAAA,CAAA;AAAA;AAC5B,EACA,GAAI,CAAA,EAAE,IAAM,EAAA,EAAA,EAAgB,EAAA;AAC1B,IAAM,MAAA,EAAE,WAAc,GAAA,IAAA;AACtB,IAAA,IAAA,CAAK,MAAM,IAAO,GAAA,IAAA;AAClB,IAAA,IAAA,CAAK,MAAM,EAAK,GAAA,EAAA;AAChB,IAAK,IAAA,CAAA,SAAA,GAAY,YAAY,GAAI,EAAA;AACjC,IAAA,IAAI,SAAW,EAAA;AACb,MACE,YAAA,IAAA,KAAA;AAAA,QACE,CAAI,CAAA,EAAA,IAAA,CAAK,MAAM,CAAA,GAAA,EAAM,IAAI,CAAA,CAAA,EAAI,EAAE,CAAA,GAAA,EAAA,CAC7B,IAAK,CAAA,SAAA,GAAY,SACjB,EAAA,OAAA,CAAQ,CAAC,CAAC,CAAA,WAAA;AAAA,OACd;AAAA,KACG,MAAA;AACL,MAAO,OAAA,CAAA;AAAA;AACT;AAEJ;;;;"}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var __typeError = (msg) => {
|
|
4
|
-
throw TypeError(msg);
|
|
5
|
-
};
|
|
6
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
7
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
8
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
9
|
-
var _events;
|
|
10
|
-
function isArrayOfListeners(listeners) {
|
|
11
|
-
return Array.isArray(listeners);
|
|
12
|
-
}
|
|
13
|
-
function isOnlyListener(listeners) {
|
|
14
|
-
return !Array.isArray(listeners);
|
|
15
|
-
}
|
|
16
|
-
class EventEmitter {
|
|
17
|
-
constructor() {
|
|
18
|
-
__privateAdd(this, _events, /* @__PURE__ */ new Map());
|
|
19
|
-
}
|
|
20
|
-
addListener(event, listener) {
|
|
21
|
-
const listeners = __privateGet(this, _events).get(event);
|
|
22
|
-
if (!listeners) {
|
|
23
|
-
__privateGet(this, _events).set(event, listener);
|
|
24
|
-
} else if (isArrayOfListeners(listeners)) {
|
|
25
|
-
listeners.push(listener);
|
|
26
|
-
} else if (isOnlyListener(listeners)) {
|
|
27
|
-
__privateGet(this, _events).set(event, [listeners, listener]);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
removeListener(event, listener) {
|
|
31
|
-
if (!__privateGet(this, _events).has(event)) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
const listenerOrListeners = __privateGet(this, _events).get(event);
|
|
35
|
-
let position = -1;
|
|
36
|
-
if (listenerOrListeners === listener) {
|
|
37
|
-
__privateGet(this, _events).delete(event);
|
|
38
|
-
} else if (Array.isArray(listenerOrListeners)) {
|
|
39
|
-
for (let i = listenerOrListeners.length; i-- > 0; ) {
|
|
40
|
-
if (listenerOrListeners[i] === listener) {
|
|
41
|
-
position = i;
|
|
42
|
-
break;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
if (position < 0) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (listenerOrListeners.length === 1) {
|
|
49
|
-
listenerOrListeners.length = 0;
|
|
50
|
-
__privateGet(this, _events).delete(event);
|
|
51
|
-
} else {
|
|
52
|
-
listenerOrListeners.splice(position, 1);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
removeAllListeners(event) {
|
|
57
|
-
if (event && __privateGet(this, _events).has(event)) {
|
|
58
|
-
__privateGet(this, _events).delete(event);
|
|
59
|
-
} else if (event === void 0) {
|
|
60
|
-
__privateGet(this, _events).clear();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
emit(event, ...args) {
|
|
64
|
-
if (__privateGet(this, _events)) {
|
|
65
|
-
const handler = __privateGet(this, _events).get(event);
|
|
66
|
-
if (handler) {
|
|
67
|
-
this.invokeHandler(handler, args);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
once(event, listener) {
|
|
72
|
-
const handler = ((...args) => {
|
|
73
|
-
this.removeListener(event, handler);
|
|
74
|
-
listener(...args);
|
|
75
|
-
});
|
|
76
|
-
this.on(event, handler);
|
|
77
|
-
}
|
|
78
|
-
on(event, listener) {
|
|
79
|
-
this.addListener(event, listener);
|
|
80
|
-
}
|
|
81
|
-
hasListener(event, listener) {
|
|
82
|
-
const listeners = __privateGet(this, _events).get(event);
|
|
83
|
-
if (Array.isArray(listeners)) {
|
|
84
|
-
return listeners.includes(listener);
|
|
85
|
-
} else {
|
|
86
|
-
return listeners === listener;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
invokeHandler(handler, args) {
|
|
90
|
-
if (isArrayOfListeners(handler)) {
|
|
91
|
-
handler.slice().forEach((listener) => this.invokeHandler(listener, args));
|
|
92
|
-
} else {
|
|
93
|
-
switch (args.length) {
|
|
94
|
-
case 0:
|
|
95
|
-
handler();
|
|
96
|
-
break;
|
|
97
|
-
case 1:
|
|
98
|
-
handler(args[0]);
|
|
99
|
-
break;
|
|
100
|
-
case 2:
|
|
101
|
-
handler(args[0], args[1]);
|
|
102
|
-
break;
|
|
103
|
-
// slower
|
|
104
|
-
default:
|
|
105
|
-
handler.call(null, ...args);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
_events = new WeakMap();
|
|
111
|
-
|
|
112
|
-
exports.EventEmitter = EventEmitter;
|
|
113
|
-
//# sourceMappingURL=event-emitter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-emitter.js","sources":["../../../../../../packages/vuu-utils/src/event-emitter.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Listener = (...args: any[]) => void;\nexport type EmittedEvents = Record<string, Listener>;\n\nfunction isArrayOfListeners(\n listeners: EventListener | EventListener[],\n): listeners is EventListener[] {\n return Array.isArray(listeners);\n}\n\nfunction isOnlyListener(\n listeners: EventListener | EventListener[],\n): listeners is EventListener {\n return !Array.isArray(listeners);\n}\n\nexport interface IEventEmitter<Events extends EmittedEvents> {\n addListener<E extends keyof Events>(event: E, listener: Events[E]): void;\n emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>): void;\n on<E extends keyof Events>(event: E, listener: Events[E]): void;\n removeListener<E extends keyof Events>(event: E, listener: Events[E]): void;\n removeAllListeners<E extends keyof Events>(event?: E): void;\n}\n\nexport class EventEmitter<Events extends EmittedEvents>\n implements IEventEmitter<Events>\n{\n #events: Map<keyof Events, Listener | Listener[]> = new Map();\n\n addListener<E extends keyof Events>(event: E, listener: Events[E]) {\n const listeners = this.#events.get(event);\n\n if (!listeners) {\n this.#events.set(event, listener);\n } else if (isArrayOfListeners(listeners)) {\n listeners.push(listener);\n } else if (isOnlyListener(listeners)) {\n this.#events.set(event, [listeners, listener]);\n }\n }\n\n removeListener<E extends keyof Events>(event: E, listener: Events[E]) {\n if (!this.#events.has(event)) {\n return;\n }\n\n const listenerOrListeners = this.#events.get(event);\n let position = -1;\n\n if (listenerOrListeners === listener) {\n this.#events.delete(event);\n } else if (Array.isArray(listenerOrListeners)) {\n for (let i = listenerOrListeners.length; i-- > 0; ) {\n if (listenerOrListeners[i] === listener) {\n position = i;\n break;\n }\n }\n\n if (position < 0) {\n return;\n }\n\n if (listenerOrListeners.length === 1) {\n listenerOrListeners.length = 0;\n this.#events.delete(event);\n } else {\n listenerOrListeners.splice(position, 1);\n }\n }\n }\n\n removeAllListeners<E extends keyof Events>(event?: E) {\n if (event && this.#events.has(event)) {\n this.#events.delete(event);\n } else if (event === undefined) {\n this.#events.clear();\n }\n }\n\n emit<E extends keyof Events>(event: E, ...args: Parameters<Events[E]>) {\n if (this.#events) {\n const handler = this.#events.get(event);\n if (handler) {\n this.invokeHandler(handler, args);\n }\n }\n }\n\n once<E extends keyof Events>(event: E, listener: Events[E]) {\n const handler = ((...args) => {\n this.removeListener(event, handler);\n listener(...args);\n }) as Events[E];\n\n this.on(event, handler);\n }\n\n on<E extends keyof Events>(event: E, listener: Events[E]) {\n this.addListener(event, listener);\n }\n\n hasListener<E extends keyof Events>(event: E, listener: Events[E]) {\n const listeners = this.#events.get(event);\n if (Array.isArray(listeners)) {\n return listeners.includes(listener);\n } else {\n return listeners === listener;\n }\n }\n\n private invokeHandler(handler: Listener | Array<Listener>, args: unknown[]) {\n if (isArrayOfListeners(handler)) {\n handler.slice().forEach((listener) => this.invokeHandler(listener, args));\n } else {\n switch (args.length) {\n case 0:\n handler();\n break;\n case 1:\n handler(args[0]);\n break;\n case 2:\n handler(args[0], args[1]);\n break;\n // slower\n default:\n handler.call(null, ...args);\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
|