spritejs/spritejs

View on GitHub
src/index.worker.js

Summary

Maintainability
A
0 mins
Test Coverage
import {ENV} from '@mesh.js/core';
/**
  ENV: {
    Container,
    createCanvas,
    loadImage,
  }
 */
import Node from './node/node';
import Cloud from './node/cloud';
import Block from './node/block';
import Sprite from './node/sprite';
import Path from './node/path';
import Rect from './node/rect';
import Triangle from './node/triangle';
import Parallel from './node/parallel';
import Regular from './node/regular';
import Star from './node/star';
import Ellipse from './node/ellipse';
import Arc from './node/arc';
import Ring from './node/ring';
import Polyline from './node/polyline';
import Label from './node/label';
import Group from './node/group';
import Layer from './node/layer';
import SpriteSvg from './node/spritesvg';
import ownerDocument from './document';

import {parseColor, Gradient} from './utils/color';
import {sizeToPixel, toArray, toString, toNumber} from './utils/attribute_value';

const helpers = {parseColor, sizeToPixel, toArray, toString, toNumber};

const createElement = ownerDocument.createElement;
const isSpriteNode = ownerDocument.isSpriteNode;
const registerNode = ownerDocument.registerNode;

const layerCreated = new Promise((resolve) => {
  let layer = null;
  self.addEventListener('message', (evt) => {
    if(evt.data.type === 'create') {
      const options = evt.data.options;
      layer = new Layer(options);
      resolve(layer);
    } else if(layer && evt.data.type === 'event') {
      layer.dispatchPointerEvent(evt.data.event);
    } else if(evt.data.type === 'resolution_change') {
      const {width, height} = evt.data;
      layer.setResolution({width, height});
    }
  });
});


export {
  Arc,
  Block,
  Cloud,
  Ellipse,
  Gradient,
  Group,
  Label,
  Layer,
  Node,
  Parallel,
  Path,
  Polyline,
  Rect,
  Regular,
  Ring,
  Sprite,
  SpriteSvg,
  Star,
  Triangle,

  helpers,

  createElement,
  isSpriteNode,
  registerNode,

  layerCreated,

  ENV,
};