summaryrefslogtreecommitdiff
path: root/node_modules/postcss-import/lib/join-media.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/postcss-import/lib/join-media.js')
-rw-r--r--node_modules/postcss-import/lib/join-media.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/node_modules/postcss-import/lib/join-media.js b/node_modules/postcss-import/lib/join-media.js
new file mode 100644
index 0000000..fcaaecd
--- /dev/null
+++ b/node_modules/postcss-import/lib/join-media.js
@@ -0,0 +1,28 @@
+"use strict"
+
+const startsWithKeywordRegexp = /^(all|not|only|print|screen)/i
+
+module.exports = function (parentMedia, childMedia) {
+ if (!parentMedia.length && childMedia.length) return childMedia
+ if (parentMedia.length && !childMedia.length) return parentMedia
+ if (!parentMedia.length && !childMedia.length) return []
+
+ const media = []
+
+ parentMedia.forEach(parentItem => {
+ const parentItemStartsWithKeyword = startsWithKeywordRegexp.test(parentItem)
+
+ childMedia.forEach(childItem => {
+ const childItemStartsWithKeyword = startsWithKeywordRegexp.test(childItem)
+ if (parentItem !== childItem) {
+ if (childItemStartsWithKeyword && !parentItemStartsWithKeyword) {
+ media.push(`${childItem} and ${parentItem}`)
+ } else {
+ media.push(`${parentItem} and ${childItem}`)
+ }
+ }
+ })
+ })
+
+ return media
+}