UNPKG

imagemagick-async

Version:
217 lines (192 loc) 12 kB
let Path = require('path'); let PathParts = __dirname.split(Path.sep); let index = PathParts.indexOf('imagemagick-async'); let RootDir = PathParts.slice(0, index + 1).join(Path.sep); let Filepath = require(Path.join(RootDir, 'filepath.js')).Filepath; //------------------------------------------ // API let Api = {}; // Animation Api.Animation = { Gif: require(Path.join(Filepath.AnimationDir(), 'gif.js')).Gif, GifExplode: require(Path.join(Filepath.AnimationDir(), 'gifexplode.js')).GifExplode }; // Constants Api.Constants = { ColorChannels: require(Path.join(Filepath.ConstantsDir(), 'color_channels.json')).values, Dispose: require(Path.join(Filepath.ConstantsDir(), 'dispose.json')).values, Fonts: require(Path.join(Filepath.ConstantsDir(), 'fonts.json')).values, GradientDirection: require(Path.join(Filepath.ConstantsDir(), 'gradient_direction.json')).values, GradientExtent: require(Path.join(Filepath.ConstantsDir(), 'gradient_extent.json')).values, Gravity: require(Path.join(Filepath.ConstantsDir(), 'gravity.json')).values, SpotShapes: require(Path.join(Filepath.ConstantsDir(), 'spot_shapes.json')).values }; // Drawables Api.Drawables = { Canvases: { BarycentricCanvas: require(Path.join(Filepath.CanvasDir(), 'barycentriccanvas.js')).BarycentricCanvas, BilinearCanvas: require(Path.join(Filepath.CanvasDir(), 'bilinearcanvas.js')).BilinearCanvas, ColorCanvas: require(Path.join(Filepath.CanvasDir(), 'colorcanvas.js')).ColorCanvas, GradientCanvas: require(Path.join(Filepath.CanvasDir(), 'gradientcanvas.js')).GradientCanvas, ImageCanvas: require(Path.join(Filepath.CanvasDir(), 'imagecanvas.js')).ImageCanvas, LabelCanvas: require(Path.join(Filepath.CanvasDir(), 'labelcanvas.js')).LabelCanvas, NoiseCanvas: require(Path.join(Filepath.CanvasDir(), 'noisecanvas.js')).NoiseCanvas, PlasmaFractalCanvas: require(Path.join(Filepath.CanvasDir(), 'plasmafractalcanvas.js')).PlasmaFractalCanvas, PlasmaRangeCanvas: require(Path.join(Filepath.CanvasDir(), 'plasmarangecanvas.js')).PlasmaRangeCanvas, ShepardsCanvas: require(Path.join(Filepath.CanvasDir(), 'shepardscanvas.js')).ShepardsCanvas, ShepardsPowerCanvas: require(Path.join(Filepath.CanvasDir(), 'shepardspowercanvas.js')).ShepardsPowerCanvas, VoronoiCanvas: require(Path.join(Filepath.CanvasDir(), 'voronoicanvas.js')).VoronoiCanvas }, Primitives: { Bezier: require(Path.join(Filepath.PrimitivesDir(), 'bezier.js')).Bezier, Circle: require(Path.join(Filepath.PrimitivesDir(), 'circle.js')).Circle, Ellipse: require(Path.join(Filepath.PrimitivesDir(), 'ellipse.js')).Ellipse, Image: require(Path.join(Filepath.PrimitivesDir(), 'image.js')).Image, Line: require(Path.join(Filepath.PrimitivesDir(), 'line.js')).Line, Path: require(Path.join(Filepath.PrimitivesDir(), 'path.js')).Path, PathComposite: require(Path.join(Filepath.PrimitivesDir(), 'pathcomposite.js')).PathComposite, Point: require(Path.join(Filepath.PrimitivesDir(), 'point.js')).Point, Text: require(Path.join(Filepath.PrimitivesDir(), 'text.js')).Text }, Shapes: { Annulus: require(Path.join(Filepath.ShapesDir(), 'annulus.js')).Annulus, Polygon: require(Path.join(Filepath.ShapesDir(), 'polygon.js')).Polygon, Star: require(Path.join(Filepath.ShapesDir(), 'star.js')).Star }, Effects: { Fx: { Aura: require(Path.join(Filepath.SpecialDir(), 'aura.js')).Aura, Blur: require(Path.join(Filepath.FxDir(), 'blur.js')).Blur, CharcoalSketch: require(Path.join(Filepath.FxDir(), 'charcoalsketch.js')).CharcoalSketch, ColoringBookSketch: require(Path.join(Filepath.FxDir(), 'coloringbooksketch.js')).ColoringBookSketch, Edge: require(Path.join(Filepath.FxDir(), 'edge.js')).Edge, Implode: require(Path.join(Filepath.FxDir(), 'implode.js')).Implode, Impression: require(Path.join(Filepath.FxDir(), 'impression.js')).Impression, MotionBlur: require(Path.join(Filepath.FxDir(), 'motionblur.js')).MotionBlur, OilPainting: require(Path.join(Filepath.FxDir(), 'oilpainting.js')).OilPainting, PencilSketch: require(Path.join(Filepath.FxDir(), 'pencilsketch.js')).PencilSketch, Pixelate: require(Path.join(Filepath.FxDir(), 'pixelate.js')).Pixelate, RadialBlur: require(Path.join(Filepath.FxDir(), 'radialblur.js')).RadialBlur, ShapeAbstraction: require(Path.join(Filepath.SpecialDir(), 'shapeabstraction.js')).ShapeAbstraction, ShadeAndHighlight: require(Path.join(Filepath.SpecialDir(), 'shadeandhighlight.js')).ShadeAndHighlight, Shadow: require(Path.join(Filepath.FxDir(), 'shadow.js')).Shadow, Swirl: require(Path.join(Filepath.FxDir(), 'swirl.js')).Swirl, Wave: require(Path.join(Filepath.FxDir(), 'wave.js')).Wave }, Mod: { Color: { AutoLevel: require(Path.join(Filepath.ModColorDir(), 'autolevel.js')).AutoLevel, Brightness: require(Path.join(Filepath.ModColorDir(), 'brightness.js')).Brightness, ChannelAdjust: require(Path.join(Filepath.ModColorDir(), 'channeladjust.js')).ChannelAdjust, Colorize: require(Path.join(Filepath.ModColorDir(), 'colorize.js')).Colorize, GrayscaleFormat: require(Path.join(Filepath.ModColorDir(), 'grayscaleformat.js')).GrayscaleFormat, Hue: require(Path.join(Filepath.ModColorDir(), 'hue.js')).Hue, Negate: require(Path.join(Filepath.ModColorDir(), 'negate.js')).Negate, Replace: require(Path.join(Filepath.ModColorDir(), 'replace.js')).Replace, RgbFormat: require(Path.join(Filepath.ModColorDir(), 'rgbformat.js')).RgbFormat, Saturation: require(Path.join(Filepath.ModColorDir(), 'saturation.js')).Saturation, Sepia: require(Path.join(Filepath.ModColorDir(), 'sepia.js')).Sepia, Tint: require(Path.join(Filepath.ModColorDir(), 'tint.js')).Tint, Transparency: require(Path.join(Filepath.ModColorDir(), 'transparency.js')).Transparency }, Compare: { Compare: require(Path.join(Filepath.ModCompareDir(), 'compare.js')).Compare, Difference: require(Path.join(Filepath.ModCompareDir(), 'difference.js')).Difference }, Compose: { Add: require(Path.join(Filepath.ModComposeDir(), 'add.js')).Add, Append: require(Path.join(Filepath.ModComposeDir(), 'append.js')).Append, ChangedPixels: require(Path.join(Filepath.ModComposeDir(), 'changedpixels.js')).ChangedPixels, Composite: require(Path.join(Filepath.ModComposeDir(), 'composite.js')).Composite, Difference: require(Path.join(Filepath.ModComposeDir(), 'difference.js')).Difference, Exclusion: require(Path.join(Filepath.ModComposeDir(), 'exclusion.js')).Exclusion, Intersection: require(Path.join(Filepath.ModComposeDir(), 'intersection.js')).Intersection, MultiplyBlackTransparency: require(Path.join(Filepath.ModComposeDir(), 'multiplyblacktransparency.js')).MultiplyBlackTransparency, MultiplyWhiteTransparency: require(Path.join(Filepath.ModComposeDir(), 'multiplywhitetransparency.js')).MultiplyWhiteTransparency, Subtract: require(Path.join(Filepath.ModComposeDir(), 'subtract.js')).Subtract, UnchangedPixels: require(Path.join(Filepath.ModComposeDir(), 'unchangedpixels.js')).UnchangedPixels, Union: require(Path.join(Filepath.ModComposeDir(), 'union.js')).Union }, Cut: { CutIn: require(Path.join(Filepath.ModCutDir(), 'cutin.js')).CutIn, CutOut: require(Path.join(Filepath.ModCutDir(), 'cutout.js')).CutOut }, Masks: { BlackMask: require(Path.join(Filepath.ModMasksDir(), 'blackmask.js')).BlackMask, ColorMask: require(Path.join(Filepath.ModMasksDir(), 'colormask.js')).ColorMask, FillMask: require(Path.join(Filepath.ModMasksDir(), 'fillmask.js')).FillMask, Mask: require(Path.join(Filepath.ModMasksDir(), 'mask.js')).Mask, WhiteMask: require(Path.join(Filepath.ModMasksDir(), 'whitemask.js')).WhiteMask } }, Transform: { Displace: { Offset: require(Path.join(Filepath.TransformDisplaceDir(), 'offset.js')).Offset, Roll: require(Path.join(Filepath.TransformDisplaceDir(), 'roll.js')).Roll, RotateAroundCenter: require(Path.join(Filepath.TransformDisplaceDir(), 'rotatearoundcenter.js')).RotateAroundCenter, RotateAroundPoint: require(Path.join(Filepath.TransformDisplaceDir(), 'rotatearoundpoint.js')).RotateAroundPoint, RotateImage: require(Path.join(Filepath.TransformDisplaceDir(), 'rotateimage.js')).RotateImage }, Distort: { ArcDistortion: require(Path.join(Filepath.TransformDistortDir(), 'arcdistortion.js')).ArcDistortion, BarrelDistortion: require(Path.join(Filepath.TransformDistortDir(), 'barreldistortion.js')).BarrelDistortion, FourPointDistortion: require(Path.join(Filepath.TransformDistortDir(), 'fourpointdistortion.js')).FourPointDistortion, PolarDistortion: require(Path.join(Filepath.TransformDistortDir(), 'polardistortion.js')).PolarDistortion, ThreePointDistortion: require(Path.join(Filepath.TransformDistortDir(), 'threepointdistortion.js')).ThreePointDistortion }, Reflect: { Flip: require(Path.join(Filepath.TransformReflectDir(), 'flip.js')).Flip, Flop: require(Path.join(Filepath.TransformReflectDir(), 'flop.js')).Flop, Transpose: require(Path.join(Filepath.TransformReflectDir(), 'transpose.js')).Transpose, Transverse: require(Path.join(Filepath.TransformReflectDir(), 'transverse.js')).Transverse }, Resize: { Crop: require(Path.join(Filepath.TransformResizeDir(), 'crop.js')).Crop, ResizeDimensions: require(Path.join(Filepath.TransformResizeDir(), 'resizedimensions.js')).ResizeDimensions, ResizeFillGivenArea: require(Path.join(Filepath.TransformResizeDir(), 'resizefillgivenarea.js')).ResizeFillGivenArea, ResizePercentage: require(Path.join(Filepath.TransformResizeDir(), 'resizepercentage.js')).ResizePercentage, Trim: require(Path.join(Filepath.TransformResizeDir(), 'trim.js')).Trim } } } }; // Inputs Api.Inputs = { Gradient: { BoundingBox: require(Path.join(Filepath.GradientDir(), 'boundingbox.js')).BoundingBox, LinearGradient: require(Path.join(Filepath.GradientDir(), 'lineargradient.js')).LinearGradient, RadialGradient: require(Path.join(Filepath.GradientDir(), 'radialgradient.js')).RadialGradient }, LineSegments: { CubicBezier: require(Path.join(Filepath.LineSegmentsDir(), 'cubicbezier.js')).CubicBezier, EllipticalArc: require(Path.join(Filepath.LineSegmentsDir(), 'ellipticalarc.js')).EllipticalArc, Line: require(Path.join(Filepath.LineSegmentsDir(), 'line.js')).Line, QuadraticBezier: require(Path.join(Filepath.LineSegmentsDir(), 'quadraticbezier.js')).QuadraticBezier, Smooth: require(Path.join(Filepath.LineSegmentsDir(), 'smooth.js')).Smooth }, Color: require(Path.join(Filepath.InputsDir(), 'color.js')).Color, Coordinates: require(Path.join(Filepath.InputsDir(), 'coordinates.js')).Coordinates, Offset: require(Path.join(Filepath.InputsDir(), 'offset.js')).Offset, PointAndColor: require(Path.join(Filepath.InputsDir(), 'pointandcolor.js')).PointAndColor, Spot: require(Path.join(Filepath.InputsDir(), 'spot.js')).Spot, Vector: require(Path.join(Filepath.InputsDir(), 'vector.js')).Vector }; // Query Api.Query = { Info: { GetFileInfo: require(Path.join(Filepath.QueryInfoDir(), 'identify.js')).GetInfo }, List: { ColorChannels: require(Path.join(Filepath.QueryListDir(), 'colorchannels.js')).ColorChannels, Fonts: require(Path.join(Filepath.QueryListDir(), 'fonts.js')).Fonts, Gravity: require(Path.join(Filepath.QueryListDir(), 'gravity.js')).Gravity } } // Layer Api.Layer = { Layer: require(Path.join(Filepath.LayerDir(), 'layer.js')).Layer } //------------------------ // EXPORTS //------------------------ exports.Api = Api;