@tachui/cli 0.8.5-alpha → 0.8.10-alpha.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 +37 -427
- package/bin/tacho.js +12 -10
- package/dist/commands/analyze-imports.d.ts.map +1 -0
- package/dist/commands/analyze-imports.js.map +1 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/dev.d.ts.map +1 -0
- package/dist/{cli/src/commands → commands}/dev.js +3 -3
- package/dist/commands/dev.js.map +1 -0
- package/dist/{cli/src/commands → commands}/generate.d.ts +1 -1
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/{cli/src/commands → commands}/generate.js +1 -1
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/init.d.ts +17 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +224 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/migrate/remove-modifier-trigger.d.ts.map +1 -0
- package/dist/commands/migrate/remove-modifier-trigger.js.map +1 -0
- package/dist/commands/migrate.d.ts.map +1 -0
- package/dist/{cli/src/commands → commands}/migrate.js +3 -3
- package/dist/commands/migrate.js.map +1 -0
- package/dist/commands/modifier-docs.d.ts.map +1 -0
- package/dist/commands/modifier-docs.js.map +1 -0
- package/dist/commands/optimize.d.ts.map +1 -0
- package/dist/commands/optimize.js.map +1 -0
- package/dist/import-optimizer.d.ts.map +1 -0
- package/dist/import-optimizer.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/remove-modifier-trigger.d.ts.map +1 -0
- package/dist/migrations/remove-modifier-trigger.js.map +1 -0
- package/dist/scaffold/core-version-map.d.ts +2 -0
- package/dist/scaffold/core-version-map.d.ts.map +1 -0
- package/dist/scaffold/core-version-map.js +130 -0
- package/dist/scaffold/core-version-map.js.map +1 -0
- package/dist/scaffold/create-project.d.ts +15 -0
- package/dist/scaffold/create-project.d.ts.map +1 -0
- package/dist/scaffold/create-project.js +84 -0
- package/dist/scaffold/create-project.js.map +1 -0
- package/dist/scaffold/package-root.d.ts +2 -0
- package/dist/scaffold/package-root.d.ts.map +1 -0
- package/dist/scaffold/package-root.js +34 -0
- package/dist/scaffold/package-root.js.map +1 -0
- package/dist/scaffold/templates.d.ts +11 -0
- package/dist/scaffold/templates.d.ts.map +1 -0
- package/dist/scaffold/templates.js +26 -0
- package/dist/scaffold/templates.js.map +1 -0
- package/dist/scaffold/validators.d.ts +2 -0
- package/dist/scaffold/validators.d.ts.map +1 -0
- package/dist/scaffold/validators.js +32 -0
- package/dist/scaffold/validators.js.map +1 -0
- package/package.json +4 -4
- package/templates/advanced/README.md.template +23 -0
- package/templates/advanced/index.html.template +23 -0
- package/templates/advanced/package.json.template +20 -0
- package/templates/advanced/src/App.ts.template +54 -0
- package/templates/advanced/src/main.ts.template +4 -0
- package/templates/advanced/tsconfig.json.template +14 -0
- package/templates/advanced/vite.config.ts.template +11 -0
- package/templates/basic/README.md.template +17 -0
- package/templates/basic/index.html.template +22 -0
- package/templates/basic/package.json.template +20 -0
- package/templates/basic/src/App.ts.template +35 -0
- package/templates/basic/src/main.ts.template +4 -0
- package/templates/basic/tsconfig.json.template +14 -0
- package/templates/basic/vite.config.ts.template +11 -0
- package/dist/cli/src/commands/analyze-imports.d.ts.map +0 -1
- package/dist/cli/src/commands/analyze-imports.js.map +0 -1
- package/dist/cli/src/commands/analyze.d.ts.map +0 -1
- package/dist/cli/src/commands/analyze.js.map +0 -1
- package/dist/cli/src/commands/dev.d.ts.map +0 -1
- package/dist/cli/src/commands/dev.js.map +0 -1
- package/dist/cli/src/commands/generate.d.ts.map +0 -1
- package/dist/cli/src/commands/generate.js.map +0 -1
- package/dist/cli/src/commands/init.d.ts +0 -8
- package/dist/cli/src/commands/init.d.ts.map +0 -1
- package/dist/cli/src/commands/init.js +0 -707
- package/dist/cli/src/commands/init.js.map +0 -1
- package/dist/cli/src/commands/migrate/remove-modifier-trigger.d.ts.map +0 -1
- package/dist/cli/src/commands/migrate/remove-modifier-trigger.js.map +0 -1
- package/dist/cli/src/commands/migrate.d.ts.map +0 -1
- package/dist/cli/src/commands/migrate.js.map +0 -1
- package/dist/cli/src/commands/modifier-docs.d.ts.map +0 -1
- package/dist/cli/src/commands/modifier-docs.js.map +0 -1
- package/dist/cli/src/commands/optimize.d.ts.map +0 -1
- package/dist/cli/src/commands/optimize.js.map +0 -1
- package/dist/cli/src/import-optimizer.d.ts.map +0 -1
- package/dist/cli/src/import-optimizer.js.map +0 -1
- package/dist/cli/src/index.d.ts.map +0 -1
- package/dist/cli/src/index.js.map +0 -1
- package/dist/cli/src/migrations/remove-modifier-trigger.d.ts.map +0 -1
- package/dist/cli/src/migrations/remove-modifier-trigger.js.map +0 -1
- package/dist/core/package.json +0 -223
- package/dist/core/src/assets/Asset.d.ts +0 -11
- package/dist/core/src/assets/Asset.d.ts.map +0 -1
- package/dist/core/src/assets/Asset.js +0 -12
- package/dist/core/src/assets/Asset.js.map +0 -1
- package/dist/core/src/assets/AssetCollection.d.ts +0 -14
- package/dist/core/src/assets/AssetCollection.d.ts.map +0 -1
- package/dist/core/src/assets/AssetCollection.js +0 -133
- package/dist/core/src/assets/AssetCollection.js.map +0 -1
- package/dist/core/src/assets/ColorAsset.d.ts +0 -31
- package/dist/core/src/assets/ColorAsset.d.ts.map +0 -1
- package/dist/core/src/assets/ColorAsset.js +0 -182
- package/dist/core/src/assets/ColorAsset.js.map +0 -1
- package/dist/core/src/assets/FontAsset.d.ts +0 -114
- package/dist/core/src/assets/FontAsset.d.ts.map +0 -1
- package/dist/core/src/assets/FontAsset.js +0 -289
- package/dist/core/src/assets/FontAsset.js.map +0 -1
- package/dist/core/src/assets/ImageAsset.d.ts +0 -35
- package/dist/core/src/assets/ImageAsset.d.ts.map +0 -1
- package/dist/core/src/assets/ImageAsset.js +0 -69
- package/dist/core/src/assets/ImageAsset.js.map +0 -1
- package/dist/core/src/assets/index.d.ts +0 -27
- package/dist/core/src/assets/index.d.ts.map +0 -1
- package/dist/core/src/assets/index.js +0 -137
- package/dist/core/src/assets/index.js.map +0 -1
- package/dist/core/src/assets/types.d.ts +0 -10
- package/dist/core/src/assets/types.d.ts.map +0 -1
- package/dist/core/src/assets/types.js +0 -6
- package/dist/core/src/assets/types.js.map +0 -1
- package/dist/core/src/compiler/advanced-parser.d.ts +0 -113
- package/dist/core/src/compiler/advanced-parser.d.ts.map +0 -1
- package/dist/core/src/compiler/advanced-parser.js +0 -702
- package/dist/core/src/compiler/advanced-parser.js.map +0 -1
- package/dist/core/src/compiler/codegen.d.ts +0 -20
- package/dist/core/src/compiler/codegen.d.ts.map +0 -1
- package/dist/core/src/compiler/codegen.js +0 -509
- package/dist/core/src/compiler/codegen.js.map +0 -1
- package/dist/core/src/compiler/enhanced-codegen.d.ts +0 -121
- package/dist/core/src/compiler/enhanced-codegen.d.ts.map +0 -1
- package/dist/core/src/compiler/enhanced-codegen.js +0 -607
- package/dist/core/src/compiler/enhanced-codegen.js.map +0 -1
- package/dist/core/src/compiler/index.d.ts +0 -14
- package/dist/core/src/compiler/index.d.ts.map +0 -1
- package/dist/core/src/compiler/index.js +0 -12
- package/dist/core/src/compiler/index.js.map +0 -1
- package/dist/core/src/compiler/parser.d.ts +0 -12
- package/dist/core/src/compiler/parser.d.ts.map +0 -1
- package/dist/core/src/compiler/parser.js +0 -407
- package/dist/core/src/compiler/parser.js.map +0 -1
- package/dist/core/src/compiler/plugin.d.ts +0 -13
- package/dist/core/src/compiler/plugin.d.ts.map +0 -1
- package/dist/core/src/compiler/plugin.js +0 -456
- package/dist/core/src/compiler/plugin.js.map +0 -1
- package/dist/core/src/compiler/types.d.ts +0 -177
- package/dist/core/src/compiler/types.d.ts.map +0 -1
- package/dist/core/src/compiler/types.js +0 -5
- package/dist/core/src/compiler/types.js.map +0 -1
- package/dist/core/src/components/factory.d.ts +0 -24
- package/dist/core/src/components/factory.d.ts.map +0 -1
- package/dist/core/src/components/factory.js +0 -19
- package/dist/core/src/components/factory.js.map +0 -1
- package/dist/core/src/components/index.d.ts +0 -12
- package/dist/core/src/components/index.d.ts.map +0 -1
- package/dist/core/src/components/index.js +0 -9
- package/dist/core/src/components/index.js.map +0 -1
- package/dist/core/src/components/wrapper.d.ts +0 -142
- package/dist/core/src/components/wrapper.d.ts.map +0 -1
- package/dist/core/src/components/wrapper.js +0 -628
- package/dist/core/src/components/wrapper.js.map +0 -1
- package/dist/core/src/concatenation/concatenatable.d.ts +0 -63
- package/dist/core/src/concatenation/concatenatable.d.ts.map +0 -1
- package/dist/core/src/concatenation/concatenatable.js +0 -158
- package/dist/core/src/concatenation/concatenatable.js.map +0 -1
- package/dist/core/src/concatenation/concatenated-component.d.ts +0 -124
- package/dist/core/src/concatenation/concatenated-component.d.ts.map +0 -1
- package/dist/core/src/concatenation/concatenated-component.js +0 -447
- package/dist/core/src/concatenation/concatenated-component.js.map +0 -1
- package/dist/core/src/concatenation/index.d.ts +0 -13
- package/dist/core/src/concatenation/index.d.ts.map +0 -1
- package/dist/core/src/concatenation/index.js +0 -16
- package/dist/core/src/concatenation/index.js.map +0 -1
- package/dist/core/src/concatenation/text-optimizer.d.ts +0 -104
- package/dist/core/src/concatenation/text-optimizer.d.ts.map +0 -1
- package/dist/core/src/concatenation/text-optimizer.js +0 -349
- package/dist/core/src/concatenation/text-optimizer.js.map +0 -1
- package/dist/core/src/concatenation/types.d.ts +0 -88
- package/dist/core/src/concatenation/types.d.ts.map +0 -1
- package/dist/core/src/concatenation/types.js +0 -23
- package/dist/core/src/concatenation/types.js.map +0 -1
- package/dist/core/src/config.d.ts +0 -7
- package/dist/core/src/config.d.ts.map +0 -1
- package/dist/core/src/config.js +0 -17
- package/dist/core/src/config.js.map +0 -1
- package/dist/core/src/constants/frame-utils.d.ts +0 -68
- package/dist/core/src/constants/frame-utils.d.ts.map +0 -1
- package/dist/core/src/constants/frame-utils.js +0 -156
- package/dist/core/src/constants/frame-utils.js.map +0 -1
- package/dist/core/src/constants/index.d.ts +0 -8
- package/dist/core/src/constants/index.d.ts.map +0 -1
- package/dist/core/src/constants/index.js +0 -8
- package/dist/core/src/constants/index.js.map +0 -1
- package/dist/core/src/constants/layout.d.ts +0 -96
- package/dist/core/src/constants/layout.d.ts.map +0 -1
- package/dist/core/src/constants/layout.js +0 -124
- package/dist/core/src/constants/layout.js.map +0 -1
- package/dist/core/src/css-classes/component-base.d.ts +0 -40
- package/dist/core/src/css-classes/component-base.d.ts.map +0 -1
- package/dist/core/src/css-classes/component-base.js +0 -90
- package/dist/core/src/css-classes/component-base.js.map +0 -1
- package/dist/core/src/css-classes/css-class-manager.d.ts +0 -89
- package/dist/core/src/css-classes/css-class-manager.d.ts.map +0 -1
- package/dist/core/src/css-classes/css-class-manager.js +0 -328
- package/dist/core/src/css-classes/css-class-manager.js.map +0 -1
- package/dist/core/src/css-classes/dom-integration.d.ts +0 -76
- package/dist/core/src/css-classes/dom-integration.d.ts.map +0 -1
- package/dist/core/src/css-classes/dom-integration.js +0 -104
- package/dist/core/src/css-classes/dom-integration.js.map +0 -1
- package/dist/core/src/css-classes/enhanced-renderer.d.ts +0 -42
- package/dist/core/src/css-classes/enhanced-renderer.d.ts.map +0 -1
- package/dist/core/src/css-classes/enhanced-renderer.js +0 -121
- package/dist/core/src/css-classes/enhanced-renderer.js.map +0 -1
- package/dist/core/src/css-classes/index.d.ts +0 -14
- package/dist/core/src/css-classes/index.d.ts.map +0 -1
- package/dist/core/src/css-classes/index.js +0 -14
- package/dist/core/src/css-classes/index.js.map +0 -1
- package/dist/core/src/css-classes/types.d.ts +0 -59
- package/dist/core/src/css-classes/types.d.ts.map +0 -1
- package/dist/core/src/css-classes/types.js +0 -8
- package/dist/core/src/css-classes/types.js.map +0 -1
- package/dist/core/src/css-classes/utilities.d.ts +0 -104
- package/dist/core/src/css-classes/utilities.d.ts.map +0 -1
- package/dist/core/src/css-classes/utilities.js +0 -126
- package/dist/core/src/css-classes/utilities.js.map +0 -1
- package/dist/core/src/gradients/css-generator.d.ts +0 -10
- package/dist/core/src/gradients/css-generator.d.ts.map +0 -1
- package/dist/core/src/gradients/css-generator.js +0 -123
- package/dist/core/src/gradients/css-generator.js.map +0 -1
- package/dist/core/src/gradients/examples.d.ts +0 -432
- package/dist/core/src/gradients/examples.d.ts.map +0 -1
- package/dist/core/src/gradients/examples.js +0 -588
- package/dist/core/src/gradients/examples.js.map +0 -1
- package/dist/core/src/gradients/gradient-asset.d.ts +0 -10
- package/dist/core/src/gradients/gradient-asset.d.ts.map +0 -1
- package/dist/core/src/gradients/gradient-asset.js +0 -25
- package/dist/core/src/gradients/gradient-asset.js.map +0 -1
- package/dist/core/src/gradients/index.d.ts +0 -19
- package/dist/core/src/gradients/index.d.ts.map +0 -1
- package/dist/core/src/gradients/index.js +0 -56
- package/dist/core/src/gradients/index.js.map +0 -1
- package/dist/core/src/gradients/performance.d.ts +0 -146
- package/dist/core/src/gradients/performance.d.ts.map +0 -1
- package/dist/core/src/gradients/performance.js +0 -413
- package/dist/core/src/gradients/performance.js.map +0 -1
- package/dist/core/src/gradients/presets.d.ts +0 -165
- package/dist/core/src/gradients/presets.d.ts.map +0 -1
- package/dist/core/src/gradients/presets.js +0 -371
- package/dist/core/src/gradients/presets.js.map +0 -1
- package/dist/core/src/gradients/reactive.d.ts +0 -167
- package/dist/core/src/gradients/reactive.d.ts.map +0 -1
- package/dist/core/src/gradients/reactive.js +0 -329
- package/dist/core/src/gradients/reactive.js.map +0 -1
- package/dist/core/src/gradients/state-gradient-asset.d.ts +0 -67
- package/dist/core/src/gradients/state-gradient-asset.d.ts.map +0 -1
- package/dist/core/src/gradients/state-gradient-asset.js +0 -145
- package/dist/core/src/gradients/state-gradient-asset.js.map +0 -1
- package/dist/core/src/gradients/types.d.ts +0 -6
- package/dist/core/src/gradients/types.d.ts.map +0 -1
- package/dist/core/src/gradients/types.js +0 -6
- package/dist/core/src/gradients/types.js.map +0 -1
- package/dist/core/src/gradients/utils.d.ts +0 -313
- package/dist/core/src/gradients/utils.d.ts.map +0 -1
- package/dist/core/src/gradients/utils.js +0 -513
- package/dist/core/src/gradients/utils.js.map +0 -1
- package/dist/core/src/gradients/validation.d.ts +0 -156
- package/dist/core/src/gradients/validation.d.ts.map +0 -1
- package/dist/core/src/gradients/validation.js +0 -392
- package/dist/core/src/gradients/validation.js.map +0 -1
- package/dist/core/src/index.d.ts +0 -33
- package/dist/core/src/index.d.ts.map +0 -1
- package/dist/core/src/index.js +0 -57
- package/dist/core/src/index.js.map +0 -1
- package/dist/core/src/lifecycle/hooks.d.ts +0 -101
- package/dist/core/src/lifecycle/hooks.d.ts.map +0 -1
- package/dist/core/src/lifecycle/hooks.js +0 -241
- package/dist/core/src/lifecycle/hooks.js.map +0 -1
- package/dist/core/src/modifiers/alignment.d.ts +0 -5
- package/dist/core/src/modifiers/alignment.d.ts.map +0 -1
- package/dist/core/src/modifiers/alignment.js +0 -19
- package/dist/core/src/modifiers/alignment.js.map +0 -1
- package/dist/core/src/modifiers/base.d.ts +0 -128
- package/dist/core/src/modifiers/base.d.ts.map +0 -1
- package/dist/core/src/modifiers/base.js +0 -1062
- package/dist/core/src/modifiers/base.js.map +0 -1
- package/dist/core/src/modifiers/builder.d.ts +0 -148
- package/dist/core/src/modifiers/builder.d.ts.map +0 -1
- package/dist/core/src/modifiers/builder.js +0 -903
- package/dist/core/src/modifiers/builder.js.map +0 -1
- package/dist/core/src/modifiers/core.d.ts +0 -14
- package/dist/core/src/modifiers/core.d.ts.map +0 -1
- package/dist/core/src/modifiers/core.js +0 -16
- package/dist/core/src/modifiers/core.js.map +0 -1
- package/dist/core/src/modifiers/corner-radius.d.ts +0 -8
- package/dist/core/src/modifiers/corner-radius.d.ts.map +0 -1
- package/dist/core/src/modifiers/corner-radius.js +0 -19
- package/dist/core/src/modifiers/corner-radius.js.map +0 -1
- package/dist/core/src/modifiers/factories.d.ts +0 -88
- package/dist/core/src/modifiers/factories.d.ts.map +0 -1
- package/dist/core/src/modifiers/factories.js +0 -376
- package/dist/core/src/modifiers/factories.js.map +0 -1
- package/dist/core/src/modifiers/index.d.ts +0 -17
- package/dist/core/src/modifiers/index.d.ts.map +0 -1
- package/dist/core/src/modifiers/index.js +0 -16
- package/dist/core/src/modifiers/index.js.map +0 -1
- package/dist/core/src/modifiers/layout-priority.d.ts +0 -8
- package/dist/core/src/modifiers/layout-priority.d.ts.map +0 -1
- package/dist/core/src/modifiers/layout-priority.js +0 -19
- package/dist/core/src/modifiers/layout-priority.js.map +0 -1
- package/dist/core/src/modifiers/opacity.d.ts +0 -8
- package/dist/core/src/modifiers/opacity.d.ts.map +0 -1
- package/dist/core/src/modifiers/opacity.js +0 -19
- package/dist/core/src/modifiers/opacity.js.map +0 -1
- package/dist/core/src/modifiers/presets.d.ts +0 -368
- package/dist/core/src/modifiers/presets.d.ts.map +0 -1
- package/dist/core/src/modifiers/presets.js +0 -394
- package/dist/core/src/modifiers/presets.js.map +0 -1
- package/dist/core/src/modifiers/proxy.d.ts +0 -4
- package/dist/core/src/modifiers/proxy.d.ts.map +0 -1
- package/dist/core/src/modifiers/proxy.js +0 -212
- package/dist/core/src/modifiers/proxy.js.map +0 -1
- package/dist/core/src/modifiers/registration-utils.d.ts +0 -7
- package/dist/core/src/modifiers/registration-utils.d.ts.map +0 -1
- package/dist/core/src/modifiers/registration-utils.js +0 -46
- package/dist/core/src/modifiers/registration-utils.js.map +0 -1
- package/dist/core/src/modifiers/registry.d.ts +0 -78
- package/dist/core/src/modifiers/registry.d.ts.map +0 -1
- package/dist/core/src/modifiers/registry.js +0 -397
- package/dist/core/src/modifiers/registry.js.map +0 -1
- package/dist/core/src/modifiers/types.d.ts +0 -6
- package/dist/core/src/modifiers/types.d.ts.map +0 -1
- package/dist/core/src/modifiers/types.js +0 -6
- package/dist/core/src/modifiers/types.js.map +0 -1
- package/dist/core/src/plugins/index.d.ts +0 -16
- package/dist/core/src/plugins/index.d.ts.map +0 -1
- package/dist/core/src/plugins/index.js +0 -21
- package/dist/core/src/plugins/index.js.map +0 -1
- package/dist/core/src/plugins/legacy-adapter.d.ts +0 -35
- package/dist/core/src/plugins/legacy-adapter.d.ts.map +0 -1
- package/dist/core/src/plugins/legacy-adapter.js +0 -57
- package/dist/core/src/plugins/legacy-adapter.js.map +0 -1
- package/dist/core/src/plugins/simplified-component-registry.d.ts +0 -40
- package/dist/core/src/plugins/simplified-component-registry.d.ts.map +0 -1
- package/dist/core/src/plugins/simplified-component-registry.js +0 -97
- package/dist/core/src/plugins/simplified-component-registry.js.map +0 -1
- package/dist/core/src/plugins/simplified-lazy-loader.d.ts +0 -65
- package/dist/core/src/plugins/simplified-lazy-loader.d.ts.map +0 -1
- package/dist/core/src/plugins/simplified-lazy-loader.js +0 -205
- package/dist/core/src/plugins/simplified-lazy-loader.js.map +0 -1
- package/dist/core/src/plugins/simplified-plugin-manager.d.ts +0 -24
- package/dist/core/src/plugins/simplified-plugin-manager.d.ts.map +0 -1
- package/dist/core/src/plugins/simplified-plugin-manager.js +0 -77
- package/dist/core/src/plugins/simplified-plugin-manager.js.map +0 -1
- package/dist/core/src/plugins/simplified-tachui-instance.d.ts +0 -54
- package/dist/core/src/plugins/simplified-tachui-instance.d.ts.map +0 -1
- package/dist/core/src/plugins/simplified-tachui-instance.js +0 -114
- package/dist/core/src/plugins/simplified-tachui-instance.js.map +0 -1
- package/dist/core/src/plugins/simplified-types.d.ts +0 -63
- package/dist/core/src/plugins/simplified-types.d.ts.map +0 -1
- package/dist/core/src/plugins/simplified-types.js +0 -18
- package/dist/core/src/plugins/simplified-types.js.map +0 -1
- package/dist/core/src/plugins/simplified-utils.d.ts +0 -39
- package/dist/core/src/plugins/simplified-utils.d.ts.map +0 -1
- package/dist/core/src/plugins/simplified-utils.js +0 -104
- package/dist/core/src/plugins/simplified-utils.js.map +0 -1
- package/dist/core/src/reactive/cleanup.d.ts +0 -115
- package/dist/core/src/reactive/cleanup.d.ts.map +0 -1
- package/dist/core/src/reactive/cleanup.js +0 -187
- package/dist/core/src/reactive/cleanup.js.map +0 -1
- package/dist/core/src/reactive/computed.d.ts +0 -115
- package/dist/core/src/reactive/computed.d.ts.map +0 -1
- package/dist/core/src/reactive/computed.js +0 -237
- package/dist/core/src/reactive/computed.js.map +0 -1
- package/dist/core/src/reactive/context.d.ts +0 -83
- package/dist/core/src/reactive/context.d.ts.map +0 -1
- package/dist/core/src/reactive/context.js +0 -286
- package/dist/core/src/reactive/context.js.map +0 -1
- package/dist/core/src/reactive/effect.d.ts +0 -79
- package/dist/core/src/reactive/effect.d.ts.map +0 -1
- package/dist/core/src/reactive/effect.js +0 -159
- package/dist/core/src/reactive/effect.js.map +0 -1
- package/dist/core/src/reactive/enhanced-effect.d.ts +0 -108
- package/dist/core/src/reactive/enhanced-effect.d.ts.map +0 -1
- package/dist/core/src/reactive/enhanced-effect.js +0 -265
- package/dist/core/src/reactive/enhanced-effect.js.map +0 -1
- package/dist/core/src/reactive/enhanced-signal.d.ts +0 -91
- package/dist/core/src/reactive/enhanced-signal.d.ts.map +0 -1
- package/dist/core/src/reactive/enhanced-signal.js +0 -175
- package/dist/core/src/reactive/enhanced-signal.js.map +0 -1
- package/dist/core/src/reactive/equality.d.ts +0 -51
- package/dist/core/src/reactive/equality.d.ts.map +0 -1
- package/dist/core/src/reactive/equality.js +0 -169
- package/dist/core/src/reactive/equality.js.map +0 -1
- package/dist/core/src/reactive/index.d.ts +0 -22
- package/dist/core/src/reactive/index.d.ts.map +0 -1
- package/dist/core/src/reactive/index.js +0 -33
- package/dist/core/src/reactive/index.js.map +0 -1
- package/dist/core/src/reactive/migration.d.ts +0 -104
- package/dist/core/src/reactive/migration.d.ts.map +0 -1
- package/dist/core/src/reactive/migration.js +0 -257
- package/dist/core/src/reactive/migration.js.map +0 -1
- package/dist/core/src/reactive/ownership.d.ts +0 -75
- package/dist/core/src/reactive/ownership.d.ts.map +0 -1
- package/dist/core/src/reactive/ownership.js +0 -155
- package/dist/core/src/reactive/ownership.js.map +0 -1
- package/dist/core/src/reactive/scheduler.d.ts +0 -56
- package/dist/core/src/reactive/scheduler.d.ts.map +0 -1
- package/dist/core/src/reactive/scheduler.js +0 -263
- package/dist/core/src/reactive/scheduler.js.map +0 -1
- package/dist/core/src/reactive/signal-list.d.ts +0 -100
- package/dist/core/src/reactive/signal-list.d.ts.map +0 -1
- package/dist/core/src/reactive/signal-list.js +0 -240
- package/dist/core/src/reactive/signal-list.js.map +0 -1
- package/dist/core/src/reactive/signal.d.ts +0 -82
- package/dist/core/src/reactive/signal.d.ts.map +0 -1
- package/dist/core/src/reactive/signal.js +0 -172
- package/dist/core/src/reactive/signal.js.map +0 -1
- package/dist/core/src/reactive/theme.d.ts +0 -12
- package/dist/core/src/reactive/theme.d.ts.map +0 -1
- package/dist/core/src/reactive/theme.js +0 -41
- package/dist/core/src/reactive/theme.js.map +0 -1
- package/dist/core/src/reactive/types.d.ts +0 -6
- package/dist/core/src/reactive/types.d.ts.map +0 -1
- package/dist/core/src/reactive/types.js +0 -6
- package/dist/core/src/reactive/types.js.map +0 -1
- package/dist/core/src/reactive/unified-scheduler.d.ts +0 -112
- package/dist/core/src/reactive/unified-scheduler.d.ts.map +0 -1
- package/dist/core/src/reactive/unified-scheduler.js +0 -315
- package/dist/core/src/reactive/unified-scheduler.js.map +0 -1
- package/dist/core/src/runtime/component-context.d.ts +0 -73
- package/dist/core/src/runtime/component-context.d.ts.map +0 -1
- package/dist/core/src/runtime/component-context.js +0 -278
- package/dist/core/src/runtime/component-context.js.map +0 -1
- package/dist/core/src/runtime/component.d.ts +0 -112
- package/dist/core/src/runtime/component.d.ts.map +0 -1
- package/dist/core/src/runtime/component.js +0 -394
- package/dist/core/src/runtime/component.js.map +0 -1
- package/dist/core/src/runtime/context.d.ts +0 -138
- package/dist/core/src/runtime/context.d.ts.map +0 -1
- package/dist/core/src/runtime/context.js +0 -411
- package/dist/core/src/runtime/context.js.map +0 -1
- package/dist/core/src/runtime/dom-bridge.d.ts +0 -70
- package/dist/core/src/runtime/dom-bridge.d.ts.map +0 -1
- package/dist/core/src/runtime/dom-bridge.js +0 -481
- package/dist/core/src/runtime/dom-bridge.js.map +0 -1
- package/dist/core/src/runtime/element-override.d.ts +0 -82
- package/dist/core/src/runtime/element-override.d.ts.map +0 -1
- package/dist/core/src/runtime/element-override.js +0 -360
- package/dist/core/src/runtime/element-override.js.map +0 -1
- package/dist/core/src/runtime/event-delegation.d.ts +0 -59
- package/dist/core/src/runtime/event-delegation.d.ts.map +0 -1
- package/dist/core/src/runtime/event-delegation.js +0 -220
- package/dist/core/src/runtime/event-delegation.js.map +0 -1
- package/dist/core/src/runtime/index.d.ts +0 -24
- package/dist/core/src/runtime/index.d.ts.map +0 -1
- package/dist/core/src/runtime/index.js +0 -36
- package/dist/core/src/runtime/index.js.map +0 -1
- package/dist/core/src/runtime/lazy-component.d.ts +0 -58
- package/dist/core/src/runtime/lazy-component.d.ts.map +0 -1
- package/dist/core/src/runtime/lazy-component.js +0 -206
- package/dist/core/src/runtime/lazy-component.js.map +0 -1
- package/dist/core/src/runtime/lifecycle.d.ts +0 -8
- package/dist/core/src/runtime/lifecycle.d.ts.map +0 -1
- package/dist/core/src/runtime/lifecycle.js +0 -9
- package/dist/core/src/runtime/lifecycle.js.map +0 -1
- package/dist/core/src/runtime/mounting.d.ts +0 -9
- package/dist/core/src/runtime/mounting.d.ts.map +0 -1
- package/dist/core/src/runtime/mounting.js +0 -15
- package/dist/core/src/runtime/mounting.js.map +0 -1
- package/dist/core/src/runtime/optimization.d.ts +0 -8
- package/dist/core/src/runtime/optimization.d.ts.map +0 -1
- package/dist/core/src/runtime/optimization.js +0 -12
- package/dist/core/src/runtime/optimization.js.map +0 -1
- package/dist/core/src/runtime/props.d.ts +0 -154
- package/dist/core/src/runtime/props.d.ts.map +0 -1
- package/dist/core/src/runtime/props.js +0 -389
- package/dist/core/src/runtime/props.js.map +0 -1
- package/dist/core/src/runtime/renderer.d.ts +0 -168
- package/dist/core/src/runtime/renderer.d.ts.map +0 -1
- package/dist/core/src/runtime/renderer.js +0 -1181
- package/dist/core/src/runtime/renderer.js.map +0 -1
- package/dist/core/src/runtime/semantic-role-manager.d.ts +0 -37
- package/dist/core/src/runtime/semantic-role-manager.d.ts.map +0 -1
- package/dist/core/src/runtime/semantic-role-manager.js +0 -102
- package/dist/core/src/runtime/semantic-role-manager.js.map +0 -1
- package/dist/core/src/runtime/types.d.ts +0 -6
- package/dist/core/src/runtime/types.d.ts.map +0 -1
- package/dist/core/src/runtime/types.js +0 -6
- package/dist/core/src/runtime/types.js.map +0 -1
- package/dist/core/src/state/binding.d.ts +0 -96
- package/dist/core/src/state/binding.d.ts.map +0 -1
- package/dist/core/src/state/binding.js +0 -264
- package/dist/core/src/state/binding.js.map +0 -1
- package/dist/core/src/state/environment.d.ts +0 -178
- package/dist/core/src/state/environment.d.ts.map +0 -1
- package/dist/core/src/state/environment.js +0 -272
- package/dist/core/src/state/environment.js.map +0 -1
- package/dist/core/src/state/index.d.ts +0 -108
- package/dist/core/src/state/index.d.ts.map +0 -1
- package/dist/core/src/state/index.js +0 -102
- package/dist/core/src/state/index.js.map +0 -1
- package/dist/core/src/state/observed-object.d.ts +0 -126
- package/dist/core/src/state/observed-object.d.ts.map +0 -1
- package/dist/core/src/state/observed-object.js +0 -330
- package/dist/core/src/state/observed-object.js.map +0 -1
- package/dist/core/src/state/state-manager.d.ts +0 -97
- package/dist/core/src/state/state-manager.d.ts.map +0 -1
- package/dist/core/src/state/state-manager.js +0 -297
- package/dist/core/src/state/state-manager.js.map +0 -1
- package/dist/core/src/state/state.d.ts +0 -78
- package/dist/core/src/state/state.d.ts.map +0 -1
- package/dist/core/src/state/state.js +0 -283
- package/dist/core/src/state/state.js.map +0 -1
- package/dist/core/src/state/types.d.ts +0 -159
- package/dist/core/src/state/types.d.ts.map +0 -1
- package/dist/core/src/state/types.js +0 -8
- package/dist/core/src/state/types.js.map +0 -1
- package/dist/core/src/utils/clone-helpers.d.ts +0 -11
- package/dist/core/src/utils/clone-helpers.d.ts.map +0 -1
- package/dist/core/src/utils/clone-helpers.js +0 -69
- package/dist/core/src/utils/clone-helpers.js.map +0 -1
- package/dist/core/src/validation/build-time-stub.d.ts +0 -33
- package/dist/core/src/validation/build-time-stub.d.ts.map +0 -1
- package/dist/core/src/validation/build-time-stub.js +0 -53
- package/dist/core/src/validation/build-time-stub.js.map +0 -1
- package/dist/core/src/validation/debug-tools-stub.d.ts +0 -67
- package/dist/core/src/validation/debug-tools-stub.d.ts.map +0 -1
- package/dist/core/src/validation/debug-tools-stub.js +0 -94
- package/dist/core/src/validation/debug-tools-stub.js.map +0 -1
- package/dist/core/src/validation/index.d.ts +0 -116
- package/dist/core/src/validation/index.d.ts.map +0 -1
- package/dist/core/src/validation/index.js +0 -306
- package/dist/core/src/validation/index.js.map +0 -1
- package/dist/core/src/validation/lifecycle-validation.d.ts +0 -165
- package/dist/core/src/validation/lifecycle-validation.d.ts.map +0 -1
- package/dist/core/src/validation/lifecycle-validation.js +0 -501
- package/dist/core/src/validation/lifecycle-validation.js.map +0 -1
- package/dist/core/src/validation/performance-optimizer-stub.d.ts +0 -50
- package/dist/core/src/validation/performance-optimizer-stub.d.ts.map +0 -1
- package/dist/core/src/validation/performance-optimizer-stub.js +0 -50
- package/dist/core/src/validation/performance-optimizer-stub.js.map +0 -1
- package/dist/core/src/validation/plugin-registration.d.ts +0 -92
- package/dist/core/src/validation/plugin-registration.d.ts.map +0 -1
- package/dist/core/src/validation/plugin-registration.js +0 -199
- package/dist/core/src/validation/plugin-registration.js.map +0 -1
- package/dist/core/src/validation/production-bypass-core.d.ts +0 -69
- package/dist/core/src/validation/production-bypass-core.d.ts.map +0 -1
- package/dist/core/src/validation/production-bypass-core.js +0 -115
- package/dist/core/src/validation/production-bypass-core.js.map +0 -1
- package/dist/core/src/version.d.ts +0 -19
- package/dist/core/src/version.d.ts.map +0 -1
- package/dist/core/src/version.js +0 -20
- package/dist/core/src/version.js.map +0 -1
- package/dist/devtools/src/build-time/detection.d.ts +0 -32
- package/dist/devtools/src/build-time/detection.d.ts.map +0 -1
- package/dist/devtools/src/build-time/detection.js +0 -327
- package/dist/devtools/src/build-time/detection.js.map +0 -1
- package/dist/devtools/src/build-time/index.d.ts +0 -84
- package/dist/devtools/src/build-time/index.d.ts.map +0 -1
- package/dist/devtools/src/build-time/index.js +0 -157
- package/dist/devtools/src/build-time/index.js.map +0 -1
- package/dist/devtools/src/build-time/plugins.d.ts +0 -75
- package/dist/devtools/src/build-time/plugins.d.ts.map +0 -1
- package/dist/devtools/src/build-time/plugins.js +0 -429
- package/dist/devtools/src/build-time/plugins.js.map +0 -1
- package/dist/devtools/src/build-time/rules.d.ts +0 -73
- package/dist/devtools/src/build-time/rules.d.ts.map +0 -1
- package/dist/devtools/src/build-time/rules.js +0 -622
- package/dist/devtools/src/build-time/rules.js.map +0 -1
- package/dist/devtools/src/build-time/transformer.d.ts +0 -23
- package/dist/devtools/src/build-time/transformer.d.ts.map +0 -1
- package/dist/devtools/src/build-time/transformer.js +0 -294
- package/dist/devtools/src/build-time/transformer.js.map +0 -1
- package/dist/devtools/src/build-time/types.d.ts +0 -212
- package/dist/devtools/src/build-time/types.d.ts.map +0 -1
- package/dist/devtools/src/build-time/types.js +0 -8
- package/dist/devtools/src/build-time/types.js.map +0 -1
- package/dist/devtools/src/debug/debug.d.ts +0 -61
- package/dist/devtools/src/debug/debug.d.ts.map +0 -1
- package/dist/devtools/src/debug/debug.js +0 -239
- package/dist/devtools/src/debug/debug.js.map +0 -1
- package/dist/devtools/src/debug/development-warnings.d.ts +0 -42
- package/dist/devtools/src/debug/development-warnings.d.ts.map +0 -1
- package/dist/devtools/src/debug/development-warnings.js +0 -84
- package/dist/devtools/src/debug/development-warnings.js.map +0 -1
- package/dist/devtools/src/debug/enhanced-errors.d.ts +0 -176
- package/dist/devtools/src/debug/enhanced-errors.d.ts.map +0 -1
- package/dist/devtools/src/debug/enhanced-errors.js +0 -481
- package/dist/devtools/src/debug/enhanced-errors.js.map +0 -1
- package/dist/devtools/src/debug/enhanced-types.d.ts +0 -284
- package/dist/devtools/src/debug/enhanced-types.d.ts.map +0 -1
- package/dist/devtools/src/debug/enhanced-types.js +0 -8
- package/dist/devtools/src/debug/enhanced-types.js.map +0 -1
- package/dist/devtools/src/debug/index.d.ts +0 -13
- package/dist/devtools/src/debug/index.d.ts.map +0 -1
- package/dist/devtools/src/debug/index.js +0 -17
- package/dist/devtools/src/debug/index.js.map +0 -1
- package/dist/devtools/src/debug/validation-debug-tools.d.ts +0 -228
- package/dist/devtools/src/debug/validation-debug-tools.d.ts.map +0 -1
- package/dist/devtools/src/debug/validation-debug-tools.js +0 -472
- package/dist/devtools/src/debug/validation-debug-tools.js.map +0 -1
- package/dist/devtools/src/import-guide.d.ts +0 -50
- package/dist/devtools/src/import-guide.d.ts.map +0 -1
- package/dist/devtools/src/import-guide.js +0 -257
- package/dist/devtools/src/import-guide.js.map +0 -1
- package/dist/devtools/src/index.d.ts +0 -24
- package/dist/devtools/src/index.d.ts.map +0 -1
- package/dist/devtools/src/index.js +0 -32
- package/dist/devtools/src/index.js.map +0 -1
- package/dist/devtools/src/inspector/index.d.ts +0 -232
- package/dist/devtools/src/inspector/index.d.ts.map +0 -1
- package/dist/devtools/src/inspector/index.js +0 -551
- package/dist/devtools/src/inspector/index.js.map +0 -1
- package/dist/devtools/src/modifier-parameter-system.d.ts +0 -69
- package/dist/devtools/src/modifier-parameter-system.d.ts.map +0 -1
- package/dist/devtools/src/modifier-parameter-system.js +0 -462
- package/dist/devtools/src/modifier-parameter-system.js.map +0 -1
- package/dist/devtools/src/plugins/simplified-error-handler.d.ts +0 -83
- package/dist/devtools/src/plugins/simplified-error-handler.d.ts.map +0 -1
- package/dist/devtools/src/plugins/simplified-error-handler.js +0 -335
- package/dist/devtools/src/plugins/simplified-error-handler.js.map +0 -1
- package/dist/devtools/src/profiler/index.d.ts +0 -21
- package/dist/devtools/src/profiler/index.d.ts.map +0 -1
- package/dist/devtools/src/profiler/index.js +0 -30
- package/dist/devtools/src/profiler/index.js.map +0 -1
- package/dist/devtools/src/profiler/performance-optimizer.d.ts +0 -115
- package/dist/devtools/src/profiler/performance-optimizer.d.ts.map +0 -1
- package/dist/devtools/src/profiler/performance-optimizer.js +0 -273
- package/dist/devtools/src/profiler/performance-optimizer.js.map +0 -1
- package/dist/devtools/src/profiler/production-monitoring.d.ts +0 -150
- package/dist/devtools/src/profiler/production-monitoring.d.ts.map +0 -1
- package/dist/devtools/src/profiler/production-monitoring.js +0 -274
- package/dist/devtools/src/profiler/production-monitoring.js.map +0 -1
- package/dist/devtools/src/runtime/error-boundary.d.ts +0 -302
- package/dist/devtools/src/runtime/error-boundary.d.ts.map +0 -1
- package/dist/devtools/src/runtime/error-boundary.js +0 -717
- package/dist/devtools/src/runtime/error-boundary.js.map +0 -1
- package/dist/devtools/src/runtime/error-recovery.d.ts +0 -267
- package/dist/devtools/src/runtime/error-recovery.d.ts.map +0 -1
- package/dist/devtools/src/runtime/error-recovery.js +0 -499
- package/dist/devtools/src/runtime/error-recovery.js.map +0 -1
- package/dist/devtools/src/runtime/error-reporting.d.ts +0 -287
- package/dist/devtools/src/runtime/error-reporting.d.ts.map +0 -1
- package/dist/devtools/src/runtime/error-reporting.js +0 -626
- package/dist/devtools/src/runtime/error-reporting.js.map +0 -1
- package/dist/devtools/src/runtime/error-utils.d.ts +0 -204
- package/dist/devtools/src/runtime/error-utils.d.ts.map +0 -1
- package/dist/devtools/src/runtime/error-utils.js +0 -519
- package/dist/devtools/src/runtime/error-utils.js.map +0 -1
- package/dist/devtools/src/runtime/performance.d.ts +0 -217
- package/dist/devtools/src/runtime/performance.d.ts.map +0 -1
- package/dist/devtools/src/runtime/performance.js +0 -538
- package/dist/devtools/src/runtime/performance.js.map +0 -1
- package/dist/devtools/src/testing/index.d.ts +0 -29
- package/dist/devtools/src/testing/index.d.ts.map +0 -1
- package/dist/devtools/src/testing/index.js +0 -48
- package/dist/devtools/src/testing/index.js.map +0 -1
- package/dist/devtools/src/validation/enhanced-runtime.d.ts +0 -310
- package/dist/devtools/src/validation/enhanced-runtime.d.ts.map +0 -1
- package/dist/devtools/src/validation/enhanced-runtime.js +0 -603
- package/dist/devtools/src/validation/enhanced-runtime.js.map +0 -1
- package/dist/devtools/src/validation/error-reporting.d.ts +0 -186
- package/dist/devtools/src/validation/error-reporting.d.ts.map +0 -1
- package/dist/devtools/src/validation/error-reporting.js +0 -439
- package/dist/devtools/src/validation/error-reporting.js.map +0 -1
- /package/dist/{cli/src/commands → commands}/analyze-imports.d.ts +0 -0
- /package/dist/{cli/src/commands → commands}/analyze-imports.js +0 -0
- /package/dist/{cli/src/commands → commands}/analyze.d.ts +0 -0
- /package/dist/{cli/src/commands → commands}/analyze.js +0 -0
- /package/dist/{cli/src/commands → commands}/dev.d.ts +0 -0
- /package/dist/{cli/src/commands → commands}/migrate/remove-modifier-trigger.d.ts +0 -0
- /package/dist/{cli/src/commands → commands}/migrate/remove-modifier-trigger.js +0 -0
- /package/dist/{cli/src/commands → commands}/migrate.d.ts +0 -0
- /package/dist/{cli/src/commands → commands}/modifier-docs.d.ts +0 -0
- /package/dist/{cli/src/commands → commands}/modifier-docs.js +0 -0
- /package/dist/{cli/src/commands → commands}/optimize.d.ts +0 -0
- /package/dist/{cli/src/commands → commands}/optimize.js +0 -0
- /package/dist/{cli/src/import-optimizer.d.ts → import-optimizer.d.ts} +0 -0
- /package/dist/{cli/src/import-optimizer.js → import-optimizer.js} +0 -0
- /package/dist/{cli/src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{cli/src/index.js → index.js} +0 -0
- /package/dist/{cli/src/migrations → migrations}/remove-modifier-trigger.d.ts +0 -0
- /package/dist/{cli/src/migrations → migrations}/remove-modifier-trigger.js +0 -0
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced Effect System v2.0
|
|
3
|
-
*
|
|
4
|
-
* Provides proper error propagation and integrates with the unified scheduler
|
|
5
|
-
* to fix silent error suppression and incomplete cleanup issues.
|
|
6
|
-
*/
|
|
7
|
-
import { getCurrentComputation, getCurrentOwner } from './context';
|
|
8
|
-
import { ReactiveScheduler, UpdatePriority } from './unified-scheduler';
|
|
9
|
-
let effectIdCounter = 0;
|
|
10
|
-
/**
|
|
11
|
-
* Enhanced effect implementation with proper error propagation
|
|
12
|
-
*/
|
|
13
|
-
export class EffectImpl {
|
|
14
|
-
effectFn;
|
|
15
|
-
id = ++effectIdCounter;
|
|
16
|
-
type = 'effect';
|
|
17
|
-
priority;
|
|
18
|
-
sources = new Set();
|
|
19
|
-
observers = new Set(); // Effects don't have observers
|
|
20
|
-
isDisposed = false;
|
|
21
|
-
cleanupFn;
|
|
22
|
-
options;
|
|
23
|
-
owner;
|
|
24
|
-
constructor(effectFn, options = {}) {
|
|
25
|
-
this.effectFn = effectFn;
|
|
26
|
-
this.priority = options.priority ?? UpdatePriority.Normal;
|
|
27
|
-
this.options = options;
|
|
28
|
-
this.owner = getCurrentOwner();
|
|
29
|
-
if (options.fireImmediately !== false) {
|
|
30
|
-
this.execute();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Notify method called by unified scheduler
|
|
35
|
-
*/
|
|
36
|
-
notify() {
|
|
37
|
-
if (this.isDisposed)
|
|
38
|
-
return;
|
|
39
|
-
this.execute();
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Execute the effect with proper error handling
|
|
43
|
-
*/
|
|
44
|
-
execute() {
|
|
45
|
-
if (this.isDisposed)
|
|
46
|
-
return;
|
|
47
|
-
// Cleanup previous effect run
|
|
48
|
-
if (this.cleanupFn) {
|
|
49
|
-
try {
|
|
50
|
-
this.cleanupFn();
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
console.error('Effect cleanup error:', error);
|
|
54
|
-
}
|
|
55
|
-
this.cleanupFn = undefined;
|
|
56
|
-
}
|
|
57
|
-
// Clear existing dependencies
|
|
58
|
-
for (const source of this.sources) {
|
|
59
|
-
if ('removeObserver' in source && typeof source.removeObserver === 'function') {
|
|
60
|
-
source.removeObserver(this);
|
|
61
|
-
}
|
|
62
|
-
else if ('observers' in source && source.observers instanceof Set) {
|
|
63
|
-
source.observers.delete(this);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
this.sources.clear();
|
|
67
|
-
// Execute effect with dependency tracking
|
|
68
|
-
const previousComputation = getCurrentComputation();
|
|
69
|
-
// We need to set this as the current computation for dependency tracking
|
|
70
|
-
const setCurrentComputation = this.setCurrentComputation || (() => { });
|
|
71
|
-
setCurrentComputation(this);
|
|
72
|
-
try {
|
|
73
|
-
const result = this.effectFn();
|
|
74
|
-
// Store cleanup function if returned
|
|
75
|
-
if (typeof result === 'function') {
|
|
76
|
-
this.cleanupFn = result;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
if (this.options.onError) {
|
|
81
|
-
try {
|
|
82
|
-
this.options.onError(error);
|
|
83
|
-
}
|
|
84
|
-
catch (handlerError) {
|
|
85
|
-
console.error('Effect error handler threw error:', handlerError);
|
|
86
|
-
// Re-throw the original error since handler failed
|
|
87
|
-
throw error;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
// Don't suppress errors like the old implementation - re-throw them
|
|
92
|
-
console.error(`Effect ${this.options.debugName || this.id} threw error:`, error);
|
|
93
|
-
throw error;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
finally {
|
|
97
|
-
setCurrentComputation(previousComputation);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Complete cleanup for memory management
|
|
102
|
-
*/
|
|
103
|
-
cleanup() {
|
|
104
|
-
this.isDisposed = true;
|
|
105
|
-
// Cleanup effect function
|
|
106
|
-
if (this.cleanupFn) {
|
|
107
|
-
try {
|
|
108
|
-
this.cleanupFn();
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
console.error('Effect cleanup error:', error);
|
|
112
|
-
}
|
|
113
|
-
this.cleanupFn = undefined;
|
|
114
|
-
}
|
|
115
|
-
// Remove from all sources
|
|
116
|
-
for (const source of this.sources) {
|
|
117
|
-
if ('removeObserver' in source && typeof source.removeObserver === 'function') {
|
|
118
|
-
source.removeObserver(this);
|
|
119
|
-
}
|
|
120
|
-
else if ('observers' in source && source.observers instanceof Set) {
|
|
121
|
-
source.observers.delete(this);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
this.sources.clear();
|
|
125
|
-
// Remove from owner cleanup
|
|
126
|
-
if (this.owner?.cleanups) {
|
|
127
|
-
const index = this.owner.cleanups.indexOf(this.cleanup.bind(this));
|
|
128
|
-
if (index >= 0) {
|
|
129
|
-
this.owner.cleanups.splice(index, 1);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Dispose the effect (alias for cleanup)
|
|
135
|
-
*/
|
|
136
|
-
dispose() {
|
|
137
|
-
this.cleanup();
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Check if effect is disposed
|
|
141
|
-
*/
|
|
142
|
-
get disposed() {
|
|
143
|
-
return this.isDisposed;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Debug information
|
|
147
|
-
*/
|
|
148
|
-
[Symbol.for('tachui.debug')]() {
|
|
149
|
-
return {
|
|
150
|
-
id: this.id,
|
|
151
|
-
type: this.type,
|
|
152
|
-
priority: UpdatePriority[this.priority],
|
|
153
|
-
debugName: this.options.debugName,
|
|
154
|
-
disposed: this.isDisposed,
|
|
155
|
-
sourceCount: this.sources.size,
|
|
156
|
-
hasCleanup: !!this.cleanupFn,
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
toString() {
|
|
160
|
-
return `Effect(${this.options.debugName || this.id})`;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Create a reactive effect with proper error handling
|
|
165
|
-
*
|
|
166
|
-
* @param effectFn The effect function to run
|
|
167
|
-
* @param options Effect configuration options
|
|
168
|
-
* @returns Cleanup function to dispose the effect
|
|
169
|
-
*
|
|
170
|
-
* @example
|
|
171
|
-
* ```typescript
|
|
172
|
-
* const [count, setCount] = createSignal(0)
|
|
173
|
-
*
|
|
174
|
-
* const cleanup = createEnhancedEffect(() => {
|
|
175
|
-
* console.log('Count changed:', count())
|
|
176
|
-
* }, {
|
|
177
|
-
* debugName: 'countLogger',
|
|
178
|
-
* onError: (error) => {
|
|
179
|
-
* console.error('Effect failed:', error)
|
|
180
|
-
* }
|
|
181
|
-
* })
|
|
182
|
-
*
|
|
183
|
-
* // Later, cleanup when no longer needed
|
|
184
|
-
* cleanup()
|
|
185
|
-
* ```
|
|
186
|
-
*/
|
|
187
|
-
export function createEnhancedEffect(effectFn, options) {
|
|
188
|
-
const effect = new EffectImpl(effectFn, options);
|
|
189
|
-
// Register cleanup with owner if available
|
|
190
|
-
const owner = getCurrentOwner();
|
|
191
|
-
if (owner) {
|
|
192
|
-
owner.cleanups.push(() => effect.cleanup());
|
|
193
|
-
}
|
|
194
|
-
return () => effect.cleanup();
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Create an effect with high priority for user interactions
|
|
198
|
-
*/
|
|
199
|
-
export function createHighPriorityEffect(effectFn, options) {
|
|
200
|
-
return createEnhancedEffect(effectFn, { ...options, priority: UpdatePriority.High });
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Create an effect with low priority for background tasks
|
|
204
|
-
*/
|
|
205
|
-
export function createLowPriorityEffect(effectFn, options) {
|
|
206
|
-
return createEnhancedEffect(effectFn, { ...options, priority: UpdatePriority.Low });
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Create an effect that only runs when dependencies change (not immediately)
|
|
210
|
-
*/
|
|
211
|
-
export function createWatchEffect(effectFn, options) {
|
|
212
|
-
return createEnhancedEffect(effectFn, { ...options, fireImmediately: false });
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Create an effect with automatic error recovery
|
|
216
|
-
*/
|
|
217
|
-
export function createResilientEffect(effectFn, onError, // return true to retry
|
|
218
|
-
maxRetries = 3, options) {
|
|
219
|
-
let attempt = 0;
|
|
220
|
-
const resilientFn = () => {
|
|
221
|
-
try {
|
|
222
|
-
return effectFn();
|
|
223
|
-
}
|
|
224
|
-
catch (error) {
|
|
225
|
-
attempt++;
|
|
226
|
-
if (onError && attempt <= maxRetries && onError(error, attempt)) {
|
|
227
|
-
// Retry after a short delay
|
|
228
|
-
setTimeout(() => resilientFn(), attempt * 100);
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
else {
|
|
232
|
-
// Give up and re-throw
|
|
233
|
-
throw error;
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
return createEnhancedEffect(resilientFn, {
|
|
238
|
-
...options,
|
|
239
|
-
debugName: `${options?.debugName || 'effect'}(resilient)`,
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* Batch multiple effect creations for performance
|
|
244
|
-
*/
|
|
245
|
-
export function createEffectBatch(effects) {
|
|
246
|
-
const cleanups = effects.map(({ fn, options }) => createEnhancedEffect(fn, options));
|
|
247
|
-
return () => {
|
|
248
|
-
cleanups.forEach((cleanup) => cleanup());
|
|
249
|
-
};
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Get performance metrics for all effects
|
|
253
|
-
*/
|
|
254
|
-
export function getEffectPerformanceMetrics() {
|
|
255
|
-
const scheduler = ReactiveScheduler.getInstance();
|
|
256
|
-
return scheduler.getPerformanceMetrics();
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* Flush all pending effect updates synchronously
|
|
260
|
-
*/
|
|
261
|
-
export function flushEffectUpdates() {
|
|
262
|
-
const scheduler = ReactiveScheduler.getInstance();
|
|
263
|
-
scheduler.flushSync();
|
|
264
|
-
}
|
|
265
|
-
//# sourceMappingURL=enhanced-effect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-effect.js","sourceRoot":"","sources":["../../../../../core/src/reactive/enhanced-effect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced Signal Implementation v2.0
|
|
3
|
-
*
|
|
4
|
-
* Integrates with the unified scheduler and provides custom equality functions
|
|
5
|
-
* to fix signal update detection bugs and eliminate race conditions.
|
|
6
|
-
*/
|
|
7
|
-
import { type EqualityFunction } from './equality';
|
|
8
|
-
import type { Computation } from './types';
|
|
9
|
-
import { type ReactiveNode, UpdatePriority } from './unified-scheduler';
|
|
10
|
-
export interface SignalOptions<T> {
|
|
11
|
-
equals?: EqualityFunction<T>;
|
|
12
|
-
priority?: UpdatePriority;
|
|
13
|
-
debugName?: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Enhanced signal implementation with unified scheduler integration
|
|
17
|
-
*/
|
|
18
|
-
export declare class EnhancedSignalImpl<T> implements ReactiveNode {
|
|
19
|
-
readonly id: number;
|
|
20
|
-
readonly type: "signal";
|
|
21
|
-
readonly priority: UpdatePriority;
|
|
22
|
-
readonly observers: Set<Computation>;
|
|
23
|
-
private _value;
|
|
24
|
-
private scheduler;
|
|
25
|
-
private equalsFn;
|
|
26
|
-
private debugName?;
|
|
27
|
-
private options;
|
|
28
|
-
constructor(initialValue: T, options?: SignalOptions<T>);
|
|
29
|
-
/**
|
|
30
|
-
* Get the current value and track dependency
|
|
31
|
-
*/
|
|
32
|
-
getValue(): T;
|
|
33
|
-
/**
|
|
34
|
-
* Get the current value without tracking dependency
|
|
35
|
-
*/
|
|
36
|
-
peek(): T;
|
|
37
|
-
/**
|
|
38
|
-
* Set a new value using custom equality function
|
|
39
|
-
*/
|
|
40
|
-
setValue(newValue: T | ((prev: T) => T)): T;
|
|
41
|
-
/**
|
|
42
|
-
* Notify all observers (called by scheduler)
|
|
43
|
-
*/
|
|
44
|
-
notify(): void;
|
|
45
|
-
/**
|
|
46
|
-
* Remove an observer (cleanup)
|
|
47
|
-
*/
|
|
48
|
-
removeObserver(computation: Computation): void;
|
|
49
|
-
/**
|
|
50
|
-
* Complete cleanup for memory management
|
|
51
|
-
*/
|
|
52
|
-
cleanup(): void;
|
|
53
|
-
toString(): string;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Signal setter function type
|
|
57
|
-
*/
|
|
58
|
-
export type SignalSetter<T> = (value: T | ((prev: T) => T)) => T;
|
|
59
|
-
/**
|
|
60
|
-
* Create a new enhanced reactive signal with custom equality
|
|
61
|
-
*/
|
|
62
|
-
export declare function createEnhancedSignal<T>(initialValue: T, options?: SignalOptions<T>): [() => T, SignalSetter<T>];
|
|
63
|
-
/**
|
|
64
|
-
* Create a signal with deep equality comparison
|
|
65
|
-
*/
|
|
66
|
-
export declare function createDeepSignal<T>(initialValue: T, options?: Omit<SignalOptions<T>, 'equals'>): [() => T, SignalSetter<T>];
|
|
67
|
-
/**
|
|
68
|
-
* Create a signal with shallow equality comparison
|
|
69
|
-
*/
|
|
70
|
-
export declare function createShallowSignal<T>(initialValue: T, options?: Omit<SignalOptions<T>, 'equals'>): [() => T, SignalSetter<T>];
|
|
71
|
-
/**
|
|
72
|
-
* Get the underlying signal implementation for debugging
|
|
73
|
-
*/
|
|
74
|
-
export declare function getEnhancedSignalImpl<T>(signal: (() => T) & {
|
|
75
|
-
peek: () => T;
|
|
76
|
-
}): EnhancedSignalImpl<T> | null;
|
|
77
|
-
/**
|
|
78
|
-
* Type guard to check if a value is an enhanced signal
|
|
79
|
-
*/
|
|
80
|
-
export declare function isEnhancedSignal<T = any>(value: any): value is (() => T) & {
|
|
81
|
-
peek: () => T;
|
|
82
|
-
};
|
|
83
|
-
/**
|
|
84
|
-
* Flush all pending signal updates synchronously
|
|
85
|
-
*/
|
|
86
|
-
export declare function flushSignalUpdates(): void;
|
|
87
|
-
/**
|
|
88
|
-
* Get performance metrics for all signals
|
|
89
|
-
*/
|
|
90
|
-
export declare function getSignalPerformanceMetrics(): import("./unified-scheduler").ReactivePerformanceMetrics;
|
|
91
|
-
//# sourceMappingURL=enhanced-signal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-signal.d.ts","sourceRoot":"","sources":["../../../../../core/src/reactive/enhanced-signal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Enhanced Signal Implementation v2.0
|
|
3
|
-
*
|
|
4
|
-
* Integrates with the unified scheduler and provides custom equality functions
|
|
5
|
-
* to fix signal update detection bugs and eliminate race conditions.
|
|
6
|
-
*/
|
|
7
|
-
import { getCurrentComputation } from './context';
|
|
8
|
-
import { defaultEquals, deepEquals, shallowEquals } from './equality';
|
|
9
|
-
import { ComputationState } from './types';
|
|
10
|
-
import { ReactiveScheduler, UpdatePriority } from './unified-scheduler';
|
|
11
|
-
let signalIdCounter = 0;
|
|
12
|
-
/**
|
|
13
|
-
* Enhanced signal implementation with unified scheduler integration
|
|
14
|
-
*/
|
|
15
|
-
export class EnhancedSignalImpl {
|
|
16
|
-
id = ++signalIdCounter;
|
|
17
|
-
type = 'signal';
|
|
18
|
-
priority;
|
|
19
|
-
observers = new Set();
|
|
20
|
-
_value;
|
|
21
|
-
scheduler = ReactiveScheduler.getInstance();
|
|
22
|
-
equalsFn;
|
|
23
|
-
debugName;
|
|
24
|
-
options;
|
|
25
|
-
constructor(initialValue, options = {}) {
|
|
26
|
-
this._value = initialValue;
|
|
27
|
-
this.options = options;
|
|
28
|
-
this.priority = options.priority ?? UpdatePriority.Normal;
|
|
29
|
-
this.equalsFn = options.equals ?? defaultEquals;
|
|
30
|
-
this.debugName = options.debugName;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Get the current value and track dependency
|
|
34
|
-
*/
|
|
35
|
-
getValue() {
|
|
36
|
-
const computation = getCurrentComputation();
|
|
37
|
-
if (computation && computation.state !== ComputationState.Disposed) {
|
|
38
|
-
// Establish bidirectional relationship
|
|
39
|
-
this.observers.add(computation);
|
|
40
|
-
computation.sources.add(this);
|
|
41
|
-
}
|
|
42
|
-
return this._value;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Get the current value without tracking dependency
|
|
46
|
-
*/
|
|
47
|
-
peek() {
|
|
48
|
-
return this._value;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Set a new value using custom equality function
|
|
52
|
-
*/
|
|
53
|
-
setValue(newValue) {
|
|
54
|
-
const value = typeof newValue === 'function' ? newValue(this._value) : newValue;
|
|
55
|
-
// Use custom equality function instead of simple !== check
|
|
56
|
-
if (!this.equalsFn(value, this._value)) {
|
|
57
|
-
const oldValue = this._value;
|
|
58
|
-
this._value = value;
|
|
59
|
-
if (process.env.NODE_ENV === 'development' && this.debugName) {
|
|
60
|
-
console.debug(`[Signal:${this.debugName}] ${oldValue} -> ${value}`);
|
|
61
|
-
}
|
|
62
|
-
// Schedule update through unified scheduler
|
|
63
|
-
this.scheduler.schedule(this);
|
|
64
|
-
}
|
|
65
|
-
return value;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Notify all observers (called by scheduler)
|
|
69
|
-
*/
|
|
70
|
-
notify() {
|
|
71
|
-
// Mark all observers as dirty and schedule them
|
|
72
|
-
for (const observer of this.observers) {
|
|
73
|
-
if (observer.state !== ComputationState.Disposed) {
|
|
74
|
-
observer.state = ComputationState.Dirty;
|
|
75
|
-
// Schedule observer if it's also a ReactiveNode
|
|
76
|
-
if ('type' in observer && 'priority' in observer) {
|
|
77
|
-
this.scheduler.schedule(observer);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Remove an observer (cleanup)
|
|
84
|
-
*/
|
|
85
|
-
removeObserver(computation) {
|
|
86
|
-
this.observers.delete(computation);
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Complete cleanup for memory management
|
|
90
|
-
*/
|
|
91
|
-
cleanup() {
|
|
92
|
-
// Complete bidirectional cleanup to prevent memory leaks
|
|
93
|
-
for (const observer of this.observers) {
|
|
94
|
-
observer.sources.delete(this);
|
|
95
|
-
}
|
|
96
|
-
this.observers.clear();
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Get debug information about this signal
|
|
100
|
-
*/
|
|
101
|
-
[Symbol.for('tachui.debug')]() {
|
|
102
|
-
return {
|
|
103
|
-
id: this.id,
|
|
104
|
-
type: this.type,
|
|
105
|
-
value: this._value,
|
|
106
|
-
observerCount: this.observers.size,
|
|
107
|
-
priority: UpdatePriority[this.priority],
|
|
108
|
-
debugName: this.debugName,
|
|
109
|
-
equalsFn: this.equalsFn.name || 'anonymous',
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
toString() {
|
|
113
|
-
return `Signal(${this.options.debugName || this.id}): ${this._value}`;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Create a new enhanced reactive signal with custom equality
|
|
118
|
-
*/
|
|
119
|
-
export function createEnhancedSignal(initialValue, options) {
|
|
120
|
-
const signal = new EnhancedSignalImpl(initialValue, options);
|
|
121
|
-
const getter = signal.getValue.bind(signal);
|
|
122
|
-
getter.peek = signal.peek.bind(signal);
|
|
123
|
-
const setter = signal.setValue.bind(signal);
|
|
124
|
-
// Add debug information for compatibility
|
|
125
|
-
Object.defineProperty(getter, Symbol.for('tachui.signal'), {
|
|
126
|
-
value: signal,
|
|
127
|
-
enumerable: false,
|
|
128
|
-
});
|
|
129
|
-
return [getter, setter];
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Create a signal with deep equality comparison
|
|
133
|
-
*/
|
|
134
|
-
export function createDeepSignal(initialValue, options) {
|
|
135
|
-
return createEnhancedSignal(initialValue, {
|
|
136
|
-
...options,
|
|
137
|
-
equals: deepEquals,
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Create a signal with shallow equality comparison
|
|
142
|
-
*/
|
|
143
|
-
export function createShallowSignal(initialValue, options) {
|
|
144
|
-
return createEnhancedSignal(initialValue, {
|
|
145
|
-
...options,
|
|
146
|
-
equals: shallowEquals,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Get the underlying signal implementation for debugging
|
|
151
|
-
*/
|
|
152
|
-
export function getEnhancedSignalImpl(signal) {
|
|
153
|
-
return signal[Symbol.for('tachui.signal')] || null;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Type guard to check if a value is an enhanced signal
|
|
157
|
-
*/
|
|
158
|
-
export function isEnhancedSignal(value) {
|
|
159
|
-
return typeof value === 'function' && Symbol.for('tachui.signal') in value;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Flush all pending signal updates synchronously
|
|
163
|
-
*/
|
|
164
|
-
export function flushSignalUpdates() {
|
|
165
|
-
const scheduler = ReactiveScheduler.getInstance();
|
|
166
|
-
scheduler.flushSync();
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Get performance metrics for all signals
|
|
170
|
-
*/
|
|
171
|
-
export function getSignalPerformanceMetrics() {
|
|
172
|
-
const scheduler = ReactiveScheduler.getInstance();
|
|
173
|
-
return scheduler.getPerformanceMetrics();
|
|
174
|
-
}
|
|
175
|
-
//# sourceMappingURL=enhanced-signal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-signal.js","sourceRoot":"","sources":["../../../../../core/src/reactive/enhanced-signal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAyB,MAAM,YAAY,CAAA;AAE5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAqB,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAE1F,IAAI,eAAe,GAAG,CAAC,CAAA;AAQvB;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACpB,EAAE,GAAG,EAAE,eAAe,CAAA;IACtB,IAAI,GAAG,QAAiB,CAAA;IACxB,QAAQ,CAAgB;IACxB,SAAS,GAAG,IAAI,GAAG,EAAe,CAAA;IAEnC,MAAM,CAAG;IACT,SAAS,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAA;IAC3C,QAAQ,CAAqB;IAC7B,SAAS,CAAS;IAClB,OAAO,CAAkB;IAEjC,YAAY,YAAe,EAAE,UAA4B,EAAE;QACzD,IAAI,CAAC,MAAM,GAAG,YAAY,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAA;QACzD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAA;QAC/C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,WAAW,GAAG,qBAAqB,EAAE,CAAA;QAC3C,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YACnE,uCAAuC;YACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC/B,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,QAA8B;QACrC,MAAM,KAAK,GACT,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAE,QAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;QAEvF,2DAA2D;QAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAA;YAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YAEnB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7D,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,KAAK,QAAQ,OAAO,KAAK,EAAE,CAAC,CAAA;YACrE,CAAC;YAED,4CAA4C;YAC5C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,gDAAgD;QAChD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,QAAQ,CAAC,KAAK,KAAK,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBACjD,QAAQ,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAA;gBAEvC,gDAAgD;gBAChD,IAAI,MAAM,IAAI,QAAQ,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;oBACjD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAe,CAAC,CAAA;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,WAAwB;QACrC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACpC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,yDAAyD;QACzD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAC/B,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;YAClC,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,WAAW;SAC5C,CAAA;IACH,CAAC;IAED,QAAQ;QACN,OAAO,UAAU,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;IACvE,CAAC;CACF;AAOD;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,YAAe,EACf,OAA0B;IAE1B,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAE5D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAkC,CAAA;IAC5E,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAEtC,MAAM,MAAM,GAAoB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAE5D,0CAA0C;IAC1C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;QACzD,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,KAAK;KAClB,CAAC,CAAA;IAEF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAAe,EACf,OAA0C;IAE1C,OAAO,oBAAoB,CAAC,YAAY,EAAE;QACxC,GAAG,OAAO;QACV,MAAM,EAAE,UAAU;KACnB,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,YAAe,EACf,OAA0C;IAE1C,OAAO,oBAAoB,CAAC,YAAY,EAAE;QACxC,GAAG,OAAO;QACV,MAAM,EAAE,aAAa;KACtB,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAqC;IAErC,OAAQ,MAAc,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,IAAI,CAAA;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAU,KAAU;IAClD,OAAO,OAAO,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,KAAK,CAAA;AAC5E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAA;IACjD,SAAS,CAAC,SAAS,EAAE,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAA;IACjD,OAAO,SAAS,CAAC,qBAAqB,EAAE,CAAA;AAC1C,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Equality Functions for Reactive System
|
|
3
|
-
*
|
|
4
|
-
* Provides various equality comparison functions for signal updates
|
|
5
|
-
* including deep, shallow, and custom equality checking.
|
|
6
|
-
*/
|
|
7
|
-
export type EqualityFunction<T> = (a: T, b: T) => boolean;
|
|
8
|
-
/**
|
|
9
|
-
* Default reference equality (===)
|
|
10
|
-
*/
|
|
11
|
-
export declare const defaultEquals: <T>(a: T, b: T) => boolean;
|
|
12
|
-
/**
|
|
13
|
-
* Deep equality comparison for objects and arrays
|
|
14
|
-
* Recursively compares all properties and array elements
|
|
15
|
-
*/
|
|
16
|
-
export declare const deepEquals: <T>(a: T, b: T) => boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Shallow equality comparison for objects
|
|
19
|
-
* Compares only the top-level properties with reference equality
|
|
20
|
-
*/
|
|
21
|
-
export declare const shallowEquals: <T>(a: T, b: T) => boolean;
|
|
22
|
-
/**
|
|
23
|
-
* Structural equality for specific data types
|
|
24
|
-
*/
|
|
25
|
-
export declare const structuralEquals: <T>(a: T, b: T) => boolean;
|
|
26
|
-
/**
|
|
27
|
-
* JSON-based equality (serializes and compares)
|
|
28
|
-
* Useful for complex nested structures but slower
|
|
29
|
-
*/
|
|
30
|
-
export declare const jsonEquals: <T>(a: T, b: T) => boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Create a custom equality function based on a selector
|
|
33
|
-
*/
|
|
34
|
-
export declare const createSelectorEquals: <T, K>(selector: (value: T) => K, equalsFn?: EqualityFunction<K>) => EqualityFunction<T>;
|
|
35
|
-
/**
|
|
36
|
-
* Create an array equality function with custom element comparison
|
|
37
|
-
*/
|
|
38
|
-
export declare const createArrayEquals: <T>(elementEquals?: EqualityFunction<T>) => EqualityFunction<T[]>;
|
|
39
|
-
/**
|
|
40
|
-
* Create an object equality function with custom property comparison
|
|
41
|
-
*/
|
|
42
|
-
export declare const createObjectEquals: <T extends Record<string, any>>(propertyEquals?: EqualityFunction<any>) => EqualityFunction<T>;
|
|
43
|
-
/**
|
|
44
|
-
* Combine multiple equality functions with AND logic
|
|
45
|
-
*/
|
|
46
|
-
export declare const combineEquals: <T>(...equalsFunctions: EqualityFunction<T>[]) => EqualityFunction<T>;
|
|
47
|
-
/**
|
|
48
|
-
* Utility to wrap an equality function with debugging
|
|
49
|
-
*/
|
|
50
|
-
export declare const debugEquals: <T>(equalsFn: EqualityFunction<T>, debugName?: string) => EqualityFunction<T>;
|
|
51
|
-
//# sourceMappingURL=equality.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"equality.d.ts","sourceRoot":"","sources":["../../../../../core/src/reactive/equality.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAA;AAEzD;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,OAAkB,CAAA;AAEhE;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,OA0B1C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,OAa7C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,OAiChD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,OAS1C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,CAAC,EACvC,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACzB,WAAU,gBAAgB,CAAC,CAAC,CAAiB,KAC5C,gBAAgB,CAAC,CAAC,CAIpB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EACjC,gBAAe,gBAAgB,CAAC,CAAC,CAAiB,KACjD,gBAAgB,CAAC,CAAC,EAAE,CAOtB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9D,iBAAgB,gBAAgB,CAAC,GAAG,CAAiB,KACpD,gBAAgB,CAAC,CAAC,CAWpB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAC7B,GAAG,iBAAiB,gBAAgB,CAAC,CAAC,CAAC,EAAE,KACxC,gBAAgB,CAAC,CAAC,CAIpB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAC3B,UAAU,gBAAgB,CAAC,CAAC,CAAC,EAC7B,YAAY,MAAM,KACjB,gBAAgB,CAAC,CAAC,CAQpB,CAAA"}
|