Socket
Socket
Sign inDemoInstall

css-to-react-native

Package Overview
Dependencies
3
Maintainers
3
Versions
23
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.3.0 to 2.3.1

src/transforms/border.js

321

index.js

@@ -104,8 +104,57 @@ 'use strict';

var LENGTH = tokens.LENGTH,
var NONE = tokens.NONE,
COLOR = tokens.COLOR,
LENGTH = tokens.LENGTH,
UNSUPPORTED_LENGTH_UNIT = tokens.UNSUPPORTED_LENGTH_UNIT,
SPACE = tokens.SPACE;
var BORDER_STYLE = regExpToken(/^(solid|dashed|dotted)$/);
var defaultBorderWidth = 1;
var defaultBorderColor = 'black';
var defaultBorderStyle = 'solid';
var border = function border(tokenStream) {
var borderWidth = void 0;
var borderColor = void 0;
var borderStyle = void 0;
if (tokenStream.matches(NONE)) {
tokenStream.expectEmpty();
return { borderWidth: 0, borderColor: 'black', borderStyle: 'solid' };
}
var partsParsed = 0;
while (partsParsed < 3 && tokenStream.hasTokens()) {
if (partsParsed !== 0) tokenStream.expect(SPACE);
if (borderWidth === undefined && tokenStream.matches(LENGTH) || tokenStream.matches(UNSUPPORTED_LENGTH_UNIT)) {
borderWidth = tokenStream.lastValue;
} else if (borderColor === undefined && tokenStream.matches(COLOR)) {
borderColor = tokenStream.lastValue;
} else if (borderStyle === undefined && tokenStream.matches(BORDER_STYLE)) {
borderStyle = tokenStream.lastValue;
} else {
tokenStream.throw();
}
partsParsed += 1;
}
tokenStream.expectEmpty();
if (borderWidth === undefined) borderWidth = defaultBorderWidth;
if (borderColor === undefined) borderColor = defaultBorderColor;
if (borderStyle === undefined) borderStyle = defaultBorderStyle;
return { borderWidth: borderWidth, borderColor: borderColor, borderStyle: borderStyle };
};
var LENGTH$1 = tokens.LENGTH,
UNSUPPORTED_LENGTH_UNIT$1 = tokens.UNSUPPORTED_LENGTH_UNIT,
PERCENT = tokens.PERCENT,
COLOR = tokens.COLOR,
SPACE = tokens.SPACE,
NONE = tokens.NONE;
COLOR$1 = tokens.COLOR,
SPACE$1 = tokens.SPACE,
NONE$1 = tokens.NONE;

@@ -115,3 +164,3 @@

var _ref$types = _ref.types,
types = _ref$types === undefined ? [LENGTH, UNSUPPORTED_LENGTH_UNIT, PERCENT] : _ref$types,
types = _ref$types === undefined ? [LENGTH$1, UNSUPPORTED_LENGTH_UNIT$1, PERCENT] : _ref$types,
_ref$directions = _ref.directions,

@@ -124,3 +173,3 @@ directions = _ref$directions === undefined ? ['Top', 'Right', 'Bottom', 'Left'] : _ref$directions,

