@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,136 @@
|
|
|
1
|
+
import isPlainObject from 'lodash-es/isPlainObject.js';
|
|
2
|
+
import { isNode } from './is-node.js';
|
|
3
|
+
const { isArray } = Array;
|
|
4
|
+
export function atIndex(array, index = -1) {
|
|
5
|
+
if (index >= 0) {
|
|
6
|
+
return array[index];
|
|
7
|
+
}
|
|
8
|
+
/** Use a negative index to access from the last element */
|
|
9
|
+
return array[array.length + index];
|
|
10
|
+
}
|
|
11
|
+
// type Test = GetEntriesOf<Node<string>>
|
|
12
|
+
// type Test2 = GetEntriesOf<Node<string[]>>
|
|
13
|
+
// type Test3 = GetEntriesOf<Node<{ selector: Node[], foo: 'string' }>>
|
|
14
|
+
export function* getValues(collection, reverse = false) {
|
|
15
|
+
if (isArray(collection)) {
|
|
16
|
+
if (reverse) {
|
|
17
|
+
for (let i = collection.length - 1; i >= 0; i--) {
|
|
18
|
+
yield collection[i];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
let length = collection.length;
|
|
23
|
+
for (let i = 0; i < length; i++) {
|
|
24
|
+
yield collection[i];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else if (isPlainObject(collection)) {
|
|
29
|
+
const values = Object.values(collection);
|
|
30
|
+
for (let value of values) {
|
|
31
|
+
if (isArray(value)) {
|
|
32
|
+
yield* getValues(value, reverse);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
yield value;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
yield collection;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export function* getEntries(collection, reverse = false) {
|
|
44
|
+
if (isArray(collection)) {
|
|
45
|
+
if (reverse) {
|
|
46
|
+
for (let i = collection.length - 1; i >= 0; i--) {
|
|
47
|
+
yield [collection[i], i, collection];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
let length = collection.length;
|
|
52
|
+
for (let i = 0; i < length; i++) {
|
|
53
|
+
yield [collection[i], i, collection];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else if (isPlainObject(collection)) {
|
|
58
|
+
const entries = Object.entries(collection);
|
|
59
|
+
for (let [key, value] of entries) {
|
|
60
|
+
if (isArray(value)) {
|
|
61
|
+
yield* getEntries(value, reverse);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
yield [value, key, collection];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else if (isNode(collection, ['Mixin', 'Ruleset', 'Rules'])) {
|
|
69
|
+
let rules;
|
|
70
|
+
if (collection.type === 'Mixin') {
|
|
71
|
+
if (collection.value.params?.length) {
|
|
72
|
+
throw new Error('We can\'t iterate over a mixin with parameters');
|
|
73
|
+
}
|
|
74
|
+
rules = collection.value.rules.value;
|
|
75
|
+
}
|
|
76
|
+
else if (collection.type === 'Ruleset') {
|
|
77
|
+
rules = collection.value.rules.value;
|
|
78
|
+
}
|
|
79
|
+
else if (collection.type === 'Rules') {
|
|
80
|
+
rules = collection.value;
|
|
81
|
+
}
|
|
82
|
+
for (let [, value] of rules.entries()) {
|
|
83
|
+
if (value.type === 'Comment') {
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
if (!isNode(value, 'Declaration')) {
|
|
87
|
+
throw new Error('We can\'t iterate over rules with non-declarations');
|
|
88
|
+
}
|
|
89
|
+
yield [value.value.value, value.value.name, rules];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else if (isNode(collection) && isArray(collection.value)) {
|
|
93
|
+
yield* getEntries(collection.value, reverse);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
yield [collection, 'value', collection];
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* We use { value: unknown } as the type for the node so that
|
|
101
|
+
* we can easily override the value type when calling.
|
|
102
|
+
*/
|
|
103
|
+
export function* getValuesFromNode(node, reverse = false) {
|
|
104
|
+
let value = node.value;
|
|
105
|
+
if (isArray(value) || isPlainObject(value)) {
|
|
106
|
+
yield* getValues(value, reverse);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
yield value;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* This is especially useful, because we don't have to care about what the Node's `value` is,
|
|
114
|
+
* we can just iterate over it and get the entries, and replace as necessary.
|
|
115
|
+
*/
|
|
116
|
+
export function* getEntriesFromNode(node, reverse = false) {
|
|
117
|
+
let value = node.value;
|
|
118
|
+
if (isArray(value) || isPlainObject(value)) {
|
|
119
|
+
yield* getEntries(value, reverse);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
yield [value, 'value', node];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
export function arraysEqual(a, b) {
|
|
126
|
+
if (a.length !== b.length) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
for (let i = 0; i < a.length; i++) {
|
|
130
|
+
if (a[i] !== b[i]) {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return true;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=collections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../../src/tree/util/collections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Node } from '../node.js';
|
|
2
|
+
import type { EqualityMode } from '../../types/modes.js';
|
|
3
|
+
export declare function compare(a: any, b: any, mode?: EqualityMode): 0 | 1 | -1 | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Find the actual source order of two nodes, by comparing
|
|
6
|
+
* their position in their lowest common ancestor in the tree.
|
|
7
|
+
*/
|
|
8
|
+
export declare function comparePosition(a: Node, b: Node): number;
|
|
9
|
+
export declare function compareNodeArray(a: any[], b: any[], mode?: EqualityMode): 0 | 1 | -1 | undefined;
|
|
10
|
+
export { selectorCompare } from './selector-compare.js';
|
|
11
|
+
//# sourceMappingURL=compare.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../../src/tree/util/compare.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,GAAE,YAAuB,0BAepE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,UA8C/C;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,GAAE,YAAuB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAuB1G;AAED,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { isNode } from './is-node.js';
|
|
2
|
+
import isObject from 'lodash-es/isObject.js';
|
|
3
|
+
export function compare(a, b, mode = 'coerce') {
|
|
4
|
+
if (a === b) {
|
|
5
|
+
return 0;
|
|
6
|
+
}
|
|
7
|
+
if (!isObject(a) && !isObject(b)) {
|
|
8
|
+
return a > b ? 1 : -1;
|
|
9
|
+
}
|
|
10
|
+
if (isNode(a) && isNode(b)) {
|
|
11
|
+
return a.compare(b);
|
|
12
|
+
}
|
|
13
|
+
/** Do comparison without strict equality */
|
|
14
|
+
if (mode === 'coerce' && a == b) {
|
|
15
|
+
return 0;
|
|
16
|
+
}
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Find the actual source order of two nodes, by comparing
|
|
21
|
+
* their position in their lowest common ancestor in the tree.
|
|
22
|
+
*/
|
|
23
|
+
export function comparePosition(a, b) {
|
|
24
|
+
/** Find the lowest common ancestor rules */
|
|
25
|
+
let min = Math.min(a.depth, b.depth);
|
|
26
|
+
let a0 = a;
|
|
27
|
+
let b0 = b;
|
|
28
|
+
/** Get to the same rules depth */
|
|
29
|
+
if (a.depth !== min) {
|
|
30
|
+
while (a.depth > min) {
|
|
31
|
+
a = a.rulesParent;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else if (b.depth !== min) {
|
|
35
|
+
while (b.depth > min) {
|
|
36
|
+
b = b.rulesParent;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/** Now, get to the same rules ancestor */
|
|
40
|
+
while (a !== b) {
|
|
41
|
+
a = a.rulesParent;
|
|
42
|
+
b = b.rulesParent;
|
|
43
|
+
}
|
|
44
|
+
let commonAncestor = a;
|
|
45
|
+
/** Now, go up the tree to the same ancestor */
|
|
46
|
+
let aParent = a0;
|
|
47
|
+
let bParent = b0;
|
|
48
|
+
while (true) {
|
|
49
|
+
aParent = aParent.parent;
|
|
50
|
+
if (aParent === commonAncestor) {
|
|
51
|
+
break;
|
|
52
|
+
}
|
|
53
|
+
a0 = aParent;
|
|
54
|
+
}
|
|
55
|
+
while (true) {
|
|
56
|
+
bParent = bParent.parent;
|
|
57
|
+
if (bParent === commonAncestor) {
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
b0 = bParent;
|
|
61
|
+
}
|
|
62
|
+
/** Now we should have siblings in the nearest common ancestor */
|
|
63
|
+
return a0.index - b0.index;
|
|
64
|
+
}
|
|
65
|
+
export function compareNodeArray(a, b, mode = 'coerce') {
|
|
66
|
+
let output;
|
|
67
|
+
if (a.length !== b.length) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* All values must be equal, or less than, or greater than.
|
|
72
|
+
* Anything else is undefined.
|
|
73
|
+
*/
|
|
74
|
+
for (let i = 0; i < a.length; i++) {
|
|
75
|
+
let result = compare(a[i], b[i], mode);
|
|
76
|
+
if (result === undefined) {
|
|
77
|
+
return undefined;
|
|
78
|
+
}
|
|
79
|
+
if (output === undefined) {
|
|
80
|
+
output = result;
|
|
81
|
+
}
|
|
82
|
+
else if (result !== output) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return output;
|
|
87
|
+
}
|
|
88
|
+
export { selectorCompare } from './selector-compare.js';
|
|
89
|
+
//# sourceMappingURL=compare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../../src/tree/util/compare.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend-helpers.d.ts","sourceRoot":"","sources":["../../../src/tree/util/extend-helpers.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend-helpers.js","sourceRoot":"","sources":["../../../src/tree/util/extend-helpers.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { Context } from '../../context.js';
|
|
2
|
+
import type { AtRule } from '../at-rule.js';
|
|
3
|
+
import type { Rules } from '../rules.js';
|
|
4
|
+
import type { Ruleset } from '../ruleset.js';
|
|
5
|
+
export declare class ExtendRootRegistry {
|
|
6
|
+
private parentRoot;
|
|
7
|
+
private childrenRoots;
|
|
8
|
+
private layerName;
|
|
9
|
+
private isProtected;
|
|
10
|
+
private isCompose;
|
|
11
|
+
private rootsByLayerName;
|
|
12
|
+
private rootsByNamespace;
|
|
13
|
+
private layerNames;
|
|
14
|
+
private allRoots;
|
|
15
|
+
root?: Rules;
|
|
16
|
+
extendRootStack: Rules[];
|
|
17
|
+
getCurrentExtendRoot(): Rules | undefined;
|
|
18
|
+
registerRoot(rules: Rules, parent?: Rules, options?: {
|
|
19
|
+
layerName?: string;
|
|
20
|
+
isProtected?: boolean;
|
|
21
|
+
isCompose?: boolean;
|
|
22
|
+
namespace?: string;
|
|
23
|
+
}): void;
|
|
24
|
+
pushExtendRoot(rules: Rules): void;
|
|
25
|
+
popExtendRoot(): void;
|
|
26
|
+
getVisibleRoots(root: Rules): Set<Rules>;
|
|
27
|
+
getAccessibleRoots(root: Rules): Set<Rules>;
|
|
28
|
+
isSameOrDescendantRoot(rulesetRoot: Rules, extendRoot: Rules): boolean;
|
|
29
|
+
setLayerName(atRule: AtRule, layerName: string): void;
|
|
30
|
+
getLayerName(atRule: AtRule): string | undefined;
|
|
31
|
+
takeLayerName(atRule: AtRule): string | undefined;
|
|
32
|
+
getAllRoots(): Set<Rules>;
|
|
33
|
+
isProtectedRoot(rules: Rules): boolean;
|
|
34
|
+
}
|
|
35
|
+
export declare function registerRulesetWithRoot(root: Rules, ruleset: Ruleset): void;
|
|
36
|
+
export declare function processExtends(context: Context): void;
|
|
37
|
+
//# sourceMappingURL=extend-roots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extend-roots.d.ts","sourceRoot":"","sources":["../../../src/tree/util/extend-roots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAY7C,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,SAAS,CAAgC;IACjD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,QAAQ,CAAoB;IAEpC,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,eAAe,EAAE,KAAK,EAAE,CAAM;IAE9B,oBAAoB,IAAI,KAAK,GAAG,SAAS;IAIzC,YAAY,CACV,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/F,IAAI;IA8CP,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAIlC,aAAa,IAAI,IAAI;IAIrB,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAIxC,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IA6D3C,sBAAsB,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,GAAG,OAAO;IA2BtE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIhD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQjD,WAAW,IAAI,GAAG,CAAC,KAAK,CAAC;IAIzB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;CAGvC;AAYD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAW3E;AAsED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwerD"}
|