Permalink
Browse files

fix remaining flow & linting errors

  • Loading branch information...
1 parent 539d20a commit a126c8b93520ae5f702a5ee76b19fb02876ae124 @jongold jongold committed Mar 16, 2017
View
@@ -9,6 +9,10 @@
"React$Element": true,
"ReactClass": true,
"ReactComponent": true,
+ "NSColor": true,
+ "MSJSONDataArchiver": true,
+ "NSAttributedString": true,
+ "NSDate": true,
"NSDataBase64EncodingEndLineWithCarriageReturn": true,
},
"rules": {
@@ -47,7 +47,7 @@ const Document = ({ system }: { system: DesignSystem }) =>
</Label>
</View>
- <View style={{ flexDirection: 'row', flexWrap: 'wrap'}}>
+ <View style={{ flexDirection: 'row', flexWrap: 'wrap' }}>
{ borders().map(border =>
<View
style={border}
View
@@ -54,7 +54,8 @@ class Image extends React.Component {
const sketchResizeMode = ResizeModes[resizeMode || (style && style.resizeMode) || 'contain'];
- // TODO(lmr): check to see if `source` specifies a width/height as well, and pass into `style` if so
+ // TODO(lmr): check to see if `source` specifies a width/height as well,
+ // and pass into `style` if so
return (
<image style={style} source={source || defaultSource} resizeMode={sketchResizeMode}>
@@ -1,6 +1,6 @@
/* @flow */
import type { SJArtboardLayer } from 'sketchapp-json-flow-types';
-import { generateID, makeRect, makeColorFill, makeColorFromCSS } from '../jsonUtils/models';
+import { generateID, makeRect, makeColorFromCSS } from '../jsonUtils/models';
import SketchRenderer from './SketchRenderer';
import type { ViewStyle, LayoutInfo, TextStyle } from '../types';
@@ -1,6 +1,7 @@
/* @flow */
import type { SJShapeGroupLayer, SJFillImage } from 'sketchapp-json-flow-types';
import { BorderPosition } from 'sketch-constants';
+import { PatternFillType } from '../utils/constants';
import convertToColor from '../utils/convertToColor';
import SketchRenderer from './SketchRenderer';
import { makeImageDataFromUrl } from '../jsonUtils/hacksForJSONImpl';
@@ -29,23 +30,14 @@ const DEFAULT_BORDER_STYLE = 'solid';
const SHADOW_STYLES = ['shadowColor', 'shadowOffset', 'shadowOpacity', 'shadowRadius'];
-// out of date in sketch-constants
-// https://github.com/turbobabr/sketch-constants/pull/1
-const PatternFillType = {
- Tile: 0,
- Fill: 1,
- Stretch: 2,
- Fit: 3,
-};
-
function extractURLFromSource(source) {
if (typeof source === 'string') {
return source;
}
return source.uri;
}
-const makeFillImage = (image): SJFillImage => ({
+const makeJSONDataReference = (image): SJFillImage => ({
_class: 'MSJSONOriginalDataReference',
_ref: `images/${generateID()}`,
_ref_class: 'MSImageData',
@@ -97,7 +89,7 @@ class ImageRenderer extends SketchRenderer {
const image = makeImageDataFromUrl(extractURLFromSource(props.source));
- const fillImage = makeFillImage(image);
+ const fillImage = makeJSONDataReference(image);
const frame = makeRect(0, 0, layout.width, layout.height);
const radii = [
@@ -2,7 +2,7 @@
import SketchRenderer from './SketchRenderer';
import ViewRenderer from './ViewRenderer';
import type { SketchLayer, ViewStyle, LayoutInfo, TextStyle } from '../types';
-import TextStyles from '../sharedStyles/TextStyles';
+// import TextStyles from '../sharedStyles/TextStyles';
import makeTextLayer from '../jsonUtils/textLayers';
import { makeRect } from '../jsonUtils/models';
// import applyTextStyleToLayer from '../utils/applyTextStyleToLayer';
@@ -1,94 +0,0 @@
-/* @flow */
-import type { LayoutInfo } from '../types';
-/*
- a b 0
- c d 0
- tx ty 1
- */
-function CGAffineTransformMake(a, b, c, d, tx, ty) {
- return { a, b, c, d, tx, ty };
-}
-
-function convertToRadians(value: string): number {
- const floatValue = parseFloat(value, 10);
- return value.indexOf('rad') > -1 ? floatValue : floatValue * Math.PI / 180;
-}
-
-const IDENTITY = CGAffineTransformMake(1, 0, 0, 1, 0, 0);
-const TRANSLATE = CGAffineTransformMakeTranslation(-0.5, -0.5);
-const UNTRANSLATE = CGAffineTransformMakeTranslation(0.5, 0.5);
-
-function makeTransformFromKeyValue(layout, key, value) {
- let transform = IDENTITY;
- switch (key) {
- case 'perspective':
- // TODO(lmr): Figure out how to do 3D transforms
- break;
- case 'rotate':
- case 'rotateZ':
- transform = CGAffineTransformMakeRotation(convertToRadians(value));
- break;
- case 'rotateX':
- case 'rotateY':
- // TODO(lmr): Figure out how to do 3D transforms
- break;
- case 'scale':
- transform = CGAffineTransformMakeScale(value, value);
- break;
- case 'scaleX':
- transform = CGAffineTransformMakeScale(value, 1);
- break;
- case 'scaleY':
- transform = CGAffineTransformMakeScale(1, value);
- break;
- case 'translateX':
- transform = CGAffineTransformMakeTranslation(value / layout.width, 0);
- break;
- case 'translateY':
- transform = CGAffineTransformMakeTranslation(0, value / layout.height);
- break;
- case 'skewX': {
- // 1 0 0
- // sin(x) cos(x) 0
- // 0 0 1
- const rads = convertToRadians(value);
- transform = CGAffineTransformMake(1, 0, Math.sin(rads), Math.cos(rads), 0, 0);
- }
- break;
- case 'skewY': {
- // cos(y) sin(y) 0
- // 0 1 0
- // 0 0 1
- const rads = convertToRadians(value);
- transform = CGAffineTransformMake(Math.cos(rads), Math.sin(rads), 0, 1, 0, 0);
- }
- break;
- default:
- log(`did an unsupported transform: ${key}: ${value}`);
- break;
- }
- return transform;
-}
-
-function transformFromTransformArray(layout: LayoutInfo, transforms: Array<any>) {
- let transform = IDENTITY;
- transforms.forEach((t) => {
- Object.keys(t).forEach((key) => {
- transform = CGAffineTransformConcat(
- transform,
- makeTransformFromKeyValue(layout, key, t[key]),
- );
- });
- });
- return transform;
-}
-
-export default function processTransform(rect: any, layout: LayoutInfo, transforms: Array<any>) {
- let transform = transformFromTransformArray(layout, transforms);
- // by default in sketch, transform origin is (0, 0), but in RN it's (0.5, 0.5)
- // to remedy, we apply a translation matrix before and after the transform
- // this is effectively TRANSLATE * transfrom * UNTRANSLATE
- transform = CGAffineTransformConcat(TRANSLATE, transform);
- transform = CGAffineTransformConcat(transform, UNTRANSLATE);
- rect.applyAffineTransformToPath(transform);
-}
View
@@ -1,6 +1,13 @@
/* eslint-disable no-mixed-operators, no-bitwise */
/* @flow */
-import type { SJColor, SJFill, SJFillImage, SJRect } from 'sketchapp-json-flow-types';
+import type {
+ SJColor,
+ SJFill,
+ SJFillImage,
+ SJPatternFillTypeEnum,
+ SJRect,
+} from 'sketchapp-json-flow-types';
+import { FillType } from 'sketch-constants';
import normalizeColor from 'normalize-css-color';
import type { Color } from '../types';
@@ -1,7 +1,6 @@
/* @flow */
import type { SJFill, SJPath, SJRect, SJShapeGroupLayer } from 'sketchapp-json-flow-types';
-import type { Color } from '../types';
-import { generateID, makeRect, makeColorFill } from './models';
+import { generateID, makeRect } from './models';
type Radii = Array<number>;
@@ -1,4 +1,6 @@
+/* eslint-disable no-mixed-operators */
import type { LayoutInfo } from '../types';
+
/*
a b 0
c d 0
View
@@ -4,8 +4,6 @@ export type Dictionary<K, T> = { [key: K]: T };
// Sketchy things
export type SketchLayer = any;
-export type SketchJSON = { [key: string]: any };
-
export type SketchStyle = any;
export type SketchSharedStyleContainer = {
View
@@ -0,0 +1,10 @@
+/* eslint-disable import/prefer-default-export */
+
+// out of date in sketch-constants
+// https://github.com/turbobabr/sketch-constants/pull/1
+export const PatternFillType = {
+ Tile: 0,
+ Fill: 1,
+ Stretch: 2,
+ Fit: 3,
+};

0 comments on commit a126c8b

Please sign in to comment.