return function (tokenStream) {
var _output;
var _ref2;

@@ -133,3 +182,3 @@ var values = [];

while (values.length < 4 && tokenStream.hasTokens()) {
tokenStream.expect(SPACE);
tokenStream.expect(SPACE$1);
values.push(tokenStream.expect.apply(tokenStream, _toConsumableArray(types)));

@@ -153,55 +202,13 @@ }

var output = (_output = {}, _defineProperty(_output, keyFor(0), top), _defineProperty(_output, keyFor(1), right), _defineProperty(_output, keyFor(2), bottom), _defineProperty(_output, keyFor(3), left), _output);
return { $merge: output };
return _ref2 = {}, _defineProperty(_ref2, keyFor(0), top), _defineProperty(_ref2, keyFor(1), right), _defineProperty(_ref2, keyFor(2), bottom), _defineProperty(_ref2, keyFor(3), left), _ref2;
};
};
var anyOrderFactory = function anyOrderFactory(properties) {
var delim = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SPACE;
return function (tokenStream) {
var propertyNames = Object.keys(properties);
var values = propertyNames.reduce(function (accum, propertyName) {
accum[propertyName] === undefined; // eslint-disable-line
return accum;
}, {});
var numParsed = 0;
while (numParsed < propertyNames.length && tokenStream.hasTokens()) {
if (numParsed) tokenStream.expect(delim);
var matchedPropertyName = propertyNames.find(function (propertyName) {
return values[propertyName] === undefined && properties[propertyName].tokens.some(function (token) {
return tokenStream.matches(token);
});
});
if (!matchedPropertyName) {
tokenStream.throw();
} else {
values[matchedPropertyName] = tokenStream.lastValue;
}
numParsed += 1;
}
tokenStream.expectEmpty();
propertyNames.forEach(function (propertyName) {
if (values[propertyName] === undefined) values[propertyName] = properties[propertyName].default;
});
return { $merge: values };
};
var parseShadowOffset = function parseShadowOffset(tokenStream) {
var width = tokenStream.expect(LENGTH$1);
var height = tokenStream.matches(SPACE$1) ? tokenStream.expect(LENGTH$1) : width;
tokenStream.expectEmpty();
return { width: width, height: height };
};
var shadowOffsetFactory = function shadowOffsetFactory() {
return function (tokenStream) {
var width = tokenStream.expect(LENGTH);
var height = tokenStream.matches(SPACE) ? tokenStream.expect(LENGTH) : width;
tokenStream.expectEmpty();
return { width: width, height: height };
};
};
var parseShadow = function parseShadow(tokenStream) {

@@ -213,3 +220,3 @@ var offsetX = void 0;

if (tokenStream.matches(NONE)) {
if (tokenStream.matches(NONE$1)) {
tokenStream.expectEmpty();

@@ -225,11 +232,11 @@ return {

while (tokenStream.hasTokens()) {
if (didParseFirst) tokenStream.expect(SPACE);
if (didParseFirst) tokenStream.expect(SPACE$1);
if (offsetX === undefined && tokenStream.matches(LENGTH, UNSUPPORTED_LENGTH_UNIT)) {
if (offsetX === undefined && tokenStream.matches(LENGTH$1, UNSUPPORTED_LENGTH_UNIT$1)) {
offsetX = tokenStream.lastValue;
tokenStream.expect(SPACE);
offsetY = tokenStream.expect(LENGTH, UNSUPPORTED_LENGTH_UNIT);
tokenStream.expect(SPACE$1);
offsetY = tokenStream.expect(LENGTH$1, UNSUPPORTED_LENGTH_UNIT$1);
tokenStream.saveRewindPoint();
if (tokenStream.matches(SPACE) && tokenStream.matches(LENGTH, UNSUPPORTED_LENGTH_UNIT)) {
if (tokenStream.matches(SPACE$1) && tokenStream.matches(LENGTH$1, UNSUPPORTED_LENGTH_UNIT$1)) {
radius = tokenStream.lastValue;

@@ -239,3 +246,3 @@ } else {

}
} else if (color === undefined && tokenStream.matches(COLOR)) {
} else if (color === undefined && tokenStream.matches(COLOR$1)) {
color = tokenStream.lastValue;

@@ -265,16 +272,14 @@ } else {

return {
$merge: {
shadowOffset: offset,
shadowRadius: radius,
shadowColor: color,
shadowOpacity: 1
}
shadowOffset: offset,
shadowRadius: radius,
shadowColor: color,
shadowOpacity: 1
};
};
var NONE$1 = tokens.NONE,
var NONE$2 = tokens.NONE,
AUTO = tokens.AUTO,
NUMBER = tokens.NUMBER,
LENGTH$1 = tokens.LENGTH,
SPACE$1 = tokens.SPACE;
LENGTH$2 = tokens.LENGTH,
SPACE$2 = tokens.SPACE;

@@ -291,5 +296,5 @@

if (tokenStream.matches(NONE$1)) {
if (tokenStream.matches(NONE$2)) {
tokenStream.expectEmpty();
return { $merge: { flexGrow: 0, flexShrink: 0, flexBasis: 'auto' } };
return { flexGrow: 0, flexShrink: 0, flexBasis: 'auto' };
}

@@ -299,3 +304,3 @@

if (tokenStream.matches(AUTO) && !tokenStream.hasTokens()) {
return { $merge: { flexGrow: 1, flexShrink: 1, flexBasis: 'auto' } };
return { flexGrow: 1, flexShrink: 1, flexBasis: 'auto' };
}

@@ -306,3 +311,3 @@ tokenStream.rewind();

while (partsParsed < 2 && tokenStream.hasTokens()) {
if (partsParsed !== 0) tokenStream.expect(SPACE$1);
if (partsParsed !== 0) tokenStream.expect(SPACE$2);

@@ -313,3 +318,3 @@ if (flexGrow === undefined && tokenStream.matches(NUMBER)) {

tokenStream.saveRewindPoint();
if (tokenStream.matches(SPACE$1) && tokenStream.matches(NUMBER)) {
if (tokenStream.matches(SPACE$2) && tokenStream.matches(NUMBER)) {
flexShrink = tokenStream.lastValue;

@@ -319,3 +324,3 @@ } else {

}
} else if (flexBasis === undefined && tokenStream.matches(LENGTH$1)) {
} else if (flexBasis === undefined && tokenStream.matches(LENGTH$2)) {
flexBasis = tokenStream.lastValue;

@@ -337,6 +342,42 @@ } else if (flexBasis === undefined && tokenStream.matches(AUTO)) {

return { $merge: { flexGrow: flexGrow, flexShrink: flexShrink, flexBasis: flexBasis } };
return { flexGrow: flexGrow, flexShrink: flexShrink, flexBasis: flexBasis };
};
var SPACE$2 = tokens.SPACE,
var SPACE$3 = tokens.SPACE;
var FLEX_WRAP = regExpToken(/(nowrap|wrap|wrap-reverse)/);
var FLEX_DIRECTION = regExpToken(/(row|row-reverse|column|column-reverse)/);
var defaultFlexWrap = 'nowrap';
var defaultFlexDirection = 'row';
var flexFlow = function flexFlow(tokenStream) {
var flexWrap = void 0;
var flexDirection = void 0;
var partsParsed = 0;
while (partsParsed < 2 && tokenStream.hasTokens()) {
if (partsParsed !== 0) tokenStream.expect(SPACE$3);
if (flexWrap === undefined && tokenStream.matches(FLEX_WRAP)) {
flexWrap = tokenStream.lastValue;
} else if (flexDirection === undefined && tokenStream.matches(FLEX_DIRECTION)) {
flexDirection = tokenStream.lastValue;
} else {
tokenStream.throw();
}
partsParsed += 1;
}
tokenStream.expectEmpty();
if (flexWrap === undefined) flexWrap = defaultFlexWrap;
if (flexDirection === undefined) flexDirection = defaultFlexDirection;
return { flexWrap: flexWrap, flexDirection: flexDirection };
};
var SPACE$4 = tokens.SPACE,
IDENT = tokens.IDENT,

@@ -354,3 +395,3 @@ STRING = tokens.STRING;

while (tokenStream.hasTokens()) {
tokenStream.expect(SPACE$2);
tokenStream.expect(SPACE$4);
var nextIdent = tokenStream.expect(IDENT);

@@ -363,8 +404,8 @@ fontFamily += ' ' + nextIdent;

return fontFamily;
return { fontFamily: fontFamily };
};
var SPACE$3 = tokens.SPACE,
LENGTH$2 = tokens.LENGTH,
UNSUPPORTED_LENGTH_UNIT$1 = tokens.UNSUPPORTED_LENGTH_UNIT,
var SPACE$5 = tokens.SPACE,
LENGTH$3 = tokens.LENGTH,
UNSUPPORTED_LENGTH_UNIT$2 = tokens.UNSUPPORTED_LENGTH_UNIT,
NUMBER$1 = tokens.NUMBER,

@@ -404,7 +445,7 @@ SLASH = tokens.SLASH;

tokenStream.expect(SPACE$3);
tokenStream.expect(SPACE$5);
numStyleWeightVariantMatched += 1;
}
var fontSize = tokenStream.expect(LENGTH$2, UNSUPPORTED_LENGTH_UNIT$1);
var fontSize = tokenStream.expect(LENGTH$3, UNSUPPORTED_LENGTH_UNIT$2);

@@ -415,9 +456,10 @@ if (tokenStream.matches(SLASH)) {

} else {
lineHeight = tokenStream.expect(LENGTH$2, UNSUPPORTED_LENGTH_UNIT$1);
lineHeight = tokenStream.expect(LENGTH$3, UNSUPPORTED_LENGTH_UNIT$2);
}
}
tokenStream.expect(SPACE$3);
tokenStream.expect(SPACE$5);
var fontFamily = parseFontFamily(tokenStream);
var _parseFontFamily = parseFontFamily(tokenStream),
fontFamily = _parseFontFamily.fontFamily;

@@ -431,3 +473,3 @@ if (fontStyle === undefined) fontStyle = defaultFontStyle;

return { $merge: out };
return out;
};

@@ -442,13 +484,11 @@

return {
$merge: {
textShadowOffset: offset,
textShadowRadius: radius,
textShadowColor: color
}
textShadowOffset: offset,
textShadowRadius: radius,
textShadowColor: color
};
};
var SPACE$4 = tokens.SPACE,
var SPACE$6 = tokens.SPACE,
LINE = tokens.LINE,
COLOR$1 = tokens.COLOR;
COLOR$2 = tokens.COLOR;

@@ -469,3 +509,3 @@

while (tokenStream.hasTokens()) {
if (didParseFirst) tokenStream.expect(SPACE$4);
if (didParseFirst) tokenStream.expect(SPACE$6);

@@ -476,3 +516,3 @@ if (line === undefined && tokenStream.matches(LINE)) {

tokenStream.saveRewindPoint();
if (lines[0] !== 'none' && tokenStream.matches(SPACE$4) && tokenStream.matches(LINE)) {
if (lines[0] !== 'none' && tokenStream.matches(SPACE$6) && tokenStream.matches(LINE)) {
lines.push(tokenStream.lastValue.toLowerCase());

@@ -488,3 +528,3 @@ // Underline comes before line-through

style = tokenStream.lastValue;
} else if (color === undefined && tokenStream.matches(COLOR$1)) {
} else if (color === undefined && tokenStream.matches(COLOR$2)) {
color = tokenStream.lastValue;

@@ -498,3 +538,3 @@ } else {

var $merge = {
return {
textDecorationLine: line !== undefined ? line : defaultTextDecorationLine,

@@ -504,6 +544,5 @@ textDecorationColor: color !== undefined ? color : defaultTextDecorationColor,

};
return { $merge: $merge };
};
var SPACE$5 = tokens.SPACE,
var SPACE$7 = tokens.SPACE,
LINE$1 = tokens.LINE;

@@ -517,3 +556,3 @@

while (tokenStream.hasTokens()) {
if (didParseFirst) tokenStream.expect(SPACE$5);
if (didParseFirst) tokenStream.expect(SPACE$7);

@@ -527,8 +566,8 @@ lines.push(tokenStream.expect(LINE$1).toLowerCase());

return lines.join(' ');
return { textDecorationLine: lines.join(' ') };
};
var SPACE$6 = tokens.SPACE,
var SPACE$8 = tokens.SPACE,
COMMA = tokens.COMMA,
LENGTH$3 = tokens.LENGTH,
LENGTH$4 = tokens.LENGTH,
NUMBER$2 = tokens.NUMBER,

@@ -547,3 +586,3 @@ ANGLE = tokens.ANGLE;

var singleNumber = oneOfType(NUMBER$2);
var singleLength = oneOfType(LENGTH$3);
var singleLength = oneOfType(LENGTH$4);
var singleAngle = oneOfType(ANGLE);

@@ -574,3 +613,3 @@ var xyTransformFactory = function xyTransformFactory(tokenType) {

var xyNumber = xyTransformFactory(NUMBER$2);
var xyLength = xyTransformFactory(LENGTH$3);
var xyLength = xyTransformFactory(LENGTH$4);
var xyAngle = xyTransformFactory(ANGLE);

@@ -600,3 +639,3 @@

while (tokenStream.hasTokens()) {
if (didParseFirst) tokenStream.expect(SPACE$6);
if (didParseFirst) tokenStream.expect(SPACE$8);

@@ -615,3 +654,3 @@ var functionStream = tokenStream.expectFunction();

return transforms;
return { transform: transforms };
};

@@ -621,5 +660,5 @@

WORD = tokens.WORD,
COLOR$2 = tokens.COLOR,
LENGTH$4 = tokens.LENGTH,
UNSUPPORTED_LENGTH_UNIT$2 = tokens.UNSUPPORTED_LENGTH_UNIT,
COLOR$3 = tokens.COLOR,
LENGTH$5 = tokens.LENGTH,
UNSUPPORTED_LENGTH_UNIT$3 = tokens.UNSUPPORTED_LENGTH_UNIT,
PERCENT$1 = tokens.PERCENT,

@@ -631,19 +670,5 @@ AUTO$1 = tokens.AUTO;

return {
$merge: { backgroundColor: tokenStream.expect(COLOR$2) }
backgroundColor: tokenStream.expect(COLOR$3)
};
};
var border = anyOrderFactory({
borderWidth: {
tokens: [LENGTH$4, UNSUPPORTED_LENGTH_UNIT$2],
default: 1
},
borderColor: {
tokens: [COLOR$2],
default: 'black'
},
borderStyle: {
tokens: [regExpToken(/^(solid|dashed|dotted)$/)],
default: 'solid'
}
});
var borderColor = directionFactory({

@@ -661,24 +686,26 @@ types: [WORD],

var margin = directionFactory({
types: [LENGTH$4, UNSUPPORTED_LENGTH_UNIT$2, PERCENT$1, AUTO$1],
types: [LENGTH$5, UNSUPPORTED_LENGTH_UNIT$3, PERCENT$1, AUTO$1],
prefix: 'margin'
});
var padding = directionFactory({ prefix: 'padding' });
var flexFlow = anyOrderFactory({
flexWrap: {
tokens: [regExpToken(/(nowrap|wrap|wrap-reverse)/)],
default: 'nowrap'
},
flexDirection: {
tokens: [regExpToken(/(row|row-reverse|column|column-reverse)/)],
default: 'row'
}
});
var fontVariant = function fontVariant(tokenStream) {
return [tokenStream.expect(IDENT$1)];
return {
fontVariant: [tokenStream.expect(IDENT$1)]
};
};
var fontWeight = function fontWeight(tokenStream) {
return tokenStream.expect(WORD);
}; // Also match numbers as strings
var shadowOffset = shadowOffsetFactory();
var textShadowOffset = shadowOffsetFactory();
return {
fontWeight: tokenStream.expect(WORD) // Also match numbers as strings
};
};
var shadowOffset = function shadowOffset(tokenStream) {
return {
shadowOffset: parseShadowOffset(tokenStream)
};
};
var textShadowOffset = function textShadowOffset(tokenStream) {
return {
textShadowOffset: parseShadowOffset(tokenStream)
};
};

@@ -843,5 +870,5 @@ var transforms = {

var isRawValue = allowShorthand === false || !(propName in transforms);
var propValue = isRawValue ? transformRawValue(inputValue) : transformShorthandValue(propName, inputValue.trim());
var propValues = isRawValue ? _defineProperty({}, propName, transformRawValue(inputValue)) : transformShorthandValue(propName, inputValue.trim());
return propValue && propValue.$merge ? propValue.$merge : _defineProperty({}, propName, propValue);
return propValues;
};

@@ -848,0 +875,0 @@

{
"name": "css-to-react-native",
"version": "2.3.0",
"version": "2.3.1",
"description": "Convert CSS text to a React Native stylesheet object",

@@ -5,0 +5,0 @@ "main": "index.js",

import transformCss from '..'
it('transforms border none', () => {
expect(transformCss([['border', 'none']])).toEqual({
borderWidth: 0,
borderColor: 'black',
borderStyle: 'solid',
})
})
it('transforms border shorthand', () => {

@@ -4,0 +12,0 @@ expect(transformCss([['border', '2px dashed #f00']])).toEqual({

@@ -53,9 +53,7 @@ /* eslint-disable no-param-reassign */

const isRawValue = allowShorthand === false || !(propName in transforms)
const propValue = isRawValue
? transformRawValue(inputValue)
const propValues = isRawValue
? { [propName]: transformRawValue(inputValue) }
: transformShorthandValue(propName, inputValue.trim())
return propValue && propValue.$merge
? propValue.$merge
: { [propName]: propValue }
return propValues
}

@@ -62,0 +60,0 @@

@@ -6,9 +6,7 @@ import { parseShadow } from './util'

return {
$merge: {
shadowOffset: offset,
shadowRadius: radius,
shadowColor: color,
shadowOpacity: 1,
},
shadowOffset: offset,
shadowRadius: radius,
shadowColor: color,
shadowOpacity: 1,
}
}

@@ -16,3 +16,3 @@ import { tokens } from '../tokenTypes'

tokenStream.expectEmpty()
return { $merge: { flexGrow: 0, flexShrink: 0, flexBasis: 'auto' } }
return { flexGrow: 0, flexShrink: 0, flexBasis: 'auto' }
}

@@ -22,3 +22,3 @@

if (tokenStream.matches(AUTO) && !tokenStream.hasTokens()) {
return { $merge: { flexGrow: 1, flexShrink: 1, flexBasis: 'auto' } }
return { flexGrow: 1, flexShrink: 1, flexBasis: 'auto' }
}

@@ -57,3 +57,3 @@ tokenStream.rewind()

return { $merge: { flexGrow, flexShrink, flexBasis } }
return { flexGrow, flexShrink, flexBasis }
}

@@ -52,3 +52,3 @@ import parseFontFamily from './fontFamily'

const fontFamily = parseFontFamily(tokenStream)
const { fontFamily } = parseFontFamily(tokenStream)

@@ -62,3 +62,3 @@ if (fontStyle === undefined) fontStyle = defaultFontStyle

return { $merge: out }
return out
}

@@ -21,3 +21,3 @@ import { tokens } from '../tokenTypes'

return fontFamily
return { fontFamily }
}

@@ -1,4 +0,6 @@

import { regExpToken, tokens } from '../tokenTypes'
import { tokens } from '../tokenTypes'
import border from './border'
import boxShadow from './boxShadow'
import flex from './flex'
import flexFlow from './flexFlow'
import font from './font'

@@ -10,3 +12,3 @@ import fontFamily from './fontFamily'

import transform from './transform'
import { directionFactory, anyOrderFactory, shadowOffsetFactory } from './util'
import { directionFactory, parseShadowOffset } from './util'

@@ -24,18 +26,4 @@ const {

const background = tokenStream => ({
$merge: { backgroundColor: tokenStream.expect(COLOR) },
backgroundColor: tokenStream.expect(COLOR),
})
const border = anyOrderFactory({
borderWidth: {
tokens: [LENGTH, UNSUPPORTED_LENGTH_UNIT],
default: 1,
},
borderColor: {
tokens: [COLOR],
default: 'black',
},
borderStyle: {
tokens: [regExpToken(/^(solid|dashed|dotted)$/)],
default: 'solid',
},
})
const borderColor = directionFactory({

@@ -57,16 +45,14 @@ types: [WORD],

const padding = directionFactory({ prefix: 'padding' })
const flexFlow = anyOrderFactory({
flexWrap: {
tokens: [regExpToken(/(nowrap|wrap|wrap-reverse)/)],
default: 'nowrap',
},
flexDirection: {
tokens: [regExpToken(/(row|row-reverse|column|column-reverse)/)],
default: 'row',
},
const fontVariant = tokenStream => ({
fontVariant: [tokenStream.expect(IDENT)],
})
const fontVariant = tokenStream => [tokenStream.expect(IDENT)]
const fontWeight = tokenStream => tokenStream.expect(WORD) // Also match numbers as strings
const shadowOffset = shadowOffsetFactory()
const textShadowOffset = shadowOffsetFactory()
const fontWeight = tokenStream => ({
fontWeight: tokenStream.expect(WORD), // Also match numbers as strings
})
const shadowOffset = tokenStream => ({
shadowOffset: parseShadowOffset(tokenStream),
})
const textShadowOffset = tokenStream => ({
textShadowOffset: parseShadowOffset(tokenStream),
})

@@ -73,0 +59,0 @@ export default {

@@ -48,3 +48,3 @@ import { regExpToken, tokens } from '../tokenTypes'

const $merge = {
return {
textDecorationLine: line !== undefined ? line : defaultTextDecorationLine,

@@ -56,3 +56,2 @@ textDecorationColor:

}
return { $merge }
}

@@ -19,3 +19,3 @@ import { tokens } from '../tokenTypes'

return lines.join(' ')
return { textDecorationLine: lines.join(' ') }
}

@@ -6,8 +6,6 @@ import { parseShadow } from './util'

return {
$merge: {
textShadowOffset: offset,
textShadowRadius: radius,
textShadowColor: color,
},
textShadowOffset: offset,
textShadowRadius: radius,
textShadowColor: color,
}
}

@@ -75,3 +75,3 @@ import { tokens } from '../tokenTypes'

return transforms
return { transform: transforms }
}

@@ -27,3 +27,3 @@ import { tokens } from '../tokenTypes'

const output = {
return {
[keyFor(0)]: top,

@@ -34,45 +34,5 @@ [keyFor(1)]: right,

}
return { $merge: output }
}
export const anyOrderFactory = (properties, delim = SPACE) => tokenStream => {
const propertyNames = Object.keys(properties)
const values = propertyNames.reduce((accum, propertyName) => {
accum[propertyName] === undefined // eslint-disable-line
return accum
}, {})
let numParsed = 0
while (numParsed < propertyNames.length && tokenStream.hasTokens()) {
if (numParsed) tokenStream.expect(delim)
const matchedPropertyName = propertyNames.find(
propertyName =>
values[propertyName] === undefined &&
properties[propertyName].tokens.some(token =>
tokenStream.matches(token)
)
)
if (!matchedPropertyName) {
tokenStream.throw()
} else {
values[matchedPropertyName] = tokenStream.lastValue
}
numParsed += 1
}
tokenStream.expectEmpty()
propertyNames.forEach(propertyName => {
if (values[propertyName] === undefined)
values[propertyName] = properties[propertyName].default
})
return { $merge: values }
}
export const shadowOffsetFactory = () => tokenStream => {
export const parseShadowOffset = tokenStream => {
const width = tokenStream.expect(LENGTH)

@@ -79,0 +39,0 @@ const height = tokenStream.matches(SPACE) ? tokenStream.expect(LENGTH) : width

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc