@visactor/vgrammar-core 0.7.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 +160 -0
- package/README.zh-CN.md +11 -0
- package/cjs/component/axis.d.ts +26 -0
- package/cjs/component/axis.js +164 -0
- package/cjs/component/axis.js.map +1 -0
- package/cjs/component/crosshair.d.ts +50 -0
- package/cjs/component/crosshair.js +281 -0
- package/cjs/component/crosshair.js.map +1 -0
- package/cjs/component/datazoom.d.ts +19 -0
- package/cjs/component/datazoom.js +166 -0
- package/cjs/component/datazoom.js.map +1 -0
- package/cjs/component/grid.d.ts +27 -0
- package/cjs/component/grid.js +190 -0
- package/cjs/component/grid.js.map +1 -0
- package/cjs/component/index.d.ts +11 -0
- package/cjs/component/index.js +105 -0
- package/cjs/component/index.js.map +1 -0
- package/cjs/component/label.d.ts +19 -0
- package/cjs/component/label.js +121 -0
- package/cjs/component/label.js.map +1 -0
- package/cjs/component/legend.d.ts +26 -0
- package/cjs/component/legend.js +170 -0
- package/cjs/component/legend.js.map +1 -0
- package/cjs/component/player.d.ts +25 -0
- package/cjs/component/player.js +138 -0
- package/cjs/component/player.js.map +1 -0
- package/cjs/component/scale.d.ts +8 -0
- package/cjs/component/scale.js +25 -0
- package/cjs/component/scale.js.map +1 -0
- package/cjs/component/scrollbar.d.ts +23 -0
- package/cjs/component/scrollbar.js +187 -0
- package/cjs/component/scrollbar.js.map +1 -0
- package/cjs/component/slider.d.ts +19 -0
- package/cjs/component/slider.js +86 -0
- package/cjs/component/slider.js.map +1 -0
- package/cjs/component/title.d.ts +15 -0
- package/cjs/component/title.js +56 -0
- package/cjs/component/title.js.map +1 -0
- package/cjs/component/tooltip.d.ts +62 -0
- package/cjs/component/tooltip.js +305 -0
- package/cjs/component/tooltip.js.map +1 -0
- package/cjs/core/factory.d.ts +35 -0
- package/cjs/core/factory.js +73 -0
- package/cjs/core/factory.js.map +1 -0
- package/cjs/glyph/boxplot.d.ts +10 -0
- package/cjs/glyph/boxplot.js +418 -0
- package/cjs/glyph/boxplot.js.map +1 -0
- package/cjs/glyph/index.d.ts +7 -0
- package/cjs/glyph/index.js +64 -0
- package/cjs/glyph/index.js.map +1 -0
- package/cjs/glyph/link-path.d.ts +7 -0
- package/cjs/glyph/link-path.js +138 -0
- package/cjs/glyph/link-path.js.map +1 -0
- package/cjs/glyph/ripple.d.ts +1 -0
- package/cjs/glyph/ripple.js +44 -0
- package/cjs/glyph/ripple.js.map +1 -0
- package/cjs/glyph/tree-path.d.ts +7 -0
- package/cjs/glyph/tree-path.js +152 -0
- package/cjs/glyph/tree-path.js.map +1 -0
- package/cjs/glyph/violin.d.ts +1 -0
- package/cjs/glyph/violin.js +165 -0
- package/cjs/glyph/violin.js.map +1 -0
- package/cjs/glyph/wave.d.ts +1 -0
- package/cjs/glyph/wave.js +67 -0
- package/cjs/glyph/wave.js.map +1 -0
- package/cjs/graph/animation/animate.d.ts +48 -0
- package/cjs/graph/animation/animate.js +250 -0
- package/cjs/graph/animation/animate.js.map +1 -0
- package/cjs/graph/animation/animation/clip.d.ts +4 -0
- package/cjs/graph/animation/animation/clip.js +54 -0
- package/cjs/graph/animation/animation/clip.js.map +1 -0
- package/cjs/graph/animation/animation/fade.d.ts +4 -0
- package/cjs/graph/animation/animation/fade.js +42 -0
- package/cjs/graph/animation/animation/fade.js.map +1 -0
- package/cjs/graph/animation/animation/grow-cartesian.d.ts +7 -0
- package/cjs/graph/animation/animation/grow-cartesian.js +288 -0
- package/cjs/graph/animation/animation/grow-cartesian.js.map +1 -0
- package/cjs/graph/animation/animation/grow-interval.d.ts +3 -0
- package/cjs/graph/animation/animation/grow-interval.js +194 -0
- package/cjs/graph/animation/animation/grow-interval.js.map +1 -0
- package/cjs/graph/animation/animation/grow-points.d.ts +7 -0
- package/cjs/graph/animation/animation/grow-points.js +118 -0
- package/cjs/graph/animation/animation/grow-points.js.map +1 -0
- package/cjs/graph/animation/animation/grow-polar.d.ts +5 -0
- package/cjs/graph/animation/animation/grow-polar.js +164 -0
- package/cjs/graph/animation/animation/grow-polar.js.map +1 -0
- package/cjs/graph/animation/animation/index.d.ts +11 -0
- package/cjs/graph/animation/animation/index.js +191 -0
- package/cjs/graph/animation/animation/index.js.map +1 -0
- package/cjs/graph/animation/animation/move.d.ts +3 -0
- package/cjs/graph/animation/animation/move.js +90 -0
- package/cjs/graph/animation/animation/move.js.map +1 -0
- package/cjs/graph/animation/animation/rotate.d.ts +3 -0
- package/cjs/graph/animation/animation/rotate.js +42 -0
- package/cjs/graph/animation/animation/rotate.js.map +1 -0
- package/cjs/graph/animation/animation/scale.d.ts +3 -0
- package/cjs/graph/animation/animation/scale.js +84 -0
- package/cjs/graph/animation/animation/scale.js.map +1 -0
- package/cjs/graph/animation/animation/update.d.ts +6 -0
- package/cjs/graph/animation/animation/update.js +22 -0
- package/cjs/graph/animation/animation/update.js.map +1 -0
- package/cjs/graph/animation/animator.d.ts +26 -0
- package/cjs/graph/animation/animator.js +88 -0
- package/cjs/graph/animation/animator.js.map +1 -0
- package/cjs/graph/animation/arranger.d.ts +13 -0
- package/cjs/graph/animation/arranger.js +38 -0
- package/cjs/graph/animation/arranger.js.map +1 -0
- package/cjs/graph/animation/attribute.d.ts +27 -0
- package/cjs/graph/animation/attribute.js +124 -0
- package/cjs/graph/animation/attribute.js.map +1 -0
- package/cjs/graph/animation/config.d.ts +5 -0
- package/cjs/graph/animation/config.js +92 -0
- package/cjs/graph/animation/config.js.map +1 -0
- package/cjs/graph/animation/morph.d.ts +12 -0
- package/cjs/graph/animation/morph.js +174 -0
- package/cjs/graph/animation/morph.js.map +1 -0
- package/cjs/graph/attributes/common.d.ts +2 -0
- package/cjs/graph/attributes/common.js +22 -0
- package/cjs/graph/attributes/common.js.map +1 -0
- package/cjs/graph/attributes/helpers.d.ts +17 -0
- package/cjs/graph/attributes/helpers.js +86 -0
- package/cjs/graph/attributes/helpers.js.map +1 -0
- package/cjs/graph/attributes/index.d.ts +10 -0
- package/cjs/graph/attributes/index.js +257 -0
- package/cjs/graph/attributes/index.js.map +1 -0
- package/cjs/graph/canvas-renderer.d.ts +34 -0
- package/cjs/graph/canvas-renderer.js +121 -0
- package/cjs/graph/canvas-renderer.js.map +1 -0
- package/cjs/graph/constants.d.ts +23 -0
- package/cjs/graph/constants.js +21 -0
- package/cjs/graph/constants.js.map +1 -0
- package/cjs/graph/element.d.ts +66 -0
- package/cjs/graph/element.js +297 -0
- package/cjs/graph/element.js.map +1 -0
- package/cjs/graph/enums.d.ts +153 -0
- package/cjs/graph/enums.js +85 -0
- package/cjs/graph/enums.js.map +1 -0
- package/cjs/graph/glyph-element.d.ts +53 -0
- package/cjs/graph/glyph-element.js +202 -0
- package/cjs/graph/glyph-element.js.map +1 -0
- package/cjs/graph/index.d.ts +3 -0
- package/cjs/graph/index.js +44 -0
- package/cjs/graph/index.js.map +1 -0
- package/cjs/graph/layout/grid.d.ts +3 -0
- package/cjs/graph/layout/grid.js +75 -0
- package/cjs/graph/layout/grid.js.map +1 -0
- package/cjs/graph/layout/layout.d.ts +3 -0
- package/cjs/graph/layout/layout.js +33 -0
- package/cjs/graph/layout/layout.js.map +1 -0
- package/cjs/graph/layout/relative.d.ts +3 -0
- package/cjs/graph/layout/relative.js +86 -0
- package/cjs/graph/layout/relative.js.map +1 -0
- package/cjs/graph/mark/differ.d.ts +20 -0
- package/cjs/graph/mark/differ.js +110 -0
- package/cjs/graph/mark/differ.js.map +1 -0
- package/cjs/graph/mark/encode.d.ts +10 -0
- package/cjs/graph/mark/encode.js +95 -0
- package/cjs/graph/mark/encode.js.map +1 -0
- package/cjs/graph/mark/large-rects.d.ts +10 -0
- package/cjs/graph/mark/large-rects.js +31 -0
- package/cjs/graph/mark/large-rects.js.map +1 -0
- package/cjs/graph/mark/large-symbols.d.ts +11 -0
- package/cjs/graph/mark/large-symbols.js +33 -0
- package/cjs/graph/mark/large-symbols.js.map +1 -0
- package/cjs/graph/mark-tree.d.ts +2 -0
- package/cjs/graph/mark-tree.js +21 -0
- package/cjs/graph/mark-tree.js.map +1 -0
- package/cjs/graph/util/element.d.ts +2 -0
- package/cjs/graph/util/element.js +10 -0
- package/cjs/graph/util/element.js.map +1 -0
- package/cjs/graph/util/env.d.ts +2 -0
- package/cjs/graph/util/env.js +14 -0
- package/cjs/graph/util/env.js.map +1 -0
- package/cjs/graph/util/events-extend.d.ts +5 -0
- package/cjs/graph/util/events-extend.js +18 -0
- package/cjs/graph/util/events-extend.js.map +1 -0
- package/cjs/graph/util/graphic.d.ts +9 -0
- package/cjs/graph/util/graphic.js +59 -0
- package/cjs/graph/util/graphic.js.map +1 -0
- package/cjs/graph/util/point.d.ts +1 -0
- package/cjs/graph/util/point.js +75 -0
- package/cjs/graph/util/point.js.map +1 -0
- package/cjs/index.d.ts +14 -0
- package/cjs/index.js +111 -0
- package/cjs/index.js.map +1 -0
- package/cjs/parse/coordinate.d.ts +7 -0
- package/cjs/parse/coordinate.js +70 -0
- package/cjs/parse/coordinate.js.map +1 -0
- package/cjs/parse/event.d.ts +8 -0
- package/cjs/parse/event.js +33 -0
- package/cjs/parse/event.js.map +1 -0
- package/cjs/parse/mark.d.ts +4 -0
- package/cjs/parse/mark.js +25 -0
- package/cjs/parse/mark.js.map +1 -0
- package/cjs/parse/option.d.ts +3 -0
- package/cjs/parse/option.js +19 -0
- package/cjs/parse/option.js.map +1 -0
- package/cjs/parse/scale.d.ts +8 -0
- package/cjs/parse/scale.js +365 -0
- package/cjs/parse/scale.js.map +1 -0
- package/cjs/parse/transform.d.ts +5 -0
- package/cjs/parse/transform.js +103 -0
- package/cjs/parse/transform.js.map +1 -0
- package/cjs/parse/util.d.ts +13 -0
- package/cjs/parse/util.js +82 -0
- package/cjs/parse/util.js.map +1 -0
- package/cjs/parse/view.d.ts +17 -0
- package/cjs/parse/view.js +108 -0
- package/cjs/parse/view.js.map +1 -0
- package/cjs/semantic-marks/cell.d.ts +13 -0
- package/cjs/semantic-marks/cell.js +61 -0
- package/cjs/semantic-marks/cell.js.map +1 -0
- package/cjs/semantic-marks/interval.d.ts +14 -0
- package/cjs/semantic-marks/interval.js +80 -0
- package/cjs/semantic-marks/interval.js.map +1 -0
- package/cjs/semantic-marks/text.d.ts +10 -0
- package/cjs/semantic-marks/text.js +25 -0
- package/cjs/semantic-marks/text.js.map +1 -0
- package/cjs/theme/common/component.d.ts +15 -0
- package/cjs/theme/common/component.js +493 -0
- package/cjs/theme/common/component.js.map +1 -0
- package/cjs/theme/common/constants.d.ts +1 -0
- package/cjs/theme/common/constants.js +6 -0
- package/cjs/theme/common/constants.js.map +1 -0
- package/cjs/theme/common/mark.d.ts +2 -0
- package/cjs/theme/common/mark.js +15 -0
- package/cjs/theme/common/mark.js.map +1 -0
- package/cjs/theme/dark.d.ts +2 -0
- package/cjs/theme/dark.js +94 -0
- package/cjs/theme/dark.js.map +1 -0
- package/cjs/theme/default.d.ts +2 -0
- package/cjs/theme/default.js +18 -0
- package/cjs/theme/default.js.map +1 -0
- package/cjs/theme/theme-manager.d.ts +8 -0
- package/cjs/theme/theme-manager.js +26 -0
- package/cjs/theme/theme-manager.js.map +1 -0
- package/cjs/transforms/data/bin.d.ts +2 -0
- package/cjs/transforms/data/bin.js +21 -0
- package/cjs/transforms/data/bin.js.map +1 -0
- package/cjs/transforms/data/circular-relation.d.ts +2 -0
- package/cjs/transforms/data/circular-relation.js +56 -0
- package/cjs/transforms/data/circular-relation.js.map +1 -0
- package/cjs/transforms/data/contour.d.ts +2 -0
- package/cjs/transforms/data/contour.js +115 -0
- package/cjs/transforms/data/contour.js.map +1 -0
- package/cjs/transforms/data/filter.d.ts +2 -0
- package/cjs/transforms/data/filter.js +10 -0
- package/cjs/transforms/data/filter.js.map +1 -0
- package/cjs/transforms/data/fold.d.ts +2 -0
- package/cjs/transforms/data/fold.js +24 -0
- package/cjs/transforms/data/fold.js.map +1 -0
- package/cjs/transforms/data/funnel.d.ts +2 -0
- package/cjs/transforms/data/funnel.js +25 -0
- package/cjs/transforms/data/funnel.js.map +1 -0
- package/cjs/transforms/data/join.d.ts +2 -0
- package/cjs/transforms/data/join.js +33 -0
- package/cjs/transforms/data/join.js.map +1 -0
- package/cjs/transforms/data/kde.d.ts +2 -0
- package/cjs/transforms/data/kde.js +90 -0
- package/cjs/transforms/data/kde.js.map +1 -0
- package/cjs/transforms/data/map.d.ts +2 -0
- package/cjs/transforms/data/map.js +23 -0
- package/cjs/transforms/data/map.js.map +1 -0
- package/cjs/transforms/data/pick.d.ts +2 -0
- package/cjs/transforms/data/pick.js +20 -0
- package/cjs/transforms/data/pick.js.map +1 -0
- package/cjs/transforms/data/pie.d.ts +2 -0
- package/cjs/transforms/data/pie.js +24 -0
- package/cjs/transforms/data/pie.js.map +1 -0
- package/cjs/transforms/data/range.d.ts +4 -0
- package/cjs/transforms/data/range.js +15 -0
- package/cjs/transforms/data/range.js.map +1 -0
- package/cjs/transforms/data/sort.d.ts +2 -0
- package/cjs/transforms/data/sort.js +17 -0
- package/cjs/transforms/data/sort.js.map +1 -0
- package/cjs/transforms/data/stack.d.ts +2 -0
- package/cjs/transforms/data/stack.js +74 -0
- package/cjs/transforms/data/stack.js.map +1 -0
- package/cjs/transforms/data/unfold.d.ts +2 -0
- package/cjs/transforms/data/unfold.js +49 -0
- package/cjs/transforms/data/unfold.js.map +1 -0
- package/cjs/transforms/index.d.ts +23 -0
- package/cjs/transforms/index.js +213 -0
- package/cjs/transforms/index.js.map +1 -0
- package/cjs/transforms/mark/dodge.d.ts +2 -0
- package/cjs/transforms/mark/dodge.js +81 -0
- package/cjs/transforms/mark/dodge.js.map +1 -0
- package/cjs/transforms/mark/jitter.d.ts +4 -0
- package/cjs/transforms/mark/jitter.js +53 -0
- package/cjs/transforms/mark/jitter.js.map +1 -0
- package/cjs/transforms/mark/lttb-sample.d.ts +2 -0
- package/cjs/transforms/mark/lttb-sample.js +68 -0
- package/cjs/transforms/mark/lttb-sample.js.map +1 -0
- package/cjs/transforms/mark/mark-overlap.d.ts +2 -0
- package/cjs/transforms/mark/mark-overlap.js +79 -0
- package/cjs/transforms/mark/mark-overlap.js.map +1 -0
- package/cjs/transforms/mark/symmetry.d.ts +2 -0
- package/cjs/transforms/mark/symmetry.js +25 -0
- package/cjs/transforms/mark/symmetry.js.map +1 -0
- package/cjs/transforms/util/util.d.ts +5 -0
- package/cjs/transforms/util/util.js +41 -0
- package/cjs/transforms/util/util.js.map +1 -0
- package/cjs/transforms/view/identifier.d.ts +2 -0
- package/cjs/transforms/view/identifier.js +17 -0
- package/cjs/transforms/view/identifier.js.map +1 -0
- package/cjs/types/animate.d.ts +224 -0
- package/cjs/types/animate.js +6 -0
- package/cjs/types/animate.js.map +1 -0
- package/cjs/types/base.d.ts +36 -0
- package/cjs/types/base.js +6 -0
- package/cjs/types/base.js.map +1 -0
- package/cjs/types/component.d.ts +240 -0
- package/cjs/types/component.js +6 -0
- package/cjs/types/component.js.map +1 -0
- package/cjs/types/coordinate.d.ts +15 -0
- package/cjs/types/coordinate.js +6 -0
- package/cjs/types/coordinate.js.map +1 -0
- package/cjs/types/data.d.ts +55 -0
- package/cjs/types/data.js +5 -0
- package/cjs/types/data.js.map +1 -0
- package/cjs/types/dataflow.d.ts +13 -0
- package/cjs/types/dataflow.js +6 -0
- package/cjs/types/dataflow.js.map +1 -0
- package/cjs/types/element.d.ts +117 -0
- package/cjs/types/element.js +6 -0
- package/cjs/types/element.js.map +1 -0
- package/cjs/types/event.d.ts +58 -0
- package/cjs/types/event.js +6 -0
- package/cjs/types/event.js.map +1 -0
- package/cjs/types/glyph.d.ts +29 -0
- package/cjs/types/glyph.js +6 -0
- package/cjs/types/glyph.js.map +1 -0
- package/cjs/types/grammar.d.ts +184 -0
- package/cjs/types/grammar.js +6 -0
- package/cjs/types/grammar.js.map +1 -0
- package/cjs/types/hooks.d.ts +45 -0
- package/cjs/types/hooks.js +6 -0
- package/cjs/types/hooks.js.map +1 -0
- package/cjs/types/index.d.ts +22 -0
- package/cjs/types/index.js +31 -0
- package/cjs/types/index.js.map +1 -0
- package/cjs/types/layout.d.ts +5 -0
- package/cjs/types/layout.js +6 -0
- package/cjs/types/layout.js.map +1 -0
- package/cjs/types/mark.d.ts +344 -0
- package/cjs/types/mark.js +6 -0
- package/cjs/types/mark.js.map +1 -0
- package/cjs/types/morph.d.ts +29 -0
- package/cjs/types/morph.js +6 -0
- package/cjs/types/morph.js.map +1 -0
- package/cjs/types/plot.d.ts +326 -0
- package/cjs/types/plot.js +6 -0
- package/cjs/types/plot.js.map +1 -0
- package/cjs/types/projection.d.ts +61 -0
- package/cjs/types/projection.js +6 -0
- package/cjs/types/projection.js.map +1 -0
- package/cjs/types/renderer.d.ts +19 -0
- package/cjs/types/renderer.js +6 -0
- package/cjs/types/renderer.js.map +1 -0
- package/cjs/types/scale.d.ts +111 -0
- package/cjs/types/scale.js +6 -0
- package/cjs/types/scale.js.map +1 -0
- package/cjs/types/signal.d.ts +20 -0
- package/cjs/types/signal.js +6 -0
- package/cjs/types/signal.js.map +1 -0
- package/cjs/types/theme.d.ts +41 -0
- package/cjs/types/theme.js +6 -0
- package/cjs/types/theme.js.map +1 -0
- package/cjs/types/transform.d.ts +291 -0
- package/cjs/types/transform.js +6 -0
- package/cjs/types/transform.js.map +1 -0
- package/cjs/types/view.d.ts +217 -0
- package/cjs/types/view.js +6 -0
- package/cjs/types/view.js.map +1 -0
- package/cjs/util/data.d.ts +3 -0
- package/cjs/util/data.js +64 -0
- package/cjs/util/data.js.map +1 -0
- package/cjs/util/grammar-heap.d.ts +14 -0
- package/cjs/util/grammar-heap.js +66 -0
- package/cjs/util/grammar-heap.js.map +1 -0
- package/cjs/util/text.d.ts +19 -0
- package/cjs/util/text.js +32 -0
- package/cjs/util/text.js.map +1 -0
- package/cjs/util/unique-list.d.ts +12 -0
- package/cjs/util/unique-list.js +37 -0
- package/cjs/util/unique-list.js.map +1 -0
- package/cjs/view/View.d.ts +157 -0
- package/cjs/view/View.js +800 -0
- package/cjs/view/View.js.map +1 -0
- package/cjs/view/animate.d.ts +20 -0
- package/cjs/view/animate.js +106 -0
- package/cjs/view/animate.js.map +1 -0
- package/cjs/view/component.d.ts +26 -0
- package/cjs/view/component.js +64 -0
- package/cjs/view/component.js.map +1 -0
- package/cjs/view/constants.d.ts +17 -0
- package/cjs/view/constants.js +13 -0
- package/cjs/view/constants.js.map +1 -0
- package/cjs/view/coordinate.d.ts +23 -0
- package/cjs/view/coordinate.js +59 -0
- package/cjs/view/coordinate.js.map +1 -0
- package/cjs/view/data.d.ts +37 -0
- package/cjs/view/data.js +198 -0
- package/cjs/view/data.js.map +1 -0
- package/cjs/view/dataflow.d.ts +32 -0
- package/cjs/view/dataflow.js +146 -0
- package/cjs/view/dataflow.js.map +1 -0
- package/cjs/view/events.d.ts +4 -0
- package/cjs/view/events.js +34 -0
- package/cjs/view/events.js.map +1 -0
- package/cjs/view/glyph-meta.d.ts +29 -0
- package/cjs/view/glyph-meta.js +45 -0
- package/cjs/view/glyph-meta.js.map +1 -0
- package/cjs/view/glyph.d.ts +14 -0
- package/cjs/view/glyph.js +29 -0
- package/cjs/view/glyph.js.map +1 -0
- package/cjs/view/grammar-base.d.ts +46 -0
- package/cjs/view/grammar-base.js +171 -0
- package/cjs/view/grammar-base.js.map +1 -0
- package/cjs/view/grammar-record.d.ts +39 -0
- package/cjs/view/grammar-record.js +180 -0
- package/cjs/view/grammar-record.js.map +1 -0
- package/cjs/view/group.d.ts +13 -0
- package/cjs/view/group.js +39 -0
- package/cjs/view/group.js.map +1 -0
- package/cjs/view/index.d.ts +1 -0
- package/cjs/view/index.js +21 -0
- package/cjs/view/index.js.map +1 -0
- package/cjs/view/mark.d.ts +112 -0
- package/cjs/view/mark.js +600 -0
- package/cjs/view/mark.js.map +1 -0
- package/cjs/view/scale.d.ts +26 -0
- package/cjs/view/scale.js +86 -0
- package/cjs/view/scale.js.map +1 -0
- package/cjs/view/signal.d.ts +18 -0
- package/cjs/view/signal.js +56 -0
- package/cjs/view/signal.js.map +1 -0
- package/es/component/axis.d.ts +26 -0
- package/es/component/axis.js +162 -0
- package/es/component/axis.js.map +1 -0
- package/es/component/crosshair.d.ts +50 -0
- package/es/component/crosshair.js +275 -0
- package/es/component/crosshair.js.map +1 -0
- package/es/component/datazoom.d.ts +19 -0
- package/es/component/datazoom.js +161 -0
- package/es/component/datazoom.js.map +1 -0
- package/es/component/grid.d.ts +27 -0
- package/es/component/grid.js +193 -0
- package/es/component/grid.js.map +1 -0
- package/es/component/index.d.ts +11 -0
- package/es/component/index.js +22 -0
- package/es/component/index.js.map +1 -0
- package/es/component/label.d.ts +19 -0
- package/es/component/label.js +124 -0
- package/es/component/label.js.map +1 -0
- package/es/component/legend.d.ts +26 -0
- package/es/component/legend.js +169 -0
- package/es/component/legend.js.map +1 -0
- package/es/component/player.d.ts +25 -0
- package/es/component/player.js +136 -0
- package/es/component/player.js.map +1 -0
- package/es/component/scale.d.ts +8 -0
- package/es/component/scale.js +19 -0
- package/es/component/scale.js.map +1 -0
- package/es/component/scrollbar.d.ts +23 -0
- package/es/component/scrollbar.js +184 -0
- package/es/component/scrollbar.js.map +1 -0
- package/es/component/slider.d.ts +19 -0
- package/es/component/slider.js +86 -0
- package/es/component/slider.js.map +1 -0
- package/es/component/title.d.ts +15 -0
- package/es/component/title.js +58 -0
- package/es/component/title.js.map +1 -0
- package/es/component/tooltip.d.ts +62 -0
- package/es/component/tooltip.js +303 -0
- package/es/component/tooltip.js.map +1 -0
- package/es/core/factory.d.ts +35 -0
- package/es/core/factory.js +67 -0
- package/es/core/factory.js.map +1 -0
- package/es/glyph/boxplot.d.ts +10 -0
- package/es/glyph/boxplot.js +410 -0
- package/es/glyph/boxplot.js.map +1 -0
- package/es/glyph/index.d.ts +7 -0
- package/es/glyph/index.js +11 -0
- package/es/glyph/index.js.map +1 -0
- package/es/glyph/link-path.d.ts +7 -0
- package/es/glyph/link-path.js +132 -0
- package/es/glyph/link-path.js.map +1 -0
- package/es/glyph/ripple.d.ts +1 -0
- package/es/glyph/ripple.js +38 -0
- package/es/glyph/ripple.js.map +1 -0
- package/es/glyph/tree-path.d.ts +7 -0
- package/es/glyph/tree-path.js +146 -0
- package/es/glyph/tree-path.js.map +1 -0
- package/es/glyph/violin.d.ts +1 -0
- package/es/glyph/violin.js +163 -0
- package/es/glyph/violin.js.map +1 -0
- package/es/glyph/wave.d.ts +1 -0
- package/es/glyph/wave.js +61 -0
- package/es/glyph/wave.js.map +1 -0
- package/es/graph/animation/animate.d.ts +48 -0
- package/es/graph/animation/animate.js +247 -0
- package/es/graph/animation/animate.js.map +1 -0
- package/es/graph/animation/animation/clip.d.ts +4 -0
- package/es/graph/animation/animation/clip.js +44 -0
- package/es/graph/animation/animation/clip.js.map +1 -0
- package/es/graph/animation/animation/fade.d.ts +4 -0
- package/es/graph/animation/animation/fade.js +32 -0
- package/es/graph/animation/animation/fade.js.map +1 -0
- package/es/graph/animation/animation/grow-cartesian.d.ts +7 -0
- package/es/graph/animation/animation/grow-cartesian.js +272 -0
- package/es/graph/animation/animation/grow-cartesian.js.map +1 -0
- package/es/graph/animation/animation/grow-interval.d.ts +3 -0
- package/es/graph/animation/animation/grow-interval.js +184 -0
- package/es/graph/animation/animation/grow-interval.js.map +1 -0
- package/es/graph/animation/animation/grow-points.d.ts +7 -0
- package/es/graph/animation/animation/grow-points.js +107 -0
- package/es/graph/animation/animation/grow-points.js.map +1 -0
- package/es/graph/animation/animation/grow-polar.d.ts +5 -0
- package/es/graph/animation/animation/grow-polar.js +160 -0
- package/es/graph/animation/animation/grow-polar.js.map +1 -0
- package/es/graph/animation/animation/index.d.ts +11 -0
- package/es/graph/animation/animation/index.js +22 -0
- package/es/graph/animation/animation/index.js.map +1 -0
- package/es/graph/animation/animation/move.d.ts +3 -0
- package/es/graph/animation/animation/move.js +78 -0
- package/es/graph/animation/animation/move.js.map +1 -0
- package/es/graph/animation/animation/rotate.d.ts +3 -0
- package/es/graph/animation/animation/rotate.js +32 -0
- package/es/graph/animation/animation/rotate.js.map +1 -0
- package/es/graph/animation/animation/scale.d.ts +3 -0
- package/es/graph/animation/animation/scale.js +74 -0
- package/es/graph/animation/animation/scale.js.map +1 -0
- package/es/graph/animation/animation/update.d.ts +6 -0
- package/es/graph/animation/animation/update.js +20 -0
- package/es/graph/animation/animation/update.js.map +1 -0
- package/es/graph/animation/animator.d.ts +26 -0
- package/es/graph/animation/animator.js +83 -0
- package/es/graph/animation/animator.js.map +1 -0
- package/es/graph/animation/arranger.d.ts +13 -0
- package/es/graph/animation/arranger.js +29 -0
- package/es/graph/animation/arranger.js.map +1 -0
- package/es/graph/animation/attribute.d.ts +27 -0
- package/es/graph/animation/attribute.js +114 -0
- package/es/graph/animation/attribute.js.map +1 -0
- package/es/graph/animation/config.d.ts +5 -0
- package/es/graph/animation/config.js +84 -0
- package/es/graph/animation/config.js.map +1 -0
- package/es/graph/animation/morph.d.ts +12 -0
- package/es/graph/animation/morph.js +171 -0
- package/es/graph/animation/morph.js.map +1 -0
- package/es/graph/attributes/common.d.ts +2 -0
- package/es/graph/attributes/common.js +13 -0
- package/es/graph/attributes/common.js.map +1 -0
- package/es/graph/attributes/helpers.d.ts +17 -0
- package/es/graph/attributes/helpers.js +75 -0
- package/es/graph/attributes/helpers.js.map +1 -0
- package/es/graph/attributes/index.d.ts +10 -0
- package/es/graph/attributes/index.js +231 -0
- package/es/graph/attributes/index.js.map +1 -0
- package/es/graph/canvas-renderer.d.ts +34 -0
- package/es/graph/canvas-renderer.js +115 -0
- package/es/graph/canvas-renderer.js.map +1 -0
- package/es/graph/constants.d.ts +23 -0
- package/es/graph/constants.js +47 -0
- package/es/graph/constants.js.map +1 -0
- package/es/graph/element.d.ts +66 -0
- package/es/graph/element.js +292 -0
- package/es/graph/element.js.map +1 -0
- package/es/graph/enums.d.ts +153 -0
- package/es/graph/enums.js +129 -0
- package/es/graph/enums.js.map +1 -0
- package/es/graph/glyph-element.d.ts +53 -0
- package/es/graph/glyph-element.js +206 -0
- package/es/graph/glyph-element.js.map +1 -0
- package/es/graph/index.d.ts +3 -0
- package/es/graph/index.js +6 -0
- package/es/graph/index.js.map +1 -0
- package/es/graph/layout/grid.d.ts +3 -0
- package/es/graph/layout/grid.js +66 -0
- package/es/graph/layout/grid.js.map +1 -0
- package/es/graph/layout/layout.d.ts +3 -0
- package/es/graph/layout/layout.js +33 -0
- package/es/graph/layout/layout.js.map +1 -0
- package/es/graph/layout/relative.d.ts +3 -0
- package/es/graph/layout/relative.js +85 -0
- package/es/graph/layout/relative.js.map +1 -0
- package/es/graph/mark/differ.d.ts +20 -0
- package/es/graph/mark/differ.js +104 -0
- package/es/graph/mark/differ.js.map +1 -0
- package/es/graph/mark/encode.d.ts +10 -0
- package/es/graph/mark/encode.js +92 -0
- package/es/graph/mark/encode.js.map +1 -0
- package/es/graph/mark/large-rects.d.ts +10 -0
- package/es/graph/mark/large-rects.js +23 -0
- package/es/graph/mark/large-rects.js.map +1 -0
- package/es/graph/mark/large-symbols.d.ts +11 -0
- package/es/graph/mark/large-symbols.js +27 -0
- package/es/graph/mark/large-symbols.js.map +1 -0
- package/es/graph/mark-tree.d.ts +2 -0
- package/es/graph/mark-tree.js +15 -0
- package/es/graph/mark-tree.js.map +1 -0
- package/es/graph/util/element.d.ts +2 -0
- package/es/graph/util/element.js +8 -0
- package/es/graph/util/element.js.map +1 -0
- package/es/graph/util/env.d.ts +2 -0
- package/es/graph/util/env.js +6 -0
- package/es/graph/util/env.js.map +1 -0
- package/es/graph/util/events-extend.d.ts +5 -0
- package/es/graph/util/events-extend.js +12 -0
- package/es/graph/util/events-extend.js.map +1 -0
- package/es/graph/util/graphic.d.ts +9 -0
- package/es/graph/util/graphic.js +59 -0
- package/es/graph/util/graphic.js.map +1 -0
- package/es/graph/util/point.d.ts +1 -0
- package/es/graph/util/point.js +67 -0
- package/es/graph/util/point.js.map +1 -0
- package/es/index.d.ts +14 -0
- package/es/index.js +27 -0
- package/es/index.js.map +1 -0
- package/es/parse/coordinate.d.ts +7 -0
- package/es/parse/coordinate.js +65 -0
- package/es/parse/coordinate.js.map +1 -0
- package/es/parse/event.d.ts +8 -0
- package/es/parse/event.js +23 -0
- package/es/parse/event.js.map +1 -0
- package/es/parse/mark.d.ts +4 -0
- package/es/parse/mark.js +19 -0
- package/es/parse/mark.js.map +1 -0
- package/es/parse/option.d.ts +3 -0
- package/es/parse/option.js +10 -0
- package/es/parse/option.js.map +1 -0
- package/es/parse/scale.d.ts +8 -0
- package/es/parse/scale.js +347 -0
- package/es/parse/scale.js.map +1 -0
- package/es/parse/transform.d.ts +5 -0
- package/es/parse/transform.js +102 -0
- package/es/parse/transform.js.map +1 -0
- package/es/parse/util.d.ts +13 -0
- package/es/parse/util.js +65 -0
- package/es/parse/util.js.map +1 -0
- package/es/parse/view.d.ts +17 -0
- package/es/parse/view.js +98 -0
- package/es/parse/view.js.map +1 -0
- package/es/semantic-marks/cell.d.ts +13 -0
- package/es/semantic-marks/cell.js +57 -0
- package/es/semantic-marks/cell.js.map +1 -0
- package/es/semantic-marks/interval.d.ts +14 -0
- package/es/semantic-marks/interval.js +87 -0
- package/es/semantic-marks/interval.js.map +1 -0
- package/es/semantic-marks/text.d.ts +10 -0
- package/es/semantic-marks/text.js +22 -0
- package/es/semantic-marks/text.js.map +1 -0
- package/es/theme/common/component.d.ts +15 -0
- package/es/theme/common/component.js +510 -0
- package/es/theme/common/component.js.map +1 -0
- package/es/theme/common/constants.d.ts +1 -0
- package/es/theme/common/constants.js +2 -0
- package/es/theme/common/constants.js.map +1 -0
- package/es/theme/common/mark.d.ts +2 -0
- package/es/theme/common/mark.js +11 -0
- package/es/theme/common/mark.js.map +1 -0
- package/es/theme/dark.d.ts +2 -0
- package/es/theme/dark.js +96 -0
- package/es/theme/dark.js.map +1 -0
- package/es/theme/default.d.ts +2 -0
- package/es/theme/default.js +16 -0
- package/es/theme/default.js.map +1 -0
- package/es/theme/theme-manager.d.ts +8 -0
- package/es/theme/theme-manager.js +22 -0
- package/es/theme/theme-manager.js.map +1 -0
- package/es/transforms/data/bin.d.ts +2 -0
- package/es/transforms/data/bin.js +16 -0
- package/es/transforms/data/bin.js.map +1 -0
- package/es/transforms/data/circular-relation.d.ts +2 -0
- package/es/transforms/data/circular-relation.js +44 -0
- package/es/transforms/data/circular-relation.js.map +1 -0
- package/es/transforms/data/contour.d.ts +2 -0
- package/es/transforms/data/contour.js +111 -0
- package/es/transforms/data/contour.js.map +1 -0
- package/es/transforms/data/filter.d.ts +2 -0
- package/es/transforms/data/filter.js +2 -0
- package/es/transforms/data/filter.js.map +1 -0
- package/es/transforms/data/fold.d.ts +2 -0
- package/es/transforms/data/fold.js +16 -0
- package/es/transforms/data/fold.js.map +1 -0
- package/es/transforms/data/funnel.d.ts +2 -0
- package/es/transforms/data/funnel.js +17 -0
- package/es/transforms/data/funnel.js.map +1 -0
- package/es/transforms/data/join.d.ts +2 -0
- package/es/transforms/data/join.js +26 -0
- package/es/transforms/data/join.js.map +1 -0
- package/es/transforms/data/kde.d.ts +2 -0
- package/es/transforms/data/kde.js +80 -0
- package/es/transforms/data/kde.js.map +1 -0
- package/es/transforms/data/map.d.ts +2 -0
- package/es/transforms/data/map.js +16 -0
- package/es/transforms/data/map.js.map +1 -0
- package/es/transforms/data/pick.d.ts +2 -0
- package/es/transforms/data/pick.js +15 -0
- package/es/transforms/data/pick.js.map +1 -0
- package/es/transforms/data/pie.d.ts +2 -0
- package/es/transforms/data/pie.js +18 -0
- package/es/transforms/data/pie.js.map +1 -0
- package/es/transforms/data/range.d.ts +4 -0
- package/es/transforms/data/range.js +9 -0
- package/es/transforms/data/range.js.map +1 -0
- package/es/transforms/data/sort.d.ts +2 -0
- package/es/transforms/data/sort.js +13 -0
- package/es/transforms/data/sort.js.map +1 -0
- package/es/transforms/data/stack.d.ts +2 -0
- package/es/transforms/data/stack.js +72 -0
- package/es/transforms/data/stack.js.map +1 -0
- package/es/transforms/data/unfold.d.ts +2 -0
- package/es/transforms/data/unfold.js +45 -0
- package/es/transforms/data/unfold.js.map +1 -0
- package/es/transforms/index.d.ts +23 -0
- package/es/transforms/index.js +205 -0
- package/es/transforms/index.js.map +1 -0
- package/es/transforms/mark/dodge.d.ts +2 -0
- package/es/transforms/mark/dodge.js +74 -0
- package/es/transforms/mark/dodge.js.map +1 -0
- package/es/transforms/mark/jitter.d.ts +4 -0
- package/es/transforms/mark/jitter.js +48 -0
- package/es/transforms/mark/jitter.js.map +1 -0
- package/es/transforms/mark/lttb-sample.d.ts +2 -0
- package/es/transforms/mark/lttb-sample.js +60 -0
- package/es/transforms/mark/lttb-sample.js.map +1 -0
- package/es/transforms/mark/mark-overlap.d.ts +2 -0
- package/es/transforms/mark/mark-overlap.js +71 -0
- package/es/transforms/mark/mark-overlap.js.map +1 -0
- package/es/transforms/mark/symmetry.d.ts +2 -0
- package/es/transforms/mark/symmetry.js +20 -0
- package/es/transforms/mark/symmetry.js.map +1 -0
- package/es/transforms/util/util.d.ts +5 -0
- package/es/transforms/util/util.js +33 -0
- package/es/transforms/util/util.js.map +1 -0
- package/es/transforms/view/identifier.d.ts +2 -0
- package/es/transforms/view/identifier.js +13 -0
- package/es/transforms/view/identifier.js.map +1 -0
- package/es/types/animate.d.ts +224 -0
- package/es/types/animate.js +2 -0
- package/es/types/animate.js.map +1 -0
- package/es/types/base.d.ts +36 -0
- package/es/types/base.js +2 -0
- package/es/types/base.js.map +1 -0
- package/es/types/component.d.ts +240 -0
- package/es/types/component.js +2 -0
- package/es/types/component.js.map +1 -0
- package/es/types/coordinate.d.ts +15 -0
- package/es/types/coordinate.js +2 -0
- package/es/types/coordinate.js.map +1 -0
- package/es/types/data.d.ts +55 -0
- package/es/types/data.js +1 -0
- package/es/types/data.js.map +1 -0
- package/es/types/dataflow.d.ts +13 -0
- package/es/types/dataflow.js +2 -0
- package/es/types/dataflow.js.map +1 -0
- package/es/types/element.d.ts +117 -0
- package/es/types/element.js +2 -0
- package/es/types/element.js.map +1 -0
- package/es/types/event.d.ts +58 -0
- package/es/types/event.js +2 -0
- package/es/types/event.js.map +1 -0
- package/es/types/glyph.d.ts +29 -0
- package/es/types/glyph.js +2 -0
- package/es/types/glyph.js.map +1 -0
- package/es/types/grammar.d.ts +184 -0
- package/es/types/grammar.js +2 -0
- package/es/types/grammar.js.map +1 -0
- package/es/types/hooks.d.ts +45 -0
- package/es/types/hooks.js +2 -0
- package/es/types/hooks.js.map +1 -0
- package/es/types/index.d.ts +22 -0
- package/es/types/index.js +44 -0
- package/es/types/index.js.map +1 -0
- package/es/types/layout.d.ts +5 -0
- package/es/types/layout.js +2 -0
- package/es/types/layout.js.map +1 -0
- package/es/types/mark.d.ts +344 -0
- package/es/types/mark.js +2 -0
- package/es/types/mark.js.map +1 -0
- package/es/types/morph.d.ts +29 -0
- package/es/types/morph.js +2 -0
- package/es/types/morph.js.map +1 -0
- package/es/types/plot.d.ts +326 -0
- package/es/types/plot.js +2 -0
- package/es/types/plot.js.map +1 -0
- package/es/types/projection.d.ts +61 -0
- package/es/types/projection.js +2 -0
- package/es/types/projection.js.map +1 -0
- package/es/types/renderer.d.ts +19 -0
- package/es/types/renderer.js +2 -0
- package/es/types/renderer.js.map +1 -0
- package/es/types/scale.d.ts +111 -0
- package/es/types/scale.js +2 -0
- package/es/types/scale.js.map +1 -0
- package/es/types/signal.d.ts +20 -0
- package/es/types/signal.js +2 -0
- package/es/types/signal.js.map +1 -0
- package/es/types/theme.d.ts +41 -0
- package/es/types/theme.js +2 -0
- package/es/types/theme.js.map +1 -0
- package/es/types/transform.d.ts +291 -0
- package/es/types/transform.js +2 -0
- package/es/types/transform.js.map +1 -0
- package/es/types/view.d.ts +217 -0
- package/es/types/view.js +2 -0
- package/es/types/view.js.map +1 -0
- package/es/util/data.d.ts +3 -0
- package/es/util/data.js +60 -0
- package/es/util/data.js.map +1 -0
- package/es/util/grammar-heap.d.ts +14 -0
- package/es/util/grammar-heap.js +58 -0
- package/es/util/grammar-heap.js.map +1 -0
- package/es/util/text.d.ts +19 -0
- package/es/util/text.js +25 -0
- package/es/util/text.js.map +1 -0
- package/es/util/unique-list.d.ts +12 -0
- package/es/util/unique-list.js +29 -0
- package/es/util/unique-list.js.map +1 -0
- package/es/view/View.d.ts +157 -0
- package/es/view/View.js +836 -0
- package/es/view/View.js.map +1 -0
- package/es/view/animate.d.ts +20 -0
- package/es/view/animate.js +98 -0
- package/es/view/animate.js.map +1 -0
- package/es/view/component.d.ts +26 -0
- package/es/view/component.js +64 -0
- package/es/view/component.js.map +1 -0
- package/es/view/constants.d.ts +17 -0
- package/es/view/constants.js +32 -0
- package/es/view/constants.js.map +1 -0
- package/es/view/coordinate.d.ts +23 -0
- package/es/view/coordinate.js +52 -0
- package/es/view/coordinate.js.map +1 -0
- package/es/view/data.d.ts +37 -0
- package/es/view/data.js +195 -0
- package/es/view/data.js.map +1 -0
- package/es/view/dataflow.d.ts +32 -0
- package/es/view/dataflow.js +141 -0
- package/es/view/dataflow.js.map +1 -0
- package/es/view/events.d.ts +4 -0
- package/es/view/events.js +26 -0
- package/es/view/events.js.map +1 -0
- package/es/view/glyph-meta.d.ts +29 -0
- package/es/view/glyph-meta.js +37 -0
- package/es/view/glyph-meta.js.map +1 -0
- package/es/view/glyph.d.ts +14 -0
- package/es/view/glyph.js +27 -0
- package/es/view/glyph.js.map +1 -0
- package/es/view/grammar-base.d.ts +46 -0
- package/es/view/grammar-base.js +165 -0
- package/es/view/grammar-base.js.map +1 -0
- package/es/view/grammar-record.d.ts +39 -0
- package/es/view/grammar-record.js +170 -0
- package/es/view/grammar-record.js.map +1 -0
- package/es/view/group.d.ts +13 -0
- package/es/view/group.js +39 -0
- package/es/view/group.js.map +1 -0
- package/es/view/index.d.ts +1 -0
- package/es/view/index.js +2 -0
- package/es/view/index.js.map +1 -0
- package/es/view/mark.d.ts +112 -0
- package/es/view/mark.js +604 -0
- package/es/view/mark.js.map +1 -0
- package/es/view/scale.d.ts +26 -0
- package/es/view/scale.js +82 -0
- package/es/view/scale.js.map +1 -0
- package/es/view/signal.d.ts +18 -0
- package/es/view/signal.js +52 -0
- package/es/view/signal.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.configureScale = exports.parseScaleConfig = exports.parseScaleDomainRange = exports.createScale = void 0;
|
|
6
|
+
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), vscale_1 = require("@visactor/vscale"), util_1 = require("./util"), vgrammar_util_1 = require("@visactor/vgrammar-util");
|
|
8
|
+
|
|
9
|
+
function createScale(type) {
|
|
10
|
+
switch (type) {
|
|
11
|
+
case "band":
|
|
12
|
+
return new vscale_1.BandScale;
|
|
13
|
+
|
|
14
|
+
case "linear":
|
|
15
|
+
return new vscale_1.LinearScale;
|
|
16
|
+
|
|
17
|
+
case "log":
|
|
18
|
+
return new vscale_1.LogScale;
|
|
19
|
+
|
|
20
|
+
case "ordinal":
|
|
21
|
+
return new vscale_1.OrdinalScale;
|
|
22
|
+
|
|
23
|
+
case "point":
|
|
24
|
+
return new vscale_1.PointScale;
|
|
25
|
+
|
|
26
|
+
case "pow":
|
|
27
|
+
return new vscale_1.PowScale;
|
|
28
|
+
|
|
29
|
+
case "quantile":
|
|
30
|
+
return new vscale_1.QuantileScale;
|
|
31
|
+
|
|
32
|
+
case "quantize":
|
|
33
|
+
return new vscale_1.QuantizeScale;
|
|
34
|
+
|
|
35
|
+
case "sqrt":
|
|
36
|
+
return new vscale_1.SqrtScale;
|
|
37
|
+
|
|
38
|
+
case "symlog":
|
|
39
|
+
return new vscale_1.SymlogScale;
|
|
40
|
+
|
|
41
|
+
case "threshold":
|
|
42
|
+
return new vscale_1.ThresholdScale;
|
|
43
|
+
|
|
44
|
+
case "time":
|
|
45
|
+
return new vscale_1.TimeScale;
|
|
46
|
+
|
|
47
|
+
case "utc":
|
|
48
|
+
return new vscale_1.TimeScale(!0);
|
|
49
|
+
|
|
50
|
+
case "identity":
|
|
51
|
+
return new vscale_1.IdentityScale;
|
|
52
|
+
}
|
|
53
|
+
return new vscale_1.LinearScale;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function isScaleDataType(spec) {
|
|
57
|
+
return !(0, vutils_1.isNil)(null == spec ? void 0 : spec.data);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function parseScaleDataType(spec, view) {
|
|
61
|
+
var _a;
|
|
62
|
+
if ((0, vutils_1.isString)(spec.data)) {
|
|
63
|
+
const data = view.getGrammarById(spec.data);
|
|
64
|
+
return data ? [ data ] : [];
|
|
65
|
+
}
|
|
66
|
+
return "data" === (null === (_a = spec.data) || void 0 === _a ? void 0 : _a.grammarType) ? [ spec.data ] : [];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
function isMultiScaleDataType(spec) {
|
|
70
|
+
return !(0, vutils_1.isNil)(null == spec ? void 0 : spec.datas);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function parseMultiScaleDataType(spec, view) {
|
|
74
|
+
if ((null == spec ? void 0 : spec.datas) && spec.datas.length) {
|
|
75
|
+
const res = [];
|
|
76
|
+
return spec.datas.forEach((data => {
|
|
77
|
+
const gramarBase = parseScaleDataType(data, view);
|
|
78
|
+
gramarBase.length && res.push(gramarBase[0]);
|
|
79
|
+
})), res;
|
|
80
|
+
}
|
|
81
|
+
return [];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function isScaleCoordinateType(spec) {
|
|
85
|
+
return !(0, vutils_1.isNil)(null == spec ? void 0 : spec.coordinate);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function parseScaleCoordinateType(spec, view) {
|
|
89
|
+
var _a;
|
|
90
|
+
if ((0, vutils_1.isString)(spec.coordinate)) {
|
|
91
|
+
const coordinate = view.getCoordinateById(spec.coordinate);
|
|
92
|
+
return coordinate ? [ coordinate ] : [];
|
|
93
|
+
}
|
|
94
|
+
return "coordinate" === (null === (_a = spec.coordinate) || void 0 === _a ? void 0 : _a.grammarType) ? [ spec.coordinate ] : [];
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function parseLinearScale(spec, view) {
|
|
98
|
+
let dependencies = [];
|
|
99
|
+
return dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.nice, view)),
|
|
100
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.niceMin, view)),
|
|
101
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.niceMax, view)),
|
|
102
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.min, view)),
|
|
103
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.max, view)),
|
|
104
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.zero, view)),
|
|
105
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.roundRange, view)),
|
|
106
|
+
dependencies;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
function parsePowScale(spec, view) {
|
|
110
|
+
return parseLinearScale(spec, view).concat((0, util_1.parseFunctionType)(spec.exponent, view));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function parseSymlogScale(spec, view) {
|
|
114
|
+
return parseLinearScale(spec, view).concat((0, util_1.parseFunctionType)(spec.constant, view));
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function parseLogScale(spec, view) {
|
|
118
|
+
let dependencies = [];
|
|
119
|
+
return dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.nice, view)),
|
|
120
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.min, view)),
|
|
121
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.max, view)),
|
|
122
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.zero, view)),
|
|
123
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.roundRange, view)),
|
|
124
|
+
dependencies;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function parseQuantizeScale(spec, view) {
|
|
128
|
+
let dependencies = [];
|
|
129
|
+
return dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.nice, view)),
|
|
130
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.niceMin, view)),
|
|
131
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.niceMax, view)),
|
|
132
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.min, view)),
|
|
133
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.max, view)),
|
|
134
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.zero, view)),
|
|
135
|
+
dependencies;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function parseOrdinalScale(spec, view) {
|
|
139
|
+
return [];
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function parseBaseBandScale(spec, view) {
|
|
143
|
+
let dependencies = [];
|
|
144
|
+
return dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.round, view)),
|
|
145
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.padding, view)),
|
|
146
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.paddingInner, view)),
|
|
147
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.paddingOuter, view)),
|
|
148
|
+
dependencies = dependencies.concat((0, util_1.parseFunctionType)(spec.align, view)),
|
|
149
|
+
dependencies;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function parseBandScale(spec, view) {
|
|
153
|
+
return parseBaseBandScale(spec, view).concat((0, util_1.parseFunctionType)(spec.paddingInner, view));
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
function parsePointScale(spec, view) {
|
|
157
|
+
return parseBaseBandScale(spec, view);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
function parseScaleDomainRange(domain, view) {
|
|
161
|
+
return isScaleDataType(domain) ? parseScaleDataType(domain, view) : isMultiScaleDataType(domain) ? parseMultiScaleDataType(domain, view) : isScaleCoordinateType(domain) ? parseScaleCoordinateType(domain, view) : (0,
|
|
162
|
+
util_1.parseFunctionType)(domain, view);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
function parseScaleConfig(type, config, view) {
|
|
166
|
+
if ((0, vutils_1.isNil)(config)) return [];
|
|
167
|
+
const deps = (0, util_1.parseFunctionType)(config.unknown, view);
|
|
168
|
+
switch (type) {
|
|
169
|
+
case "linear":
|
|
170
|
+
case "sqrt":
|
|
171
|
+
return deps.concat(parseLinearScale(config, view));
|
|
172
|
+
|
|
173
|
+
case "ordinal":
|
|
174
|
+
return deps.concat(parseOrdinalScale(config, view));
|
|
175
|
+
|
|
176
|
+
case "band":
|
|
177
|
+
return deps.concat(parseBandScale(config, view));
|
|
178
|
+
|
|
179
|
+
case "point":
|
|
180
|
+
return deps.concat(parsePointScale(config, view));
|
|
181
|
+
|
|
182
|
+
case "pow":
|
|
183
|
+
return deps.concat(parsePowScale(config, view));
|
|
184
|
+
|
|
185
|
+
case "log":
|
|
186
|
+
case "time":
|
|
187
|
+
case "utc":
|
|
188
|
+
return deps.concat(parseLogScale(config, view));
|
|
189
|
+
|
|
190
|
+
case "symlog":
|
|
191
|
+
return deps.concat(parseSymlogScale(config, view));
|
|
192
|
+
|
|
193
|
+
case "quantize":
|
|
194
|
+
return deps.concat(parseQuantizeScale(config, view));
|
|
195
|
+
}
|
|
196
|
+
return deps;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
function configureScaleNice(spec, scale, parameters) {
|
|
200
|
+
const nice = (0, util_1.invokeFunctionType)(spec.nice, parameters, scale);
|
|
201
|
+
!0 === nice ? scale.nice() : (0, vutils_1.isValidNumber)(nice) && scale.nice(nice);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
function configureScaleNiceMinMax(spec, scale, parameters) {
|
|
205
|
+
const niceMax = (0, util_1.invokeFunctionType)(spec.niceMax, parameters, scale);
|
|
206
|
+
!0 === niceMax ? scale.niceMax() : (0, vutils_1.isValidNumber)(niceMax) && scale.niceMax(niceMax);
|
|
207
|
+
const niceMin = (0, util_1.invokeFunctionType)(spec.niceMin, parameters, scale);
|
|
208
|
+
!0 === niceMin ? scale.niceMin() : (0, vutils_1.isValidNumber)(niceMin) && scale.niceMin(niceMin);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
function configureScaleDomain(spec, scale, parameters) {
|
|
212
|
+
const min = (0, util_1.invokeFunctionType)(spec.min, parameters, scale), max = (0,
|
|
213
|
+
util_1.invokeFunctionType)(spec.max, parameters, scale), zero = (0, util_1.invokeFunctionType)(spec.zero, parameters, scale), hasValidMin = (0,
|
|
214
|
+
vutils_1.isValidNumber)(min), hasValidmax = (0, vutils_1.isValidNumber)(max), prevDomain = scale.domain();
|
|
215
|
+
if (2 === prevDomain.length && (hasValidMin || hasValidmax || zero)) {
|
|
216
|
+
let newMin = Math.min(prevDomain[0], prevDomain[prevDomain.length - 1]), newMax = Math.max(prevDomain[0], prevDomain[prevDomain.length - 1]);
|
|
217
|
+
zero && newMin > 0 ? newMin = 0 : hasValidMin && (newMin = Math.min(newMin, min)),
|
|
218
|
+
zero && newMax < 0 ? newMax = 0 : hasValidmax && (newMax = Math.max(newMax, max)),
|
|
219
|
+
scale.domain([ newMin, newMax ], !0);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
function configureContinuousScale(spec, scale, parameters) {
|
|
224
|
+
(0, util_1.invokeFunctionType)(spec.roundRange, parameters, scale) && scale.rangeRound(scale.range(), !0);
|
|
225
|
+
const config = (0, util_1.invokeFunctionType)(spec.config, parameters, scale);
|
|
226
|
+
(null == config ? void 0 : config.interpolate) && scale.interpolate(config.interpolate, !0),
|
|
227
|
+
(0, vutils_1.isNil)(null == config ? void 0 : config.clamp) || ((0, vutils_1.isFunction)(config.clamp) ? scale.clamp(!0, config.clamp, !0) : scale.clamp(config.clamp, void 0, !0));
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function configureLinearScale(spec, scale, parameters) {
|
|
231
|
+
configureScaleNice(spec, scale, parameters), configureScaleNiceMinMax(spec, scale, parameters),
|
|
232
|
+
configureScaleDomain(spec, scale, parameters), configureContinuousScale(spec, scale, parameters);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
function configurePowScale(spec, scale, parameters) {
|
|
236
|
+
configureLinearScale(spec, scale, parameters);
|
|
237
|
+
const exponent = (0, util_1.invokeFunctionType)(spec.exponent, parameters, scale);
|
|
238
|
+
exponent > 0 && scale.exponent(exponent);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
function configureLogScale(spec, scale, parameters) {
|
|
242
|
+
configureScaleNice(spec, scale, parameters), configureScaleDomain(spec, scale, parameters),
|
|
243
|
+
configureContinuousScale(spec, scale, parameters);
|
|
244
|
+
const base = (0, util_1.invokeFunctionType)(spec.base, parameters, scale);
|
|
245
|
+
base > 0 && scale.base(base);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
function configureSqrtScale(spec, scale, parameters) {
|
|
249
|
+
configureLinearScale(spec, scale, parameters);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
function configureTimeScale(spec, scale, parameters) {
|
|
253
|
+
configureScaleNice(spec, scale, parameters), configureScaleDomain(spec, scale, parameters),
|
|
254
|
+
configureContinuousScale(spec, scale, parameters);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
function configureSymlogScale(spec, scale, parameters) {
|
|
258
|
+
configureLinearScale(spec, scale, parameters);
|
|
259
|
+
const constant = (0, util_1.invokeFunctionType)(spec.constant, parameters, scale);
|
|
260
|
+
(0, vutils_1.isValidNumber)(constant) && scale.constant(constant);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
function configureQuantizeScale(spec, scale, parameters) {
|
|
264
|
+
configureScaleNice(spec, scale, parameters), configureScaleNiceMinMax(spec, scale, parameters),
|
|
265
|
+
configureScaleDomain(spec, scale, parameters);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
function configureBaseBandScale(spec, scale, parameters) {
|
|
269
|
+
spec.round && scale.round((0, util_1.invokeFunctionType)(spec.round, parameters, scale), !0),
|
|
270
|
+
spec.padding && scale.padding((0, util_1.invokeFunctionType)(spec.padding, parameters, scale), !0),
|
|
271
|
+
spec.paddingInner && scale.paddingInner((0, util_1.invokeFunctionType)(spec.paddingInner, parameters, scale), !0),
|
|
272
|
+
spec.paddingOuter && scale.paddingOuter((0, util_1.invokeFunctionType)(spec.paddingOuter, parameters, scale), !0),
|
|
273
|
+
spec.align && scale.align((0, util_1.invokeFunctionType)(spec.align, parameters, scale), !0);
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
function configureBandScale(spec, scale, parameters) {
|
|
277
|
+
return configureBaseBandScale(spec, scale, parameters);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
function configurePointScale(spec, scale, parameters) {
|
|
281
|
+
return configureBaseBandScale(spec, scale, parameters);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
function parseFieldData(spec, parameters) {
|
|
285
|
+
const field = spec.field, refData = (0, util_1.getGrammarOutput)(spec.data, parameters);
|
|
286
|
+
let fieldData = [];
|
|
287
|
+
if ((0, vutils_1.isArray)(field)) field.forEach((entry => {
|
|
288
|
+
const getter = (0, vgrammar_util_1.field)(entry);
|
|
289
|
+
refData && refData.forEach((datum => {
|
|
290
|
+
fieldData = fieldData.concat(getter(datum));
|
|
291
|
+
}));
|
|
292
|
+
})); else {
|
|
293
|
+
const getter = (0, vgrammar_util_1.field)(field);
|
|
294
|
+
refData && refData.forEach((datum => {
|
|
295
|
+
fieldData = fieldData.concat(getter(datum));
|
|
296
|
+
}));
|
|
297
|
+
}
|
|
298
|
+
return fieldData;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
function parseMultiFieldData(spec, parameters) {
|
|
302
|
+
let fieldData = [];
|
|
303
|
+
return spec.datas.forEach((entry => {
|
|
304
|
+
fieldData = fieldData.concat(parseFieldData(entry, parameters));
|
|
305
|
+
})), fieldData;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
function parseScaleDataTypeValue(fieldData, scale, sort, filterNumber) {
|
|
309
|
+
return sort && fieldData.sort(sort), (0, vscale_1.isContinuous)(scale.type) ? (filterNumber && fieldData.filter((entry => (0,
|
|
310
|
+
vutils_1.isNumber)(entry))), [ Math.min.apply(null, fieldData), Math.max.apply(null, fieldData) ]) : fieldData;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
function configureScale(spec, scale, parameters) {
|
|
314
|
+
if (isScaleDataType(spec.domain) ? scale.domain(parseScaleDataTypeValue(parseFieldData(spec.domain, parameters), scale, spec.domain.sort, !0), !0) : isMultiScaleDataType(spec.domain) ? scale.domain(parseScaleDataTypeValue(parseMultiFieldData(spec.domain, parameters), scale, spec.domain.sort, !0), !0) : scale.domain((0,
|
|
315
|
+
util_1.invokeFunctionType)(spec.domain, parameters, scale), !0), "identity" !== spec.type) if (isScaleDataType(spec.range)) scale.range(parseScaleDataTypeValue(parseFieldData(spec.range, parameters), scale), !0); else if (isMultiScaleDataType(spec.range)) scale.range(parseScaleDataTypeValue(parseMultiFieldData(spec.range, parameters), scale), !0); else if (isScaleCoordinateType(spec.range)) {
|
|
316
|
+
const coord = (0, util_1.getGrammarOutput)(spec.range.coordinate, parameters);
|
|
317
|
+
!(0, vscale_1.isDiscretizing)(scale.type) && coord && scale.range(coord.getRangeByDimension(spec.range.dimension, spec.range.isSubshaft, spec.range.reversed));
|
|
318
|
+
} else scale.range((0, util_1.invokeFunctionType)(spec.range, parameters, scale), !0);
|
|
319
|
+
switch ((0, vutils_1.isNil)(spec.unknown) || scale.unknown((0, util_1.invokeFunctionType)(spec.unknown, parameters, scale)),
|
|
320
|
+
spec.type) {
|
|
321
|
+
case "linear":
|
|
322
|
+
configureLinearScale(spec, scale, parameters), scale.rescale();
|
|
323
|
+
break;
|
|
324
|
+
|
|
325
|
+
case "band":
|
|
326
|
+
configureBandScale(spec, scale, parameters), scale.rescale();
|
|
327
|
+
break;
|
|
328
|
+
|
|
329
|
+
case "point":
|
|
330
|
+
configurePointScale(spec, scale, parameters), scale.rescale();
|
|
331
|
+
break;
|
|
332
|
+
|
|
333
|
+
case "pow":
|
|
334
|
+
configurePowScale(spec, scale, parameters), scale.rescale();
|
|
335
|
+
break;
|
|
336
|
+
|
|
337
|
+
case "log":
|
|
338
|
+
configureLogScale(spec, scale, parameters), scale.rescale();
|
|
339
|
+
break;
|
|
340
|
+
|
|
341
|
+
case "sqrt":
|
|
342
|
+
configureSqrtScale(spec, scale, parameters), scale.rescale();
|
|
343
|
+
break;
|
|
344
|
+
|
|
345
|
+
case "symlog":
|
|
346
|
+
configureSymlogScale(spec, scale, parameters), scale.rescale();
|
|
347
|
+
break;
|
|
348
|
+
|
|
349
|
+
case "time":
|
|
350
|
+
case "utc":
|
|
351
|
+
configureTimeScale(spec, scale, parameters), scale.rescale();
|
|
352
|
+
break;
|
|
353
|
+
|
|
354
|
+
case "quantize":
|
|
355
|
+
configureQuantizeScale(spec, scale, parameters), scale.rescale();
|
|
356
|
+
break;
|
|
357
|
+
|
|
358
|
+
case "quantile":
|
|
359
|
+
scale.rescale();
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
exports.createScale = createScale, exports.parseScaleDomainRange = parseScaleDomainRange,
|
|
364
|
+
exports.parseScaleConfig = parseScaleConfig, exports.configureScale = configureScale;
|
|
365
|
+
//# sourceMappingURL=scale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/parse/scale.ts"],"names":[],"mappings":"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","file":"scale.js","sourcesContent":["import { isArray, isFunction, isNil, isNumber, isString, isValidNumber } from '@visactor/vutils';\nimport type {\n IBaseScale,\n IBandLikeScale,\n ILinearScale,\n IPowScale,\n ILogScale,\n ISymlogScale,\n IContinuousScale,\n IContinuesScaleTicks,\n IQuantizeScale,\n IQuantileScale\n} from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport {\n LinearScale,\n BandScale,\n OrdinalScale,\n PointScale,\n isContinuous,\n TimeScale,\n ThresholdScale,\n SqrtScale,\n SymlogScale,\n QuantizeScale,\n QuantileScale,\n PowScale,\n LogScale,\n isDiscretizing,\n IdentityScale\n} from '@visactor/vscale';\nimport type { IView } from '../types/view';\nimport type { IGrammarBase } from '../types/grammar';\nimport type {\n BandScaleSpec,\n BaseBandScaleSpec,\n LinearScaleSpec,\n OrdinalScaleSpec,\n PointScaleSpec,\n ScaleFunctionType,\n ScaleData,\n MultiScaleData,\n ScaleSpec,\n ScaleConfigureSpec,\n ScaleCoordinate,\n PowScaleSpec,\n ContinuousScaleSpec,\n ScaleTicksSpec,\n ScaleDomainSpec,\n LogScaleSpec,\n SqrtScaleSpec,\n SymlogScaleSpec,\n QuantizeScaleSpec,\n TimeScaleSpec,\n GrammarScaleType\n} from '../types/scale';\nimport { getGrammarOutput, invokeFunctionType, parseFunctionType } from './util';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\n\nexport function createScale(type: GrammarScaleType): IBaseScale {\n switch (type) {\n case 'band':\n return new BandScale();\n case 'linear':\n return new LinearScale();\n case 'log':\n return new LogScale();\n case 'ordinal':\n return new OrdinalScale();\n case 'point':\n return new PointScale();\n case 'pow':\n return new PowScale();\n case 'quantile':\n return new QuantileScale();\n case 'quantize':\n return new QuantizeScale();\n case 'sqrt':\n return new SqrtScale();\n case 'symlog':\n return new SymlogScale();\n case 'threshold':\n return new ThresholdScale();\n case 'time':\n return new TimeScale();\n case 'utc':\n return new TimeScale(true);\n case 'identity':\n return new IdentityScale();\n }\n return new LinearScale();\n}\n\nfunction isScaleDataType(spec: ScaleData | any): spec is ScaleData {\n return !isNil(spec?.data);\n}\n\nfunction parseScaleDataType(spec: ScaleData, view: IView): IGrammarBase[] {\n if (isString(spec.data)) {\n const data = view.getGrammarById(spec.data as string);\n return data ? [data] : [];\n } else if ((spec.data as IGrammarBase)?.grammarType === 'data') {\n return [spec.data as IGrammarBase];\n }\n return [];\n}\n\nfunction isMultiScaleDataType(spec: MultiScaleData | any): spec is MultiScaleData {\n return !isNil(spec?.datas);\n}\n\nfunction parseMultiScaleDataType(spec: MultiScaleData, view: IView): IGrammarBase[] {\n if (spec?.datas && spec.datas.length) {\n const res: IGrammarBase[] = [];\n spec.datas.forEach(data => {\n const gramarBase = parseScaleDataType(data, view);\n\n if (gramarBase.length) {\n res.push(gramarBase[0]);\n }\n });\n\n return res;\n }\n\n return [];\n}\n\nfunction isScaleCoordinateType(spec: ScaleCoordinate | any): spec is ScaleCoordinate {\n return !isNil(spec?.coordinate);\n}\n\nfunction parseScaleCoordinateType(spec: ScaleCoordinate, view: IView): IGrammarBase[] {\n if (isString(spec.coordinate)) {\n const coordinate = view.getCoordinateById(spec.coordinate as string);\n return coordinate ? [coordinate] : [];\n } else if ((spec.coordinate as IGrammarBase)?.grammarType === 'coordinate') {\n return [spec.coordinate as IGrammarBase];\n }\n return [];\n}\n\nfunction parseLinearScale(spec: Omit<LinearScaleSpec, 'type'>, view: IView) {\n let dependencies: IGrammarBase[] = [];\n dependencies = dependencies.concat(parseFunctionType(spec.nice, view));\n dependencies = dependencies.concat(parseFunctionType(spec.niceMin, view));\n dependencies = dependencies.concat(parseFunctionType(spec.niceMax, view));\n dependencies = dependencies.concat(parseFunctionType(spec.min, view));\n dependencies = dependencies.concat(parseFunctionType(spec.max, view));\n dependencies = dependencies.concat(parseFunctionType(spec.zero, view));\n dependencies = dependencies.concat(parseFunctionType(spec.roundRange, view));\n return dependencies;\n}\n\nfunction parsePowScale(spec: PowScaleSpec, view: IView) {\n const dependencies = parseLinearScale(spec, view);\n return dependencies.concat(parseFunctionType(spec.exponent, view));\n}\n\nfunction parseSymlogScale(spec: SymlogScaleSpec, view: IView) {\n const dependencies = parseLinearScale(spec, view);\n return dependencies.concat(parseFunctionType(spec.constant, view));\n}\n\nfunction parseLogScale(spec: Omit<LogScaleSpec, 'type'>, view: IView) {\n let dependencies: IGrammarBase[] = [];\n dependencies = dependencies.concat(parseFunctionType(spec.nice, view));\n dependencies = dependencies.concat(parseFunctionType(spec.min, view));\n dependencies = dependencies.concat(parseFunctionType(spec.max, view));\n dependencies = dependencies.concat(parseFunctionType(spec.zero, view));\n dependencies = dependencies.concat(parseFunctionType(spec.roundRange, view));\n return dependencies;\n}\n\nfunction parseQuantizeScale(spec: QuantizeScaleSpec, view: IView) {\n let dependencies: IGrammarBase[] = [];\n dependencies = dependencies.concat(parseFunctionType(spec.nice, view));\n dependencies = dependencies.concat(parseFunctionType(spec.niceMin, view));\n dependencies = dependencies.concat(parseFunctionType(spec.niceMax, view));\n dependencies = dependencies.concat(parseFunctionType(spec.min, view));\n dependencies = dependencies.concat(parseFunctionType(spec.max, view));\n dependencies = dependencies.concat(parseFunctionType(spec.zero, view));\n return dependencies;\n}\n\nfunction parseOrdinalScale(spec: OrdinalScaleSpec, view: IView) {\n return [] as IGrammarBase[];\n}\n\nfunction parseBaseBandScale(spec: BaseBandScaleSpec, view: IView) {\n let dependencies: IGrammarBase[] = [];\n dependencies = dependencies.concat(parseFunctionType(spec.round, view));\n dependencies = dependencies.concat(parseFunctionType(spec.padding, view));\n dependencies = dependencies.concat(parseFunctionType(spec.paddingInner, view));\n dependencies = dependencies.concat(parseFunctionType(spec.paddingOuter, view));\n dependencies = dependencies.concat(parseFunctionType(spec.align, view));\n return dependencies;\n}\n\nfunction parseBandScale(spec: BandScaleSpec, view: IView) {\n const dependencies = parseBaseBandScale(spec, view);\n return dependencies.concat(parseFunctionType(spec.paddingInner, view));\n}\n\nfunction parsePointScale(spec: PointScaleSpec, view: IView) {\n return parseBaseBandScale(spec, view);\n}\n\nexport function parseScaleDomainRange(domain: ScaleFunctionType<any> | ScaleData | MultiScaleData, view: IView) {\n if (isScaleDataType(domain)) {\n return parseScaleDataType(domain, view);\n }\n\n if (isMultiScaleDataType(domain)) {\n return parseMultiScaleDataType(domain, view);\n }\n\n if (isScaleCoordinateType(domain)) {\n return parseScaleCoordinateType(domain, view);\n }\n return parseFunctionType(domain, view);\n}\n\nexport function parseScaleConfig(type: GrammarScaleType, config: ScaleConfigureSpec, view: IView): IGrammarBase[] {\n if (isNil(config)) {\n return [];\n }\n const deps: IGrammarBase[] = parseFunctionType(config.unknown, view);\n switch (type) {\n case 'linear':\n case 'sqrt':\n return deps.concat(parseLinearScale(config as LinearScaleSpec, view));\n case 'ordinal':\n return deps.concat(parseOrdinalScale(config as OrdinalScaleSpec, view));\n case 'band':\n return deps.concat(parseBandScale(config as BandScaleSpec, view));\n case 'point':\n return deps.concat(parsePointScale(config as PointScaleSpec, view));\n case 'pow':\n return deps.concat(parsePowScale(config as PowScaleSpec, view));\n case 'log':\n case 'time':\n case 'utc':\n return deps.concat(parseLogScale(config as LogScaleSpec, view));\n case 'symlog':\n return deps.concat(parseSymlogScale(config as SymlogScaleSpec, view));\n case 'quantize':\n return deps.concat(parseQuantizeScale(config as QuantizeScaleSpec, view));\n }\n return deps;\n}\n\nfunction configureScaleNice(spec: Pick<ScaleTicksSpec, 'nice'>, scale: IContinuesScaleTicks, parameters: any) {\n const nice = invokeFunctionType(spec.nice, parameters, scale);\n if (nice === true) {\n scale.nice();\n } else if (isValidNumber(nice)) {\n scale.nice(nice as number);\n }\n}\nfunction configureScaleNiceMinMax(\n spec: Pick<ScaleTicksSpec, 'niceMin' | 'niceMax'>,\n scale: IContinuesScaleTicks,\n parameters: any\n) {\n const niceMax = invokeFunctionType(spec.niceMax, parameters, scale);\n if (niceMax === true) {\n scale.niceMax();\n } else if (isValidNumber(niceMax)) {\n scale.niceMax(niceMax as number);\n }\n const niceMin = invokeFunctionType(spec.niceMin, parameters, scale);\n if (niceMin === true) {\n scale.niceMin();\n } else if (isValidNumber(niceMin)) {\n scale.niceMin(niceMin as number);\n }\n}\n\nfunction configureScaleDomain(spec: ScaleDomainSpec, scale: IBaseScale, parameters: any) {\n const min = invokeFunctionType(spec.min, parameters, scale);\n const max = invokeFunctionType(spec.max, parameters, scale);\n const zero = invokeFunctionType(spec.zero, parameters, scale);\n const hasValidMin = isValidNumber(min);\n const hasValidmax = isValidNumber(max);\n const prevDomain = scale.domain();\n\n if (prevDomain.length === 2 && (hasValidMin || hasValidmax || zero)) {\n let newMin = Math.min(prevDomain[0], prevDomain[prevDomain.length - 1]);\n let newMax = Math.max(prevDomain[0], prevDomain[prevDomain.length - 1]);\n\n if (zero && newMin > 0) {\n newMin = 0;\n } else if (hasValidMin) {\n newMin = Math.min(newMin, min);\n }\n\n if (zero && newMax < 0) {\n newMax = 0;\n } else if (hasValidmax) {\n newMax = Math.max(newMax, max);\n }\n\n scale.domain([newMin, newMax], true);\n }\n}\n\nfunction configureContinuousScale(spec: Omit<ContinuousScaleSpec, 'type'>, scale: IContinuousScale, parameters: any) {\n const rangeRound = invokeFunctionType(spec.roundRange, parameters, scale);\n\n if (rangeRound) {\n scale.rangeRound(scale.range(), true);\n }\n\n const config = invokeFunctionType(spec.config, parameters, scale);\n\n if (config?.interpolate) {\n scale.interpolate(config.interpolate, true);\n }\n\n if (!isNil(config?.clamp)) {\n if (isFunction(config.clamp)) {\n scale.clamp(true, config.clamp, true);\n } else {\n scale.clamp(config.clamp, undefined, true);\n }\n }\n}\n\nfunction configureLinearScale(spec: Omit<LinearScaleSpec, 'type'>, scale: ILinearScale, parameters: any) {\n configureScaleNice(spec, scale, parameters);\n configureScaleNiceMinMax(spec, scale, parameters);\n configureScaleDomain(spec, scale, parameters);\n configureContinuousScale(spec, scale, parameters);\n}\n\nfunction configurePowScale(spec: PowScaleSpec, scale: IPowScale, parameters: any) {\n configureLinearScale(spec, scale, parameters);\n\n const exponent = invokeFunctionType(spec.exponent, parameters, scale);\n if (exponent > 0) {\n scale.exponent(exponent as number);\n }\n}\n\nfunction configureLogScale(spec: LogScaleSpec, scale: ILogScale, parameters: any) {\n configureScaleNice(spec, scale, parameters);\n configureScaleDomain(spec, scale, parameters);\n configureContinuousScale(spec, scale, parameters);\n\n const base = invokeFunctionType(spec.base, parameters, scale);\n if (base > 0) {\n scale.base(base as number);\n }\n}\n\nfunction configureSqrtScale(spec: SqrtScaleSpec, scale: ILinearScale, parameters: any) {\n configureLinearScale(spec, scale, parameters);\n}\n\nfunction configureTimeScale(spec: Omit<TimeScaleSpec, 'type'>, scale: ILinearScale, parameters: any) {\n configureScaleNice(spec, scale, parameters);\n configureScaleDomain(spec, scale, parameters);\n configureContinuousScale(spec, scale, parameters);\n}\n\nfunction configureSymlogScale(spec: SymlogScaleSpec, scale: ISymlogScale, parameters: any) {\n configureLinearScale(spec, scale, parameters);\n\n const constant = invokeFunctionType(spec.constant, parameters, scale);\n if (isValidNumber(constant)) {\n scale.constant(constant as number);\n }\n}\n\nfunction configureQuantizeScale(spec: QuantizeScaleSpec, scale: IQuantizeScale, parameters: any) {\n configureScaleNice(spec, scale, parameters);\n configureScaleNiceMinMax(spec, scale, parameters);\n configureScaleDomain(spec, scale, parameters);\n}\n\nfunction configureBaseBandScale(spec: BaseBandScaleSpec, scale: IBandLikeScale, parameters: any) {\n spec.round && scale.round(invokeFunctionType(spec.round, parameters, scale), true);\n spec.padding && scale.padding(invokeFunctionType(spec.padding, parameters, scale), true);\n spec.paddingInner && scale.paddingInner(invokeFunctionType(spec.paddingInner, parameters, scale), true);\n spec.paddingOuter && scale.paddingOuter(invokeFunctionType(spec.paddingOuter, parameters, scale), true);\n spec.align && scale.align(invokeFunctionType(spec.align, parameters, scale), true);\n}\n\nfunction configureBandScale(spec: BandScaleSpec, scale: IBandLikeScale, parameters: any) {\n return configureBaseBandScale(spec, scale, parameters);\n}\n\nfunction configurePointScale(spec: PointScaleSpec, scale: IBandLikeScale, parameters: any) {\n return configureBaseBandScale(spec, scale, parameters);\n}\n\nfunction parseFieldData(spec: ScaleData, parameters: any) {\n const field = spec.field;\n const refData = getGrammarOutput(spec.data, parameters) as any[];\n let fieldData: any[] = [];\n\n if (isArray(field)) {\n field.forEach(entry => {\n const getter = getFieldAccessor(entry);\n\n refData &&\n refData.forEach(datum => {\n fieldData = fieldData.concat(getter(datum));\n });\n });\n } else {\n const getter = getFieldAccessor(field);\n\n refData &&\n refData.forEach(datum => {\n fieldData = fieldData.concat(getter(datum));\n });\n }\n\n return fieldData;\n}\nfunction parseMultiFieldData(spec: MultiScaleData, parameters: any) {\n let fieldData: any[] = [];\n\n spec.datas.forEach(entry => {\n fieldData = fieldData.concat(parseFieldData(entry, parameters));\n });\n\n return fieldData;\n}\n\nfunction parseScaleDataTypeValue(\n fieldData: any[],\n scale: IBaseScale,\n sort?: (datumA: any, datumB: any) => number,\n filterNumber?: boolean\n) {\n if (sort) {\n fieldData.sort(sort);\n }\n\n if (!isContinuous(scale.type)) {\n return fieldData;\n }\n\n if (filterNumber) {\n fieldData.filter(entry => isNumber(entry));\n }\n return [Math.min.apply(null, fieldData), Math.max.apply(null, fieldData)];\n}\n\nexport function configureScale(spec: ScaleSpec, scale: IBaseScale, parameters: any) {\n if (isScaleDataType(spec.domain)) {\n scale.domain(parseScaleDataTypeValue(parseFieldData(spec.domain, parameters), scale, spec.domain.sort, true), true);\n } else if (isMultiScaleDataType(spec.domain)) {\n scale.domain(\n parseScaleDataTypeValue(parseMultiFieldData(spec.domain, parameters), scale, spec.domain.sort, true),\n true\n );\n } else {\n scale.domain(invokeFunctionType(spec.domain, parameters, scale), true);\n }\n\n if (spec.type !== 'identity') {\n if (isScaleDataType(spec.range)) {\n scale.range(parseScaleDataTypeValue(parseFieldData(spec.range, parameters), scale), true);\n } else if (isMultiScaleDataType(spec.range)) {\n scale.range(parseScaleDataTypeValue(parseMultiFieldData(spec.range, parameters), scale), true);\n } else if (isScaleCoordinateType(spec.range)) {\n const coord = getGrammarOutput(spec.range.coordinate, parameters);\n\n if (!isDiscretizing(scale.type) && coord) {\n scale.range(coord.getRangeByDimension(spec.range.dimension, spec.range.isSubshaft, spec.range.reversed));\n }\n } else {\n scale.range(invokeFunctionType(spec.range, parameters, scale), true);\n }\n }\n if (!isNil(spec.unknown)) {\n scale.unknown(invokeFunctionType(spec.unknown, parameters, scale));\n }\n\n switch (spec.type) {\n case 'linear':\n configureLinearScale(spec, scale as ILinearScale, parameters);\n (scale as ILinearScale).rescale();\n break;\n case 'band':\n configureBandScale(spec, scale as IBandLikeScale, parameters);\n (scale as IBandLikeScale).rescale();\n break;\n case 'point':\n configurePointScale(spec, scale as IBandLikeScale, parameters);\n (scale as IBandLikeScale).rescale();\n break;\n case 'pow':\n configurePowScale(spec, scale as IPowScale, parameters);\n (scale as IContinuousScale).rescale();\n break;\n case 'log':\n configureLogScale(spec, scale as ILogScale, parameters);\n (scale as IContinuousScale).rescale();\n break;\n case 'sqrt':\n configureSqrtScale(spec, scale as ILinearScale, parameters);\n (scale as IContinuousScale).rescale();\n break;\n case 'symlog':\n configureSymlogScale(spec, scale as ISymlogScale, parameters);\n (scale as IContinuousScale).rescale();\n break;\n case 'time':\n case 'utc':\n configureTimeScale(spec, scale as ILinearScale, parameters);\n (scale as IContinuousScale).rescale();\n break;\n case 'quantize':\n configureQuantizeScale(spec, scale as IQuantizeScale, parameters);\n (scale as IQuantizeScale).rescale();\n break;\n case 'quantile':\n (scale as IQuantileScale).rescale();\n break;\n }\n}\n"]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.parseTransformSpec = void 0;
|
|
6
|
+
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), factory_1 = require("../core/factory"), util_1 = require("./util"), parseSimpleOptionValue = (key, transformSpecValue, view) => {
|
|
8
|
+
var _a;
|
|
9
|
+
if ("callback" === key && (0, vutils_1.isFunction)(transformSpecValue)) return {
|
|
10
|
+
references: [],
|
|
11
|
+
value: {
|
|
12
|
+
callback: transformSpecValue,
|
|
13
|
+
dependency: []
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
if (!(0, vutils_1.isNil)(transformSpecValue.data)) {
|
|
17
|
+
const grammarInstance = view.getDataById(transformSpecValue.data);
|
|
18
|
+
return {
|
|
19
|
+
references: [ grammarInstance ],
|
|
20
|
+
value: grammarInstance
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (!(0, vutils_1.isNil)(transformSpecValue.customized)) {
|
|
24
|
+
const grammarInstance = view.getCustomizedById(transformSpecValue.customized);
|
|
25
|
+
return {
|
|
26
|
+
references: [ grammarInstance ],
|
|
27
|
+
value: grammarInstance
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
if (!(0, vutils_1.isNil)(transformSpecValue.scale)) {
|
|
31
|
+
const grammarInstance = view.getScaleById(transformSpecValue.scale);
|
|
32
|
+
return {
|
|
33
|
+
references: [ grammarInstance ],
|
|
34
|
+
value: grammarInstance
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
if ((0, util_1.isSignal)(transformSpecValue)) {
|
|
38
|
+
const references = (0, util_1.parseFunctionType)(transformSpecValue, view);
|
|
39
|
+
return {
|
|
40
|
+
references: references,
|
|
41
|
+
value: transformSpecValue.callback ? {
|
|
42
|
+
value: transformSpecValue.callback,
|
|
43
|
+
dependency: references
|
|
44
|
+
} : null !== (_a = null == references ? void 0 : references[0]) && void 0 !== _a ? _a : transformSpecValue
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
value: transformSpecValue
|
|
49
|
+
};
|
|
50
|
+
}, parseTransformOption = (key, transformSpecValue, view) => {
|
|
51
|
+
if ((0, vutils_1.isNil)(transformSpecValue)) return {
|
|
52
|
+
value: transformSpecValue
|
|
53
|
+
};
|
|
54
|
+
if ((0, vutils_1.isArray)(transformSpecValue)) {
|
|
55
|
+
const values = transformSpecValue.map((v => parseSimpleOptionValue(key, v, view)));
|
|
56
|
+
return {
|
|
57
|
+
references: values.reduce(((res, val) => (val.references && res.concat(val.references),
|
|
58
|
+
res)), []),
|
|
59
|
+
value: values.map((entry => entry.value))
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return parseSimpleOptionValue(key, transformSpecValue, view);
|
|
63
|
+
}, parseTransform = (transformSpec, view) => {
|
|
64
|
+
const transformDef = factory_1.Factory.getTransform(transformSpec.type);
|
|
65
|
+
if (!transformDef) return;
|
|
66
|
+
const options = {};
|
|
67
|
+
let references = [];
|
|
68
|
+
return Object.keys(transformSpec).forEach((specKey => {
|
|
69
|
+
var _a;
|
|
70
|
+
if ("type" === specKey) return;
|
|
71
|
+
const specValue = transformSpec[specKey];
|
|
72
|
+
if ("dependency" === specKey) return void ((null == specValue ? void 0 : specValue.length) && (references = references.concat((0,
|
|
73
|
+
util_1.parseReference)(specValue, view))));
|
|
74
|
+
const res = parseTransformOption(specKey, specValue, view);
|
|
75
|
+
res && ((null === (_a = res.references) || void 0 === _a ? void 0 : _a.length) && (references = references.concat(res.references)),
|
|
76
|
+
options[specKey] = res.value);
|
|
77
|
+
})), {
|
|
78
|
+
markPhase: transformDef.markPhase,
|
|
79
|
+
transform: transformDef.transform,
|
|
80
|
+
canProgressive: transformDef.canProgressive,
|
|
81
|
+
type: transformDef.type,
|
|
82
|
+
options: options,
|
|
83
|
+
references: references
|
|
84
|
+
};
|
|
85
|
+
}, parseTransformSpec = (spec, view) => {
|
|
86
|
+
if (null == spec ? void 0 : spec.length) {
|
|
87
|
+
const transforms = [];
|
|
88
|
+
let refs = [];
|
|
89
|
+
return spec.forEach((transformSpec => {
|
|
90
|
+
var _a;
|
|
91
|
+
const transform = parseTransform(transformSpec, view);
|
|
92
|
+
transform && ((null === (_a = transform.references) || void 0 === _a ? void 0 : _a.length) && (refs = refs.concat(transform.references)),
|
|
93
|
+
transforms.push(transform));
|
|
94
|
+
})), {
|
|
95
|
+
transforms: transforms,
|
|
96
|
+
refs: refs
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return null;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
exports.parseTransformSpec = parseTransformSpec;
|
|
103
|
+
//# sourceMappingURL=transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/parse/transform.ts"],"names":[],"mappings":"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","file":"transform.js","sourcesContent":["import { isArray, isFunction, isNil } from '@visactor/vutils';\nimport { Factory } from '../core/factory';\nimport type { IGrammarBase, IGrammarTask, IView, TransformSpec, TransformSpecValue } from '../types';\nimport { isSignal, parseFunctionType, parseReference } from './util';\n\nconst parseSimpleOptionValue = (key: string, transformSpecValue: TransformSpecValue, view: IView) => {\n if (key === 'callback' && isFunction(transformSpecValue)) {\n return {\n references: [],\n value: {\n callback: transformSpecValue,\n dependency: []\n }\n };\n }\n\n if (!isNil((transformSpecValue as TransformSpecValue).data)) {\n // { data: 'someData' }\n const grammarInstance = view.getDataById((transformSpecValue as TransformSpecValue).data);\n return {\n references: [grammarInstance],\n value: grammarInstance\n };\n }\n\n if (!isNil((transformSpecValue as TransformSpecValue).customized)) {\n // { customized: 'proj' }\n const grammarInstance = view.getCustomizedById((transformSpecValue as TransformSpecValue).customized);\n return {\n references: [grammarInstance],\n value: grammarInstance\n };\n }\n\n if (!isNil((transformSpecValue as TransformSpecValue).scale)) {\n // { scale: 'scaleX' }\n const grammarInstance = view.getScaleById((transformSpecValue as TransformSpecValue).scale);\n return {\n references: [grammarInstance],\n value: grammarInstance\n };\n }\n\n if (isSignal(transformSpecValue)) {\n const references = parseFunctionType(transformSpecValue, view);\n\n return {\n references,\n value: transformSpecValue.callback\n ? {\n value: transformSpecValue.callback,\n dependency: references\n }\n : references?.[0] ?? transformSpecValue\n };\n }\n\n return { value: transformSpecValue };\n};\n\nconst parseTransformOption = (key: string, transformSpecValue: TransformSpecValue, view: IView) => {\n if (isNil(transformSpecValue)) {\n return { value: transformSpecValue };\n }\n\n if (isArray(transformSpecValue)) {\n const values = transformSpecValue.map((v: any) => parseSimpleOptionValue(key, v, view));\n\n return {\n references: values.reduce((res: any[], val: any) => {\n if (val.references) {\n res.concat(val.references);\n }\n\n return res;\n }, []),\n value: values.map((entry: any) => entry.value)\n };\n }\n\n return parseSimpleOptionValue(key, transformSpecValue, view);\n};\n\nconst parseTransform = (transformSpec: TransformSpec, view: IView) => {\n const transformDef = Factory.getTransform(transformSpec.type);\n\n if (!transformDef) {\n return;\n }\n\n const options = {};\n let references: IGrammarBase[] = [];\n\n Object.keys(transformSpec).forEach(specKey => {\n // we dont need to parse type\n if (specKey === 'type') {\n return;\n }\n\n const specValue = transformSpec[specKey];\n if (specKey === 'dependency') {\n if (specValue?.length) {\n references = references.concat(parseReference(specValue, view));\n }\n return;\n }\n const res = parseTransformOption(specKey, specValue, view);\n\n if (res) {\n if (res.references?.length) {\n references = references.concat(res.references);\n }\n\n options[specKey] = res.value;\n }\n });\n\n return {\n markPhase: transformDef.markPhase,\n transform: transformDef.transform,\n canProgressive: transformDef.canProgressive,\n type: transformDef.type,\n options,\n references\n };\n};\n\nexport const parseTransformSpec = (spec: TransformSpec[], view: IView) => {\n if (spec?.length) {\n const transforms: IGrammarTask[] = [];\n let refs: IGrammarBase[] = [];\n spec.forEach(transformSpec => {\n const transform = parseTransform(transformSpec, view);\n\n if (transform) {\n if (transform.references?.length) {\n refs = refs.concat(transform.references);\n }\n\n transforms.push(transform);\n }\n });\n return { transforms, refs };\n }\n\n return null;\n};\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { IElement } from '../types/element';
|
|
2
|
+
import type { FunctionCallback, SignalDependency, SignalReference, IView, GenericFunctionType, SignalFunction, ParameterFunctionType, Nil } from '../types';
|
|
3
|
+
import type { IGrammarBase } from '../types/grammar';
|
|
4
|
+
export declare function parseReference(dependency: SignalDependency | SignalDependency[], view: IView): IGrammarBase[];
|
|
5
|
+
export declare function parseFunctionType<Callback extends FunctionCallback<T>, T>(spec: GenericFunctionType<Callback, T> | Nil, view: IView): IGrammarBase[];
|
|
6
|
+
export declare function isFunctionType<Callback extends FunctionCallback<T>, T>(spec: any): spec is Callback | SignalReference | SignalFunction<Callback, T>;
|
|
7
|
+
export declare function invokeFunctionType<Callback extends FunctionCallback<T>, T>(spec: GenericFunctionType<Callback, T> | Nil, parameters: any, datumOrGrammarInstance?: any | IGrammarBase, element?: IElement | any): T;
|
|
8
|
+
export declare function invokeParameterFunctionType<T>(spec: ParameterFunctionType<T>, parameters: any): T;
|
|
9
|
+
export declare function getGrammarOutput(grammar: IGrammarBase | string, parameters: any): any;
|
|
10
|
+
export declare function isSignal(obj: any): any;
|
|
11
|
+
export declare const isGrammar: (el: any) => el is IGrammarBase;
|
|
12
|
+
export declare const parseField: <T>(field: string | symbol | ((datum: T) => symbol | string)) => (datum: T) => any;
|
|
13
|
+
export declare const parseColor: (color: any) => string | null;
|