@jesscss/core 2.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +9 -0
- package/lib/context.d.ts +352 -0
- package/lib/context.d.ts.map +1 -0
- package/lib/context.js +636 -0
- package/lib/context.js.map +1 -0
- package/lib/conversions.d.ts +73 -0
- package/lib/conversions.d.ts.map +1 -0
- package/lib/conversions.js +253 -0
- package/lib/conversions.js.map +1 -0
- package/lib/debug-log.d.ts +2 -0
- package/lib/debug-log.d.ts.map +1 -0
- package/lib/debug-log.js +27 -0
- package/lib/debug-log.js.map +1 -0
- package/lib/define-function.d.ts +587 -0
- package/lib/define-function.d.ts.map +1 -0
- package/lib/define-function.js +726 -0
- package/lib/define-function.js.map +1 -0
- package/lib/deprecation.d.ts +34 -0
- package/lib/deprecation.d.ts.map +1 -0
- package/lib/deprecation.js +57 -0
- package/lib/deprecation.js.map +1 -0
- package/lib/index.d.ts +22 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +23 -0
- package/lib/index.js.map +1 -0
- package/lib/jess-error.d.ts +343 -0
- package/lib/jess-error.d.ts.map +1 -0
- package/lib/jess-error.js +508 -0
- package/lib/jess-error.js.map +1 -0
- package/lib/logger/deprecation-processing.d.ts +41 -0
- package/lib/logger/deprecation-processing.d.ts.map +1 -0
- package/lib/logger/deprecation-processing.js +81 -0
- package/lib/logger/deprecation-processing.js.map +1 -0
- package/lib/logger.d.ts +10 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/logger.js +20 -0
- package/lib/logger.js.map +1 -0
- package/lib/plugin.d.ts +94 -0
- package/lib/plugin.d.ts.map +1 -0
- package/lib/plugin.js +174 -0
- package/lib/plugin.js.map +1 -0
- package/lib/tree/ampersand.d.ts +94 -0
- package/lib/tree/ampersand.d.ts.map +1 -0
- package/lib/tree/ampersand.js +269 -0
- package/lib/tree/ampersand.js.map +1 -0
- package/lib/tree/any.d.ts +58 -0
- package/lib/tree/any.d.ts.map +1 -0
- package/lib/tree/any.js +101 -0
- package/lib/tree/any.js.map +1 -0
- package/lib/tree/at-rule.d.ts +53 -0
- package/lib/tree/at-rule.d.ts.map +1 -0
- package/lib/tree/at-rule.js +503 -0
- package/lib/tree/at-rule.js.map +1 -0
- package/lib/tree/block.d.ts +22 -0
- package/lib/tree/block.d.ts.map +1 -0
- package/lib/tree/block.js +24 -0
- package/lib/tree/block.js.map +1 -0
- package/lib/tree/bool.d.ts +17 -0
- package/lib/tree/bool.d.ts.map +1 -0
- package/lib/tree/bool.js +24 -0
- package/lib/tree/bool.js.map +1 -0
- package/lib/tree/call.d.ts +66 -0
- package/lib/tree/call.d.ts.map +1 -0
- package/lib/tree/call.js +306 -0
- package/lib/tree/call.js.map +1 -0
- package/lib/tree/collection.d.ts +30 -0
- package/lib/tree/collection.d.ts.map +1 -0
- package/lib/tree/collection.js +37 -0
- package/lib/tree/collection.js.map +1 -0
- package/lib/tree/color.d.ts +101 -0
- package/lib/tree/color.d.ts.map +1 -0
- package/lib/tree/color.js +513 -0
- package/lib/tree/color.js.map +1 -0
- package/lib/tree/combinator.d.ts +12 -0
- package/lib/tree/combinator.d.ts.map +1 -0
- package/lib/tree/combinator.js +8 -0
- package/lib/tree/combinator.js.map +1 -0
- package/lib/tree/comment.d.ts +20 -0
- package/lib/tree/comment.d.ts.map +1 -0
- package/lib/tree/comment.js +18 -0
- package/lib/tree/comment.js.map +1 -0
- package/lib/tree/condition.d.ts +31 -0
- package/lib/tree/condition.d.ts.map +1 -0
- package/lib/tree/condition.js +103 -0
- package/lib/tree/condition.js.map +1 -0
- package/lib/tree/control.d.ts +104 -0
- package/lib/tree/control.d.ts.map +1 -0
- package/lib/tree/control.js +430 -0
- package/lib/tree/control.js.map +1 -0
- package/lib/tree/declaration-custom.d.ts +18 -0
- package/lib/tree/declaration-custom.d.ts.map +1 -0
- package/lib/tree/declaration-custom.js +24 -0
- package/lib/tree/declaration-custom.js.map +1 -0
- package/lib/tree/declaration-var.d.ts +36 -0
- package/lib/tree/declaration-var.d.ts.map +1 -0
- package/lib/tree/declaration-var.js +63 -0
- package/lib/tree/declaration-var.js.map +1 -0
- package/lib/tree/declaration.d.ts +78 -0
- package/lib/tree/declaration.d.ts.map +1 -0
- package/lib/tree/declaration.js +289 -0
- package/lib/tree/declaration.js.map +1 -0
- package/lib/tree/default-guard.d.ts +15 -0
- package/lib/tree/default-guard.d.ts.map +1 -0
- package/lib/tree/default-guard.js +19 -0
- package/lib/tree/default-guard.js.map +1 -0
- package/lib/tree/dimension.d.ts +33 -0
- package/lib/tree/dimension.d.ts.map +1 -0
- package/lib/tree/dimension.js +291 -0
- package/lib/tree/dimension.js.map +1 -0
- package/lib/tree/expression.d.ts +24 -0
- package/lib/tree/expression.d.ts.map +1 -0
- package/lib/tree/expression.js +28 -0
- package/lib/tree/expression.js.map +1 -0
- package/lib/tree/extend-list.d.ts +23 -0
- package/lib/tree/extend-list.d.ts.map +1 -0
- package/lib/tree/extend-list.js +20 -0
- package/lib/tree/extend-list.js.map +1 -0
- package/lib/tree/extend.d.ts +47 -0
- package/lib/tree/extend.d.ts.map +1 -0
- package/lib/tree/extend.js +292 -0
- package/lib/tree/extend.js.map +1 -0
- package/lib/tree/function.d.ts +48 -0
- package/lib/tree/function.d.ts.map +1 -0
- package/lib/tree/function.js +74 -0
- package/lib/tree/function.js.map +1 -0
- package/lib/tree/import-js.d.ts +35 -0
- package/lib/tree/import-js.d.ts.map +1 -0
- package/lib/tree/import-js.js +45 -0
- package/lib/tree/import-js.js.map +1 -0
- package/lib/tree/import-style.d.ts +156 -0
- package/lib/tree/import-style.d.ts.map +1 -0
- package/lib/tree/import-style.js +556 -0
- package/lib/tree/import-style.js.map +1 -0
- package/lib/tree/index.d.ts +71 -0
- package/lib/tree/index.d.ts.map +1 -0
- package/lib/tree/index.js +95 -0
- package/lib/tree/index.js.map +1 -0
- package/lib/tree/interpolated-reference.d.ts +24 -0
- package/lib/tree/interpolated-reference.d.ts.map +1 -0
- package/lib/tree/interpolated-reference.js +37 -0
- package/lib/tree/interpolated-reference.js.map +1 -0
- package/lib/tree/interpolated.d.ts +62 -0
- package/lib/tree/interpolated.d.ts.map +1 -0
- package/lib/tree/interpolated.js +204 -0
- package/lib/tree/interpolated.js.map +1 -0
- package/lib/tree/js-array.d.ts +10 -0
- package/lib/tree/js-array.d.ts.map +1 -0
- package/lib/tree/js-array.js +10 -0
- package/lib/tree/js-array.js.map +1 -0
- package/lib/tree/js-expr.d.ts +23 -0
- package/lib/tree/js-expr.d.ts.map +1 -0
- package/lib/tree/js-expr.js +28 -0
- package/lib/tree/js-expr.js.map +1 -0
- package/lib/tree/js-function.d.ts +20 -0
- package/lib/tree/js-function.d.ts.map +1 -0
- package/lib/tree/js-function.js +16 -0
- package/lib/tree/js-function.js.map +1 -0
- package/lib/tree/js-object.d.ts +10 -0
- package/lib/tree/js-object.d.ts.map +1 -0
- package/lib/tree/js-object.js +10 -0
- package/lib/tree/js-object.js.map +1 -0
- package/lib/tree/list.d.ts +38 -0
- package/lib/tree/list.d.ts.map +1 -0
- package/lib/tree/list.js +83 -0
- package/lib/tree/list.js.map +1 -0
- package/lib/tree/log.d.ts +29 -0
- package/lib/tree/log.d.ts.map +1 -0
- package/lib/tree/log.js +56 -0
- package/lib/tree/log.js.map +1 -0
- package/lib/tree/mixin.d.ts +87 -0
- package/lib/tree/mixin.d.ts.map +1 -0
- package/lib/tree/mixin.js +112 -0
- package/lib/tree/mixin.js.map +1 -0
- package/lib/tree/negative.d.ts +17 -0
- package/lib/tree/negative.d.ts.map +1 -0
- package/lib/tree/negative.js +22 -0
- package/lib/tree/negative.js.map +1 -0
- package/lib/tree/nil.d.ts +31 -0
- package/lib/tree/nil.d.ts.map +1 -0
- package/lib/tree/nil.js +36 -0
- package/lib/tree/nil.js.map +1 -0
- package/lib/tree/node-base.d.ts +359 -0
- package/lib/tree/node-base.d.ts.map +1 -0
- package/lib/tree/node-base.js +884 -0
- package/lib/tree/node-base.js.map +1 -0
- package/lib/tree/node.d.ts +10 -0
- package/lib/tree/node.d.ts.map +1 -0
- package/lib/tree/node.js +45 -0
- package/lib/tree/node.js.map +1 -0
- package/lib/tree/number.d.ts +21 -0
- package/lib/tree/number.d.ts.map +1 -0
- package/lib/tree/number.js +27 -0
- package/lib/tree/number.js.map +1 -0
- package/lib/tree/operation.d.ts +26 -0
- package/lib/tree/operation.d.ts.map +1 -0
- package/lib/tree/operation.js +103 -0
- package/lib/tree/operation.js.map +1 -0
- package/lib/tree/paren.d.ts +18 -0
- package/lib/tree/paren.d.ts.map +1 -0
- package/lib/tree/paren.js +86 -0
- package/lib/tree/paren.js.map +1 -0
- package/lib/tree/query-condition.d.ts +17 -0
- package/lib/tree/query-condition.d.ts.map +1 -0
- package/lib/tree/query-condition.js +39 -0
- package/lib/tree/query-condition.js.map +1 -0
- package/lib/tree/quoted.d.ts +27 -0
- package/lib/tree/quoted.d.ts.map +1 -0
- package/lib/tree/quoted.js +66 -0
- package/lib/tree/quoted.js.map +1 -0
- package/lib/tree/range.d.ts +33 -0
- package/lib/tree/range.d.ts.map +1 -0
- package/lib/tree/range.js +47 -0
- package/lib/tree/range.js.map +1 -0
- package/lib/tree/reference.d.ts +76 -0
- package/lib/tree/reference.d.ts.map +1 -0
- package/lib/tree/reference.js +521 -0
- package/lib/tree/reference.js.map +1 -0
- package/lib/tree/rest.d.ts +15 -0
- package/lib/tree/rest.d.ts.map +1 -0
- package/lib/tree/rest.js +32 -0
- package/lib/tree/rest.js.map +1 -0
- package/lib/tree/rules-raw.d.ts +17 -0
- package/lib/tree/rules-raw.d.ts.map +1 -0
- package/lib/tree/rules-raw.js +37 -0
- package/lib/tree/rules-raw.js.map +1 -0
- package/lib/tree/rules.d.ts +255 -0
- package/lib/tree/rules.d.ts.map +1 -0
- package/lib/tree/rules.js +2293 -0
- package/lib/tree/rules.js.map +1 -0
- package/lib/tree/ruleset.d.ts +91 -0
- package/lib/tree/ruleset.d.ts.map +1 -0
- package/lib/tree/ruleset.js +506 -0
- package/lib/tree/ruleset.js.map +1 -0
- package/lib/tree/selector-attr.d.ts +31 -0
- package/lib/tree/selector-attr.d.ts.map +1 -0
- package/lib/tree/selector-attr.js +99 -0
- package/lib/tree/selector-attr.js.map +1 -0
- package/lib/tree/selector-basic.d.ts +23 -0
- package/lib/tree/selector-basic.d.ts.map +1 -0
- package/lib/tree/selector-basic.js +34 -0
- package/lib/tree/selector-basic.js.map +1 -0
- package/lib/tree/selector-capture.d.ts +23 -0
- package/lib/tree/selector-capture.d.ts.map +1 -0
- package/lib/tree/selector-capture.js +34 -0
- package/lib/tree/selector-capture.js.map +1 -0
- package/lib/tree/selector-complex.d.ts +40 -0
- package/lib/tree/selector-complex.d.ts.map +1 -0
- package/lib/tree/selector-complex.js +143 -0
- package/lib/tree/selector-complex.js.map +1 -0
- package/lib/tree/selector-compound.d.ts +16 -0
- package/lib/tree/selector-compound.d.ts.map +1 -0
- package/lib/tree/selector-compound.js +114 -0
- package/lib/tree/selector-compound.js.map +1 -0
- package/lib/tree/selector-interpolated.d.ts +23 -0
- package/lib/tree/selector-interpolated.d.ts.map +1 -0
- package/lib/tree/selector-interpolated.js +27 -0
- package/lib/tree/selector-interpolated.js.map +1 -0
- package/lib/tree/selector-list.d.ts +17 -0
- package/lib/tree/selector-list.d.ts.map +1 -0
- package/lib/tree/selector-list.js +184 -0
- package/lib/tree/selector-list.js.map +1 -0
- package/lib/tree/selector-pseudo.d.ts +42 -0
- package/lib/tree/selector-pseudo.d.ts.map +1 -0
- package/lib/tree/selector-pseudo.js +191 -0
- package/lib/tree/selector-pseudo.js.map +1 -0
- package/lib/tree/selector-simple.d.ts +5 -0
- package/lib/tree/selector-simple.d.ts.map +1 -0
- package/lib/tree/selector-simple.js +6 -0
- package/lib/tree/selector-simple.js.map +1 -0
- package/lib/tree/selector.d.ts +43 -0
- package/lib/tree/selector.d.ts.map +1 -0
- package/lib/tree/selector.js +56 -0
- package/lib/tree/selector.js.map +1 -0
- package/lib/tree/sequence.d.ts +43 -0
- package/lib/tree/sequence.d.ts.map +1 -0
- package/lib/tree/sequence.js +148 -0
- package/lib/tree/sequence.js.map +1 -0
- package/lib/tree/tree.d.ts +87 -0
- package/lib/tree/tree.d.ts.map +1 -0
- package/lib/tree/tree.js +2 -0
- package/lib/tree/tree.js.map +1 -0
- package/lib/tree/url.d.ts +18 -0
- package/lib/tree/url.d.ts.map +1 -0
- package/lib/tree/url.js +35 -0
- package/lib/tree/url.js.map +1 -0
- package/lib/tree/util/__tests__/debug-log.d.ts +1 -0
- package/lib/tree/util/__tests__/debug-log.d.ts.map +1 -0
- package/lib/tree/util/__tests__/debug-log.js +36 -0
- package/lib/tree/util/__tests__/debug-log.js.map +1 -0
- package/lib/tree/util/calculate.d.ts +3 -0
- package/lib/tree/util/calculate.d.ts.map +1 -0
- package/lib/tree/util/calculate.js +10 -0
- package/lib/tree/util/calculate.js.map +1 -0
- package/lib/tree/util/cast.d.ts +10 -0
- package/lib/tree/util/cast.d.ts.map +1 -0
- package/lib/tree/util/cast.js +87 -0
- package/lib/tree/util/cast.js.map +1 -0
- package/lib/tree/util/cloning.d.ts +4 -0
- package/lib/tree/util/cloning.d.ts.map +1 -0
- package/lib/tree/util/cloning.js +8 -0
- package/lib/tree/util/cloning.js.map +1 -0
- package/lib/tree/util/collections.d.ts +57 -0
- package/lib/tree/util/collections.d.ts.map +1 -0
- package/lib/tree/util/collections.js +136 -0
- package/lib/tree/util/collections.js.map +1 -0
- package/lib/tree/util/compare.d.ts +11 -0
- package/lib/tree/util/compare.d.ts.map +1 -0
- package/lib/tree/util/compare.js +89 -0
- package/lib/tree/util/compare.js.map +1 -0
- package/lib/tree/util/extend-helpers.d.ts +2 -0
- package/lib/tree/util/extend-helpers.d.ts.map +1 -0
- package/lib/tree/util/extend-helpers.js +2 -0
- package/lib/tree/util/extend-helpers.js.map +1 -0
- package/lib/tree/util/extend-roots.d.ts +37 -0
- package/lib/tree/util/extend-roots.d.ts.map +1 -0
- package/lib/tree/util/extend-roots.js +682 -0
- package/lib/tree/util/extend-roots.js.map +1 -0
- package/lib/tree/util/extend-roots.old.d.ts +132 -0
- package/lib/tree/util/extend-roots.old.d.ts.map +1 -0
- package/lib/tree/util/extend-roots.old.js +2272 -0
- package/lib/tree/util/extend-roots.old.js.map +1 -0
- package/lib/tree/util/extend-trace-debug.d.ts +13 -0
- package/lib/tree/util/extend-trace-debug.d.ts.map +1 -0
- package/lib/tree/util/extend-trace-debug.js +34 -0
- package/lib/tree/util/extend-trace-debug.js.map +1 -0
- package/lib/tree/util/extend.d.ts +218 -0
- package/lib/tree/util/extend.d.ts.map +1 -0
- package/lib/tree/util/extend.js +3033 -0
- package/lib/tree/util/extend.js.map +1 -0
- package/lib/tree/util/find-extendable-locations.d.ts +2 -0
- package/lib/tree/util/find-extendable-locations.d.ts.map +1 -0
- package/lib/tree/util/find-extendable-locations.js +2 -0
- package/lib/tree/util/find-extendable-locations.js.map +1 -0
- package/lib/tree/util/format.d.ts +20 -0
- package/lib/tree/util/format.d.ts.map +1 -0
- package/lib/tree/util/format.js +67 -0
- package/lib/tree/util/format.js.map +1 -0
- package/lib/tree/util/is-node.d.ts +13 -0
- package/lib/tree/util/is-node.d.ts.map +1 -0
- package/lib/tree/util/is-node.js +43 -0
- package/lib/tree/util/is-node.js.map +1 -0
- package/lib/tree/util/print.d.ts +80 -0
- package/lib/tree/util/print.d.ts.map +1 -0
- package/lib/tree/util/print.js +205 -0
- package/lib/tree/util/print.js.map +1 -0
- package/lib/tree/util/process-leading-is.d.ts +25 -0
- package/lib/tree/util/process-leading-is.d.ts.map +1 -0
- package/lib/tree/util/process-leading-is.js +364 -0
- package/lib/tree/util/process-leading-is.js.map +1 -0
- package/lib/tree/util/recursion-helper.d.ts +15 -0
- package/lib/tree/util/recursion-helper.d.ts.map +1 -0
- package/lib/tree/util/recursion-helper.js +43 -0
- package/lib/tree/util/recursion-helper.js.map +1 -0
- package/lib/tree/util/regex.d.ts +4 -0
- package/lib/tree/util/regex.d.ts.map +1 -0
- package/lib/tree/util/regex.js +4 -0
- package/lib/tree/util/regex.js.map +1 -0
- package/lib/tree/util/registry-utils.d.ts +192 -0
- package/lib/tree/util/registry-utils.d.ts.map +1 -0
- package/lib/tree/util/registry-utils.js +1242 -0
- package/lib/tree/util/registry-utils.js.map +1 -0
- package/lib/tree/util/ruleset-trace.d.ts +4 -0
- package/lib/tree/util/ruleset-trace.d.ts.map +1 -0
- package/lib/tree/util/ruleset-trace.js +14 -0
- package/lib/tree/util/ruleset-trace.js.map +1 -0
- package/lib/tree/util/selector-compare.d.ts +2 -0
- package/lib/tree/util/selector-compare.d.ts.map +1 -0
- package/lib/tree/util/selector-compare.js +2 -0
- package/lib/tree/util/selector-compare.js.map +1 -0
- package/lib/tree/util/selector-match-core.d.ts +171 -0
- package/lib/tree/util/selector-match-core.d.ts.map +1 -0
- package/lib/tree/util/selector-match-core.js +1578 -0
- package/lib/tree/util/selector-match-core.js.map +1 -0
- package/lib/tree/util/selector-utils.d.ts +30 -0
- package/lib/tree/util/selector-utils.d.ts.map +1 -0
- package/lib/tree/util/selector-utils.js +100 -0
- package/lib/tree/util/selector-utils.js.map +1 -0
- package/lib/tree/util/serialize-helper.d.ts +13 -0
- package/lib/tree/util/serialize-helper.d.ts.map +1 -0
- package/lib/tree/util/serialize-helper.js +387 -0
- package/lib/tree/util/serialize-helper.js.map +1 -0
- package/lib/tree/util/serialize-types.d.ts +9 -0
- package/lib/tree/util/serialize-types.d.ts.map +1 -0
- package/lib/tree/util/serialize-types.js +216 -0
- package/lib/tree/util/serialize-types.js.map +1 -0
- package/lib/tree/util/should-operate.d.ts +23 -0
- package/lib/tree/util/should-operate.d.ts.map +1 -0
- package/lib/tree/util/should-operate.js +46 -0
- package/lib/tree/util/should-operate.js.map +1 -0
- package/lib/tree/util/sourcemap.d.ts +7 -0
- package/lib/tree/util/sourcemap.d.ts.map +1 -0
- package/lib/tree/util/sourcemap.js +25 -0
- package/lib/tree/util/sourcemap.js.map +1 -0
- package/lib/types/config.d.ts +205 -0
- package/lib/types/config.d.ts.map +1 -0
- package/lib/types/config.js +2 -0
- package/lib/types/config.js.map +1 -0
- package/lib/types/index.d.ts +15 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +3 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/modes.d.ts +24 -0
- package/lib/types/modes.d.ts.map +1 -0
- package/lib/types/modes.js +2 -0
- package/lib/types/modes.js.map +1 -0
- package/lib/types.d.ts +61 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/lib/use-webpack-resolver.d.ts +9 -0
- package/lib/use-webpack-resolver.d.ts.map +1 -0
- package/lib/use-webpack-resolver.js +41 -0
- package/lib/use-webpack-resolver.js.map +1 -0
- package/lib/visitor/index.d.ts +136 -0
- package/lib/visitor/index.d.ts.map +1 -0
- package/lib/visitor/index.js +135 -0
- package/lib/visitor/index.js.map +1 -0
- package/lib/visitor/less-visitor.d.ts +7 -0
- package/lib/visitor/less-visitor.d.ts.map +1 -0
- package/lib/visitor/less-visitor.js +7 -0
- package/lib/visitor/less-visitor.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
import { type TreeContext, type Context } from '../context.js';
|
|
2
|
+
import { type Visitor } from '../visitor/index.js';
|
|
3
|
+
import { type Operator } from './util/calculate.js';
|
|
4
|
+
import type { Class, AbstractClass, Tagged } from 'type-fest';
|
|
5
|
+
import type { Comment } from './comment.js';
|
|
6
|
+
import { type PrintOptions } from './util/print.js';
|
|
7
|
+
import { type MaybePromise } from '@jesscss/awaitable-pipe';
|
|
8
|
+
import type { Rules } from './rules.js';
|
|
9
|
+
import type { Nil } from './nil.js';
|
|
10
|
+
export type { TreeContext };
|
|
11
|
+
type AllNodeOptions = {
|
|
12
|
+
/**
|
|
13
|
+
* This seems harder to implement. For now, for anything that needs
|
|
14
|
+
* to be flattened, we hoist it to the root.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* For statements with optional semis,
|
|
18
|
+
* we flag this for accurate re-serialization.
|
|
19
|
+
*
|
|
20
|
+
* @todo - Not sure if we actually need this, but it's here
|
|
21
|
+
* if we wanted a concrete syntax tree.
|
|
22
|
+
*/
|
|
23
|
+
semi?: boolean;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* @todo - Clean up and delete these types and symbols, if not used.
|
|
27
|
+
*/
|
|
28
|
+
export type Primitive = undefined | boolean | string | number;
|
|
29
|
+
export type PrimitiveOrFunc = Primitive | ((...args: any[]) => any);
|
|
30
|
+
export declare const ABORT: unique symbol;
|
|
31
|
+
export declare const REMOVE: unique symbol;
|
|
32
|
+
export declare const IS_PROXY: unique symbol;
|
|
33
|
+
export type NodeVisitReturn = void | Node | symbol;
|
|
34
|
+
export type NodeOptions = Record<string, any> & AllNodeOptions;
|
|
35
|
+
export declare const DEFAULT_DATA = "value";
|
|
36
|
+
type BasicNodeTypes = PrimitiveOrFunc | Node;
|
|
37
|
+
type NodeRecordValue = BasicNodeTypes | Array<BasicNodeTypes | PrimitiveOrFunc[]> | Record<string, any>;
|
|
38
|
+
export type NodeValueObject = Record<string, NodeRecordValue>;
|
|
39
|
+
export type NodeValue = BasicNodeTypes | BasicNodeTypes[] | NodeValueObject;
|
|
40
|
+
export type NodeMapArray<T extends NodeValueObject = NodeValueObject, K = keyof T, V = T[string]> = Array<[K, V]>;
|
|
41
|
+
export type LocationInfo = [
|
|
42
|
+
startOffset: number,
|
|
43
|
+
startLine: number,
|
|
44
|
+
startColumn: number,
|
|
45
|
+
endOffset: number,
|
|
46
|
+
endLine: number,
|
|
47
|
+
endColumn: number
|
|
48
|
+
];
|
|
49
|
+
/**
|
|
50
|
+
* Utility type to mark a node's value as generated
|
|
51
|
+
*/
|
|
52
|
+
export type GeneratedNodeValue<T> = T extends object ? T & {
|
|
53
|
+
generated: true;
|
|
54
|
+
} : T;
|
|
55
|
+
/**
|
|
56
|
+
* @todo I think the only utility for this now is we collect
|
|
57
|
+
* the types of nodes in the tree at first evaluation time.
|
|
58
|
+
*/
|
|
59
|
+
export declare const defineType: <V = never, T extends AbstractClass<Node> = AbstractClass<Node>, P extends ConstructorParameters<T> = ConstructorParameters<T>>(Clazz: T, type: string, shortType?: string) => (...args: [value?: V | P[0] | undefined, options?: P[1] | undefined, location?: P[2] | undefined]) => T extends Class<infer C> ? C : never;
|
|
60
|
+
export type ConditionOperator = 'and' | 'or' | '=' | '>' | '<' | '>=' | '<=';
|
|
61
|
+
export type NoOverride<T> = Tagged<T, 'NoOverride'>;
|
|
62
|
+
export declare const F_VISIBLE = 1;
|
|
63
|
+
export declare const F_MAY_ASYNC = 2;
|
|
64
|
+
/**
|
|
65
|
+
* @todo - The plan is to use these as signals for evaluation. If we
|
|
66
|
+
* bubble these correctly, then we can exit early from evaluation for
|
|
67
|
+
* a speed boost. However, bubbling is not yet water-tight and needs
|
|
68
|
+
* test coverage.
|
|
69
|
+
*/
|
|
70
|
+
export declare const F_STATIC = 4;
|
|
71
|
+
export declare const F_NON_STATIC = 8;
|
|
72
|
+
/** Whether or not a physical ampersand is in this selector */
|
|
73
|
+
export declare const F_AMPERSAND = 16;
|
|
74
|
+
/** Whether an ampersand was implicitly added (not written by user) */
|
|
75
|
+
export declare const F_IMPLICIT_AMPERSAND = 32;
|
|
76
|
+
/** Selector item produced by extend and eligible for reference-mode rendering. */
|
|
77
|
+
export declare const F_EXTENDED = 64;
|
|
78
|
+
/** Selector item that matches an extend target and should be suppressed in reference-mode output. */
|
|
79
|
+
export declare const F_EXTEND_TARGET = 128;
|
|
80
|
+
export declare const F_DEFAULT = 1;
|
|
81
|
+
/**
|
|
82
|
+
* The underlying type for all Jess nodes
|
|
83
|
+
*/
|
|
84
|
+
export declare abstract class Node<Data = unknown, O extends NodeOptions = NodeOptions> {
|
|
85
|
+
_location: LocationInfo | [] | undefined;
|
|
86
|
+
get location(): LocationInfo | [];
|
|
87
|
+
private _treeContext;
|
|
88
|
+
/** Assigned in index to avoid circularity */
|
|
89
|
+
readonly treeContext: TreeContext;
|
|
90
|
+
private _options;
|
|
91
|
+
get options(): O & AllNodeOptions;
|
|
92
|
+
set options(options: O & AllNodeOptions);
|
|
93
|
+
/**
|
|
94
|
+
* Assigned on the prototype, make sure we don't initialize
|
|
95
|
+
*/
|
|
96
|
+
abstract type: string;
|
|
97
|
+
abstract shortType: string;
|
|
98
|
+
get types(): Set<string>;
|
|
99
|
+
/**
|
|
100
|
+
* Whitespace or comments before or after a Node.
|
|
101
|
+
*
|
|
102
|
+
* If this is `1`, it represents a single space character (' ').
|
|
103
|
+
* If it's 0, it means there were no pre/post tokens when parsed.
|
|
104
|
+
* If undefined, it means this was created using the API, and default
|
|
105
|
+
* formatting can be used.
|
|
106
|
+
* In a NodeList, any whitespace tokens outside of comments are individually represented,
|
|
107
|
+
* because they are preserved while the comment may not be.
|
|
108
|
+
*/
|
|
109
|
+
/** Nil type is resolved at runtime via prototype patching */
|
|
110
|
+
pre: Array<Comment | Node | string> | 1 | 0 | undefined;
|
|
111
|
+
post: Array<Comment | Node | string> | 1 | 0 | undefined;
|
|
112
|
+
/** Will be copied during inherit */
|
|
113
|
+
state: number;
|
|
114
|
+
/** Runtime tracking: has preEval been run on this node? */
|
|
115
|
+
preEvaluated: boolean;
|
|
116
|
+
/** Runtime tracking: has eval been run on this node? */
|
|
117
|
+
evaluated: boolean;
|
|
118
|
+
get visible(): boolean;
|
|
119
|
+
fullRender: boolean;
|
|
120
|
+
allowRoot: boolean;
|
|
121
|
+
allowRuleRoot: boolean;
|
|
122
|
+
hoistToRoot: boolean | undefined;
|
|
123
|
+
/**
|
|
124
|
+
* Code internally should call .create() when making new
|
|
125
|
+
* nodes, which will automatically mark the node as generated.
|
|
126
|
+
*/
|
|
127
|
+
generated: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* If the node must have a semi separator before
|
|
130
|
+
* the next node when in a declaration list or main
|
|
131
|
+
* rules list.
|
|
132
|
+
*/
|
|
133
|
+
_requiredSemi: boolean;
|
|
134
|
+
get requiredSemi(): boolean;
|
|
135
|
+
set requiredSemi(value: boolean);
|
|
136
|
+
/**
|
|
137
|
+
* Track the original source when cloned / copied,
|
|
138
|
+
* rather than keeping the entire tree
|
|
139
|
+
* Note: This property is defined in constructor as non-enumerable
|
|
140
|
+
*/
|
|
141
|
+
sourceNode: Node;
|
|
142
|
+
/**
|
|
143
|
+
* When evaluating, nodes are assigned an index and depth by the Rules node.
|
|
144
|
+
* This is used for lookup order. Note, this _will_ be undefined
|
|
145
|
+
* initially, but we assign it in the Rules node, which is also
|
|
146
|
+
* where we read it, so this makes the type easier.
|
|
147
|
+
*/
|
|
148
|
+
index: number;
|
|
149
|
+
/** @todo - Is there a reliable way to cache this? */
|
|
150
|
+
get depth(): number;
|
|
151
|
+
/**
|
|
152
|
+
* If true, prevents re-parenting of this node.
|
|
153
|
+
* This is used to maintain source lookup chains.
|
|
154
|
+
*/
|
|
155
|
+
frozen: boolean;
|
|
156
|
+
/**
|
|
157
|
+
* The parent node of this node. Usually, this
|
|
158
|
+
* shouldn't be set directly. Instead, a parent should use
|
|
159
|
+
* parent.adopt(thisNode);
|
|
160
|
+
*/
|
|
161
|
+
readonly parent: Node | undefined;
|
|
162
|
+
sourceParent: Node | undefined;
|
|
163
|
+
/** Patched at runtime in node.ts to return Nil instance */
|
|
164
|
+
nil: () => Nil;
|
|
165
|
+
protected _value: Data;
|
|
166
|
+
/**
|
|
167
|
+
* This is the internal `data` of the node.
|
|
168
|
+
*/
|
|
169
|
+
get value(): Data;
|
|
170
|
+
set value(val: Data);
|
|
171
|
+
/**
|
|
172
|
+
* This wraps the value in a proxy if it's an object or array.
|
|
173
|
+
* We do this so that assignment to the sub-nodes will properly
|
|
174
|
+
* set the parent of the sub-nodes.
|
|
175
|
+
*
|
|
176
|
+
* @todo - Test parent setting for objects / arrays.
|
|
177
|
+
*/
|
|
178
|
+
private _tryProxyWrap;
|
|
179
|
+
/**
|
|
180
|
+
* Add a flag to the node's state
|
|
181
|
+
* Handles STATIC/NON_STATIC exclusivity automatically
|
|
182
|
+
*/
|
|
183
|
+
addFlag(flag: number): void;
|
|
184
|
+
/**
|
|
185
|
+
* Remove a flag from the node's state
|
|
186
|
+
*/
|
|
187
|
+
removeFlag(flag: number): void;
|
|
188
|
+
/**
|
|
189
|
+
* Check if the node has a specific flag
|
|
190
|
+
*/
|
|
191
|
+
hasFlag(flag: number): boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Add multiple flags to the node's state
|
|
194
|
+
*/
|
|
195
|
+
addFlags(...flags: number[]): void;
|
|
196
|
+
adopt(node: Node): void;
|
|
197
|
+
/**
|
|
198
|
+
* Assign parent to sub-nodes
|
|
199
|
+
* @note - This will not process the children nodes of children nodes.
|
|
200
|
+
*/
|
|
201
|
+
private _processNodes;
|
|
202
|
+
constructor(value: Data, options?: O, location?: LocationInfo, treeContext?: TreeContext);
|
|
203
|
+
/**
|
|
204
|
+
* Static factory method to create a generated node.
|
|
205
|
+
* Has the exact same signature as the constructor but automatically marks the node as generated.
|
|
206
|
+
*
|
|
207
|
+
* @param value - The node's value data
|
|
208
|
+
* @param options - Node options
|
|
209
|
+
* @param location - Location information
|
|
210
|
+
* @param treeContext - Tree context
|
|
211
|
+
* @returns A new node instance with generated flag set if applicable
|
|
212
|
+
*/
|
|
213
|
+
static create<T extends new (...args: any[]) => Node>(this: T, value: ConstructorParameters<T>[0], options?: ConstructorParameters<T>[1], location?: ConstructorParameters<T>[2], treeContext?: ConstructorParameters<T>[3]): InstanceType<T>;
|
|
214
|
+
get rulesParent(): Rules | undefined;
|
|
215
|
+
get sourceRulesParent(): Rules | undefined;
|
|
216
|
+
/**
|
|
217
|
+
* Mutates node children in place. Used by eval()?
|
|
218
|
+
*
|
|
219
|
+
* Processed nodes must always return a Node.
|
|
220
|
+
*/
|
|
221
|
+
forEachNode(func: (n: Node, idx?: number) => MaybePromise<Node>): MaybePromise<void | undefined>;
|
|
222
|
+
static nodeAndPrePost(node: Node): Generator<Node<unknown, NodeOptions> | Comment, void, unknown>;
|
|
223
|
+
/**
|
|
224
|
+
* Return an iterator for all nodes / children nodes, including this one
|
|
225
|
+
*/
|
|
226
|
+
nodes(reverse?: boolean, includePrePost?: boolean): Generator<Node, void, unknown>;
|
|
227
|
+
/**
|
|
228
|
+
* An iterator for all node children
|
|
229
|
+
* @todo - Replace `walkNodes` with this?
|
|
230
|
+
*/
|
|
231
|
+
children(deep?: boolean, reverse?: boolean, includePrePost?: boolean): Generator<Node, void, unknown>;
|
|
232
|
+
/**
|
|
233
|
+
* @todo - Remove?
|
|
234
|
+
*/
|
|
235
|
+
/**
|
|
236
|
+
* Accept a visitor (classic visitor pattern).
|
|
237
|
+
*
|
|
238
|
+
* Visits the node itself first, then recursively visits children.
|
|
239
|
+
* This matches the Less.js visitor pattern and allows nodes to control
|
|
240
|
+
* their own traversal if needed by overriding this method.
|
|
241
|
+
*
|
|
242
|
+
* @param visitor - The visitor to accept
|
|
243
|
+
* @returns The result from visiting this node (may be a replacement node)
|
|
244
|
+
*/
|
|
245
|
+
accept(visitor: Visitor): Node;
|
|
246
|
+
/**
|
|
247
|
+
* @todo
|
|
248
|
+
* Write tests that make sure that a maybe clone without preserveOriginalNodes
|
|
249
|
+
* does not clone the nodes, but a maybeClone with preserveOriginalNodes
|
|
250
|
+
* does clone the nodes all through the tree.
|
|
251
|
+
*/
|
|
252
|
+
maybeClone(context: Context, deep?: boolean, cloneFn?: (n: Node) => Node): this;
|
|
253
|
+
clonedEval(context: Context): MaybePromise<Node>;
|
|
254
|
+
/**
|
|
255
|
+
* Creates a copy of the current node.
|
|
256
|
+
*
|
|
257
|
+
* @note - In the Less source, nodes were always cloned before
|
|
258
|
+
* mutating, which is why I did it here. However... the only
|
|
259
|
+
* utility for cloning is to preserve the original node,
|
|
260
|
+
* or (maybe?) to create a copy which is output differently.
|
|
261
|
+
*
|
|
262
|
+
* But... considering the high cost of cloning in terms of
|
|
263
|
+
* object creation, and the low utility of preserving the original
|
|
264
|
+
* node, I think we should just only clone when we need to.
|
|
265
|
+
*/
|
|
266
|
+
clone(deep?: boolean, cloneFn?: (n: Node) => Node): this;
|
|
267
|
+
/** Remove comments from pre/post */
|
|
268
|
+
stripPrePost(n: Node, preOrPost: 'pre' | 'post'): void;
|
|
269
|
+
/** Minimal nil fallback for edge cases where prototype method isn't attached yet */
|
|
270
|
+
private _createMinimalNil;
|
|
271
|
+
/**
|
|
272
|
+
* Same as clone except comments are stripped.
|
|
273
|
+
* This is used for variable referencing and
|
|
274
|
+
* selector extending.
|
|
275
|
+
*/
|
|
276
|
+
copy(deep?: boolean, cloneFn?: (n: Node) => Node): this;
|
|
277
|
+
/**
|
|
278
|
+
* `preEval` takes the following steps, which are extended in subclasses:
|
|
279
|
+
* 1. Clone the node (if the source node is wanted/needed)
|
|
280
|
+
* 2. Set `preEvaluated` to true
|
|
281
|
+
* 3. pre-evaluate all children
|
|
282
|
+
* 4. Return the node
|
|
283
|
+
*
|
|
284
|
+
* Mostly this is overridden to resolve names before registering.
|
|
285
|
+
*
|
|
286
|
+
* @todo - Update preEval / eval to use static evaluation based on flags.
|
|
287
|
+
*/
|
|
288
|
+
preEval(context: Context): MaybePromise<Node>;
|
|
289
|
+
/**
|
|
290
|
+
* This is the method all nodes will override.
|
|
291
|
+
* Individual nodes will specify / narrow return type
|
|
292
|
+
*
|
|
293
|
+
* By default, evals all children
|
|
294
|
+
*/
|
|
295
|
+
protected evalNode(context: Context): MaybePromise<Node>;
|
|
296
|
+
static evalStatic(node: Node, context: Context): MaybePromise<Node>;
|
|
297
|
+
/**
|
|
298
|
+
* @note - Make sure you don't call super.eval while evaluating a node. Call it indirectly
|
|
299
|
+
* from another node.
|
|
300
|
+
*/
|
|
301
|
+
eval(context: Context): MaybePromise<Node>;
|
|
302
|
+
/**
|
|
303
|
+
* This is used when a Node will replace another node.
|
|
304
|
+
*/
|
|
305
|
+
inherit(node: Node): this;
|
|
306
|
+
/**
|
|
307
|
+
* Represents the normalized string value of the node,
|
|
308
|
+
* for the purposes of comparison with other nodes,
|
|
309
|
+
* regardless of type.
|
|
310
|
+
*
|
|
311
|
+
* Derived nodes will override this with different
|
|
312
|
+
* normalization algorithms.
|
|
313
|
+
*/
|
|
314
|
+
valueOf(): Primitive;
|
|
315
|
+
processPrePost(key: 'pre' | 'post', defaultVal: string | undefined, options: PrintOptions): string;
|
|
316
|
+
/**
|
|
317
|
+
* This re-serializes the node, if needed. Will
|
|
318
|
+
* likely be over-ridden in some cases.
|
|
319
|
+
*
|
|
320
|
+
* Note that this is the "as-is" representation of the
|
|
321
|
+
* node, not the "evaluated" version.
|
|
322
|
+
*
|
|
323
|
+
* Note that the ToCssVisitor will be a little
|
|
324
|
+
* more sophisticated, as it will re-format
|
|
325
|
+
* to some extent by replacing newlines + spacing
|
|
326
|
+
* with the appropriate amount of whitespace.
|
|
327
|
+
*
|
|
328
|
+
* @note toString() will, by default, include pre/post
|
|
329
|
+
* white-space and comments, to make serialization
|
|
330
|
+
* easy.
|
|
331
|
+
*
|
|
332
|
+
* In almost all Node cases, this should not be overriden,
|
|
333
|
+
* and toTrimmedString() should be overridden instead.
|
|
334
|
+
*/
|
|
335
|
+
toString(options?: PrintOptions): string;
|
|
336
|
+
/**
|
|
337
|
+
* The form of the node without pre/post comments and white-space
|
|
338
|
+
*
|
|
339
|
+
* @note - Internally, this still calls `toString()` on each value,
|
|
340
|
+
* so that the internal spacing of the node serialization is
|
|
341
|
+
* correct. This method just serializes a node without the outer
|
|
342
|
+
* pre/post nodes.
|
|
343
|
+
*/
|
|
344
|
+
toTrimmedString(options?: PrintOptions): string;
|
|
345
|
+
/**
|
|
346
|
+
* Individual node types will override this.
|
|
347
|
+
*
|
|
348
|
+
* This is just a default implementation.
|
|
349
|
+
* 0 = equal (==)
|
|
350
|
+
* 1 = greater than (>)
|
|
351
|
+
* -1 = less than (<)
|
|
352
|
+
* undefined = not comparable
|
|
353
|
+
*/
|
|
354
|
+
compare(b: Node, context?: Context): 0 | 1 | -1 | undefined;
|
|
355
|
+
/** Overridden in index.ts to avoid circularity */
|
|
356
|
+
operate(b: Node, op: Operator, context: Context): Node;
|
|
357
|
+
static numericCompare(a: number, b: number): 0 | 1 | -1;
|
|
358
|
+
}
|
|
359
|
+
//# sourceMappingURL=node-base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-base.d.ts","sourceRoot":"","sources":["../../src/tree/node-base.ts"],"names":[],"mappings":"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"}
|