@hatiolab/things-scene 9.0.0-beta.35 → 9.0.0-beta.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/babel.config.js +4 -3
- package/db.sqlite +0 -0
- package/dist/animation/animate.js +63 -0
- package/dist/animation/animate.js.map +1 -0
- package/dist/animation/animations/animation.js +122 -0
- package/dist/animation/animations/animation.js.map +1 -0
- package/dist/animation/animations/fade.js +28 -0
- package/dist/animation/animations/fade.js.map +1 -0
- package/dist/animation/animations/heartbeat.js +28 -0
- package/dist/animation/animations/heartbeat.js.map +1 -0
- package/dist/animation/animations/moving.js +24 -0
- package/dist/animation/animations/moving.js.map +1 -0
- package/dist/animation/animations/outline.js +47 -0
- package/dist/animation/animations/outline.js.map +1 -0
- package/dist/animation/animations/rotation.js +22 -0
- package/dist/animation/animations/rotation.js.map +1 -0
- package/dist/animation/animations/vibration.js +31 -0
- package/dist/animation/animations/vibration.js.map +1 -0
- package/dist/animation/compile.js +31 -0
- package/dist/animation/compile.js.map +1 -0
- package/dist/animation/delta.js +51 -0
- package/dist/animation/delta.js.map +1 -0
- package/dist/animation/index.js +14 -0
- package/dist/animation/index.js.map +1 -0
- package/dist/command/command-change.js +33 -0
- package/dist/command/command-change.js.map +1 -0
- package/dist/command/command-migrate.js +103 -0
- package/dist/command/command-migrate.js.map +1 -0
- package/dist/command/command.js +18 -0
- package/dist/command/command.js.map +1 -0
- package/dist/command/snapshot-commander.js +84 -0
- package/dist/command/snapshot-commander.js.map +1 -0
- package/dist/components/anchor/anchor.js +105 -0
- package/dist/components/anchor/anchor.js.map +1 -0
- package/dist/components/anchor/ellipse-anchors.js +53 -0
- package/dist/components/anchor/ellipse-anchors.js.map +1 -0
- package/dist/components/anchor/rect-anchors.js +53 -0
- package/dist/components/anchor/rect-anchors.js.map +1 -0
- package/dist/components/audio.js +154 -0
- package/dist/components/audio.js.map +1 -0
- package/dist/components/cloud.js +44 -0
- package/dist/components/cloud.js.map +1 -0
- package/dist/components/component.js +1086 -0
- package/dist/components/component.js.map +1 -0
- package/dist/components/container-abstract.js +387 -0
- package/dist/components/container-abstract.js.map +1 -0
- package/dist/components/container.js +331 -0
- package/dist/components/container.js.map +1 -0
- package/dist/components/data/data-mapping.js +82 -0
- package/dist/components/data/data-mapping.js.map +1 -0
- package/dist/components/data/data.js +166 -0
- package/dist/components/data/data.js.map +1 -0
- package/dist/components/data/evaluator.js +103 -0
- package/dist/components/data/evaluator.js.map +1 -0
- package/dist/components/donut.js +104 -0
- package/dist/components/donut.js.map +1 -0
- package/dist/components/drawer/draw-image-pendable.js +20 -0
- package/dist/components/drawer/draw-image-pendable.js.map +1 -0
- package/dist/components/drawer/effect.js +19 -0
- package/dist/components/drawer/effect.js.map +1 -0
- package/dist/components/drawer/fill.js +228 -0
- package/dist/components/drawer/fill.js.map +1 -0
- package/dist/components/drawer/format.js +115 -0
- package/dist/components/drawer/format.js.map +1 -0
- package/dist/components/drawer/line.js +191 -0
- package/dist/components/drawer/line.js.map +1 -0
- package/dist/components/drawer/stroke.js +62 -0
- package/dist/components/drawer/stroke.js.map +1 -0
- package/dist/components/drawer/text-wrapper.js +51 -0
- package/dist/components/drawer/text-wrapper.js.map +1 -0
- package/dist/components/drawer/text.js +269 -0
- package/dist/components/drawer/text.js.map +1 -0
- package/dist/components/ellipse.js +110 -0
- package/dist/components/ellipse.js.map +1 -0
- package/dist/components/file/ondropfile.js +19 -0
- package/dist/components/file/ondropfile.js.map +1 -0
- package/dist/components/fit/fit.js +137 -0
- package/dist/components/fit/fit.js.map +1 -0
- package/dist/components/geometry/transcoord.js +339 -0
- package/dist/components/geometry/transcoord.js.map +1 -0
- package/dist/components/geometry/union.js +35 -0
- package/dist/components/geometry/union.js.map +1 -0
- package/dist/components/gif-view.js +128 -0
- package/dist/components/gif-view.js.map +1 -0
- package/dist/components/global-ref.js +154 -0
- package/dist/components/global-ref.js.map +1 -0
- package/dist/components/group.js +171 -0
- package/dist/components/group.js.map +1 -0
- package/dist/components/html/elements.js +24 -0
- package/dist/components/html/elements.js.map +1 -0
- package/dist/components/html/fill.js +126 -0
- package/dist/components/html/fill.js.map +1 -0
- package/dist/components/html/reposition.js +119 -0
- package/dist/components/html/reposition.js.map +1 -0
- package/dist/components/html/shadow.js +24 -0
- package/dist/components/html/shadow.js.map +1 -0
- package/dist/components/html-overlay-container.js +27 -0
- package/dist/components/html-overlay-container.js.map +1 -0
- package/dist/components/html-overlay-element.js +22 -0
- package/dist/components/html-overlay-element.js.map +1 -0
- package/dist/components/image-view.js +193 -0
- package/dist/components/image-view.js.map +1 -0
- package/dist/components/index.js +231 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/info-window.js +416 -0
- package/dist/components/info-window.js.map +1 -0
- package/dist/components/line.js +374 -0
- package/dist/components/line.js.map +1 -0
- package/dist/components/local-ref.js +114 -0
- package/dist/components/local-ref.js.map +1 -0
- package/dist/components/mixins/connectable.js +128 -0
- package/dist/components/mixins/connectable.js.map +1 -0
- package/dist/components/mixins/data-source.js +34 -0
- package/dist/components/mixins/data-source.js.map +1 -0
- package/dist/components/mixins/html-element.js +107 -0
- package/dist/components/mixins/html-element.js.map +1 -0
- package/dist/components/mixins/move-handle.js +73 -0
- package/dist/components/mixins/move-handle.js.map +1 -0
- package/dist/components/mixins/rect-path.js +113 -0
- package/dist/components/mixins/rect-path.js.map +1 -0
- package/dist/components/mixins/value-holder.js +81 -0
- package/dist/components/mixins/value-holder.js.map +1 -0
- package/dist/components/mutater/bounds.js +68 -0
- package/dist/components/mutater/bounds.js.map +1 -0
- package/dist/components/mutater/path.js +73 -0
- package/dist/components/mutater/path.js.map +1 -0
- package/dist/components/ortholine.js +763 -0
- package/dist/components/ortholine.js.map +1 -0
- package/dist/components/outline/ellipse-outline.js +23 -0
- package/dist/components/outline/ellipse-outline.js.map +1 -0
- package/dist/components/outline/path-outline.js +48 -0
- package/dist/components/outline/path-outline.js.map +1 -0
- package/dist/components/path.js +49 -0
- package/dist/components/path.js.map +1 -0
- package/dist/components/polygon.js +91 -0
- package/dist/components/polygon.js.map +1 -0
- package/dist/components/polyline.js +114 -0
- package/dist/components/polyline.js.map +1 -0
- package/dist/components/popup.js +160 -0
- package/dist/components/popup.js.map +1 -0
- package/dist/components/rect.js +72 -0
- package/dist/components/rect.js.map +1 -0
- package/dist/components/retention/retention-manager.js +81 -0
- package/dist/components/retention/retention-manager.js.map +1 -0
- package/dist/components/root-container.js +519 -0
- package/dist/components/root-container.js.map +1 -0
- package/dist/components/ruler.js +103 -0
- package/dist/components/ruler.js.map +1 -0
- package/dist/components/shape.js +97 -0
- package/dist/components/shape.js.map +1 -0
- package/dist/components/star.js +103 -0
- package/dist/components/star.js.map +1 -0
- package/dist/components/text/substitutor.js +92 -0
- package/dist/components/text/substitutor.js.map +1 -0
- package/dist/components/text.js +21 -0
- package/dist/components/text.js.map +1 -0
- package/dist/components/triangle.js +92 -0
- package/dist/components/triangle.js.map +1 -0
- package/dist/const.js +71 -0
- package/dist/const.js.map +1 -0
- package/dist/core/collection.js +28 -0
- package/dist/core/collection.js.map +1 -0
- package/dist/core/debug.js +12 -0
- package/dist/core/debug.js.map +1 -0
- package/dist/core/deep-equals.js +112 -0
- package/dist/core/deep-equals.js.map +1 -0
- package/dist/core/dom-to-image.js +617 -0
- package/dist/core/dom-to-image.js.map +1 -0
- package/dist/core/event.js +205 -0
- package/dist/core/event.js.map +1 -0
- package/dist/core/index.js +21 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/list.js +87 -0
- package/dist/core/list.js.map +1 -0
- package/dist/core/logger.js +29 -0
- package/dist/core/logger.js.map +1 -0
- package/dist/core/memoize.js +40 -0
- package/dist/core/memoize.js.map +1 -0
- package/dist/core/mixin.js +26 -0
- package/dist/core/mixin.js.map +1 -0
- package/dist/core/obj-accessor.js +26 -0
- package/dist/core/obj-accessor.js.map +1 -0
- package/dist/core/reference-map.js +147 -0
- package/dist/core/reference-map.js.map +1 -0
- package/dist/core/round-rect.js +62 -0
- package/dist/core/round-rect.js.map +1 -0
- package/dist/core/safe-round.js +10 -0
- package/dist/core/safe-round.js.map +1 -0
- package/dist/core/script-loader.js +148 -0
- package/dist/core/script-loader.js.map +1 -0
- package/dist/core/snapshot-taker.js +59 -0
- package/dist/core/snapshot-taker.js.map +1 -0
- package/dist/core/stack.js +18 -0
- package/dist/core/stack.js.map +1 -0
- package/dist/core/timecapsule.js +88 -0
- package/dist/core/timecapsule.js.map +1 -0
- package/dist/core/utils.js +309 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/decorator/anchors-decorator.js +53 -0
- package/dist/decorator/anchors-decorator.js.map +1 -0
- package/dist/decorator/bouncing-arrow-decorator.js +52 -0
- package/dist/decorator/bouncing-arrow-decorator.js.map +1 -0
- package/dist/decorator/data-spread-decorator.js +69 -0
- package/dist/decorator/data-spread-decorator.js.map +1 -0
- package/dist/decorator/decotag-decorator.js +33 -0
- package/dist/decorator/decotag-decorator.js.map +1 -0
- package/dist/decorator/index.js +31 -0
- package/dist/decorator/index.js.map +1 -0
- package/dist/decorator/link-decorator.js +66 -0
- package/dist/decorator/link-decorator.js.map +1 -0
- package/dist/effect/gradation.js +37 -0
- package/dist/effect/gradation.js.map +1 -0
- package/dist/effect/index.js +23 -0
- package/dist/effect/index.js.map +1 -0
- package/dist/effect/shadow.js +33 -0
- package/dist/effect/shadow.js.map +1 -0
- package/dist/effect/turn.js +25 -0
- package/dist/effect/turn.js.map +1 -0
- package/dist/event/event-engine.js +76 -0
- package/dist/event/event-engine.js.map +1 -0
- package/dist/event/event-pump.js +92 -0
- package/dist/event/event-pump.js.map +1 -0
- package/dist/event/event-tracker.js +97 -0
- package/dist/event/event-tracker.js.map +1 -0
- package/dist/event/index.js +21 -0
- package/dist/event/index.js.map +1 -0
- package/dist/event/ua-event-handler.js +453 -0
- package/dist/event/ua-event-handler.js.map +1 -0
- package/dist/event-map/animator-handler.js +225 -0
- package/dist/event-map/animator-handler.js.map +1 -0
- package/dist/event-map/animators/animated-icon.js +265 -0
- package/dist/event-map/animators/animated-icon.js.map +1 -0
- package/dist/event-map/animators/border-highlighting.js +476 -0
- package/dist/event-map/animators/border-highlighting.js.map +1 -0
- package/dist/event-map/animators/bouncing-arrow.js +226 -0
- package/dist/event-map/animators/bouncing-arrow.js.map +1 -0
- package/dist/event-map/event-map.js +36 -0
- package/dist/event-map/event-map.js.map +1 -0
- package/dist/event-map/index.js +20 -0
- package/dist/event-map/index.js.map +1 -0
- package/dist/event-map/move-handler.js +233 -0
- package/dist/event-map/move-handler.js.map +1 -0
- package/dist/event-map/paste-handler.js +176 -0
- package/dist/event-map/paste-handler.js.map +1 -0
- package/dist/event-map/shift-handler.js +55 -0
- package/dist/event-map/shift-handler.js.map +1 -0
- package/dist/event-map/text-editor-lite.js +276 -0
- package/dist/event-map/text-editor-lite.js.map +1 -0
- package/dist/event-map/zoom-handler.js +49 -0
- package/dist/event-map/zoom-handler.js.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/layer/action/emphasize.js +42 -0
- package/dist/layer/action/emphasize.js.map +1 -0
- package/dist/layer/action/popup.js +461 -0
- package/dist/layer/action/popup.js.map +1 -0
- package/dist/layer/action/pressed.js +31 -0
- package/dist/layer/action/pressed.js.map +1 -0
- package/dist/layer/add-layer.js +180 -0
- package/dist/layer/add-layer.js.map +1 -0
- package/dist/layer/decotag-layer.js +121 -0
- package/dist/layer/decotag-layer.js.map +1 -0
- package/dist/layer/guide-layer.js +292 -0
- package/dist/layer/guide-layer.js.map +1 -0
- package/dist/layer/index.js +70 -0
- package/dist/layer/index.js.map +1 -0
- package/dist/layer/layer.js +230 -0
- package/dist/layer/layer.js.map +1 -0
- package/dist/layer/minimap-layer.js +84 -0
- package/dist/layer/minimap-layer.js.map +1 -0
- package/dist/layer/model-layer.js +465 -0
- package/dist/layer/model-layer.js.map +1 -0
- package/dist/layer/modeler/anchor-handler.js +193 -0
- package/dist/layer/modeler/anchor-handler.js.map +1 -0
- package/dist/layer/modeler/control-handler.js +95 -0
- package/dist/layer/modeler/control-handler.js.map +1 -0
- package/dist/layer/modeler/focus-outline.js +41 -0
- package/dist/layer/modeler/focus-outline.js.map +1 -0
- package/dist/layer/modeler/group-outline.js +30 -0
- package/dist/layer/modeler/group-outline.js.map +1 -0
- package/dist/layer/modeler/index.js +56 -0
- package/dist/layer/modeler/index.js.map +1 -0
- package/dist/layer/modeler/path-handler.js +300 -0
- package/dist/layer/modeler/path-handler.js.map +1 -0
- package/dist/layer/modeler/resizer.js +333 -0
- package/dist/layer/modeler/resizer.js.map +1 -0
- package/dist/layer/modeler/rotator.js +134 -0
- package/dist/layer/modeler/rotator.js.map +1 -0
- package/dist/layer/modeling-layer.js +491 -0
- package/dist/layer/modeling-layer.js.map +1 -0
- package/dist/layer/reaction-layer.js +111 -0
- package/dist/layer/reaction-layer.js.map +1 -0
- package/dist/layer/scroll-layer.js +191 -0
- package/dist/layer/scroll-layer.js.map +1 -0
- package/dist/layer/selection/selected-finder.js +96 -0
- package/dist/layer/selection/selected-finder.js.map +1 -0
- package/dist/layer/selection-layer.js +373 -0
- package/dist/layer/selection-layer.js.map +1 -0
- package/dist/layer/shift-layer.js +83 -0
- package/dist/layer/shift-layer.js.map +1 -0
- package/dist/layout/absolute.js +30 -0
- package/dist/layout/absolute.js.map +1 -0
- package/dist/layout/card.js +52 -0
- package/dist/layout/card.js.map +1 -0
- package/dist/layout/html-absolute.js +32 -0
- package/dist/layout/html-absolute.js.map +1 -0
- package/dist/layout/index.js +56 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/layout/layout.js +36 -0
- package/dist/layout/layout.js.map +1 -0
- package/dist/layout/linear-horizontal.js +56 -0
- package/dist/layout/linear-horizontal.js.map +1 -0
- package/dist/layout/linear-vertical.js +56 -0
- package/dist/layout/linear-vertical.js.map +1 -0
- package/dist/layout/table.js +106 -0
- package/dist/layout/table.js.map +1 -0
- package/dist/license/license.js +170 -0
- package/dist/license/license.js.map +1 -0
- package/dist/model/compile.js +40 -0
- package/dist/model/compile.js.map +1 -0
- package/dist/model/duplicate.js +19 -0
- package/dist/model/duplicate.js.map +1 -0
- package/dist/model/index.js +34 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/selector.js +104 -0
- package/dist/model/selector.js.map +1 -0
- package/dist/style/compile.js +14 -0
- package/dist/style/compile.js.map +1 -0
- package/dist/style/index.js +14 -0
- package/dist/style/index.js.map +1 -0
- package/dist/things-scene/api/add-start.js +18 -0
- package/dist/things-scene/api/add-start.js.map +1 -0
- package/dist/things-scene/api/add.js +71 -0
- package/dist/things-scene/api/add.js.map +1 -0
- package/dist/things-scene/api/align.js +116 -0
- package/dist/things-scene/api/align.js.map +1 -0
- package/dist/things-scene/api/center-to.js +50 -0
- package/dist/things-scene/api/center-to.js.map +1 -0
- package/dist/things-scene/api/change.js +27 -0
- package/dist/things-scene/api/change.js.map +1 -0
- package/dist/things-scene/api/clipboard.js +45 -0
- package/dist/things-scene/api/clipboard.js.map +1 -0
- package/dist/things-scene/api/distribute.js +57 -0
- package/dist/things-scene/api/distribute.js.map +1 -0
- package/dist/things-scene/api/duplicate.js +47 -0
- package/dist/things-scene/api/duplicate.js.map +1 -0
- package/dist/things-scene/api/fullscreen.js +26 -0
- package/dist/things-scene/api/fullscreen.js.map +1 -0
- package/dist/things-scene/api/group.js +91 -0
- package/dist/things-scene/api/group.js.map +1 -0
- package/dist/things-scene/api/ids.js +28 -0
- package/dist/things-scene/api/ids.js.map +1 -0
- package/dist/things-scene/api/index.js +192 -0
- package/dist/things-scene/api/index.js.map +1 -0
- package/dist/things-scene/api/listener.js +69 -0
- package/dist/things-scene/api/listener.js.map +1 -0
- package/dist/things-scene/api/paste-start.js +27 -0
- package/dist/things-scene/api/paste-start.js.map +1 -0
- package/dist/things-scene/api/place.js +98 -0
- package/dist/things-scene/api/place.js.map +1 -0
- package/dist/things-scene/api/remove.js +57 -0
- package/dist/things-scene/api/remove.js.map +1 -0
- package/dist/things-scene/api/symmetry.js +47 -0
- package/dist/things-scene/api/symmetry.js.map +1 -0
- package/dist/things-scene/api/to-data-url.js +76 -0
- package/dist/things-scene/api/to-data-url.js.map +1 -0
- package/dist/things-scene/api/zorder.js +68 -0
- package/dist/things-scene/api/zorder.js.map +1 -0
- package/dist/things-scene/application-context.js +168 -0
- package/dist/things-scene/application-context.js.map +1 -0
- package/dist/things-scene/config.js +18 -0
- package/dist/things-scene/config.js.map +1 -0
- package/dist/things-scene/create.js +67 -0
- package/dist/things-scene/create.js.map +1 -0
- package/dist/things-scene/fps.js +26 -0
- package/dist/things-scene/fps.js.map +1 -0
- package/dist/things-scene/index.js +152 -0
- package/dist/things-scene/index.js.map +1 -0
- package/dist/things-scene/polyfill.js +111 -0
- package/dist/things-scene/polyfill.js.map +1 -0
- package/dist/things-scene/scene.js +442 -0
- package/dist/things-scene/scene.js.map +1 -0
- package/dist/things-scene/version.js +12 -0
- package/dist/things-scene/version.js.map +1 -0
- package/package.json +8 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom-to-image.js","names":["_logger","require","util","newUtil","inliner","newInliner","fontFaces","newFontFaces","images","newImages","defaultOptions","imagePlaceholder","undefined","cacheBust","toSvg","node","options","copyOptions","Promise","resolve","then","cloneNode","filter","inlineImages","applyOptions","clone","makeSvgDataUri","width","height","bgcolor","style","sx","sy","styles","backgroundColor","transform","Object","keys","forEach","property","toPixelData","draw","canvas","getContext","getImageData","data","toPng","toDataURL","toJpeg","quality","toBlob","canvasToBlob","domtoimage","impl","domNode","makeImage","delay","image","newCanvas","drawImage","document","createElement","ctx","fillStyle","fillRect","root","makeNodeCopy","cloneChildren","processClone","HTMLCanvasElement","e","warn","original","children","childNodes","length","cloneChildrenInOrder","asArray","parent","done","child","childClone","appendChild","Element","cloneStyle","clonePseudoElements","copyUserInput","fixSvg","copyStyle","window","getComputedStyle","source","target","cssText","copyProperties","name","setProperty","getPropertyValue","getPropertyPriority","element","clonePseudoElement","content","className","uid","styleElement","formatPseudoElementStyle","selector","formatCssText","formatCssProperties","createTextNode","map","formatProperty","join","HTMLTextAreaElement","innerHTML","value","HTMLInputElement","setAttribute","SVGElement","SVGRectElement","attribute","getAttribute","embedFonts","resolveAll","styleNode","inlineAll","XMLSerializer","serializeToString","escapeXhtml","xhtml","foreignObject","svg","escape","parseExtension","mimeType","dataAsUrl","isDataUrl","resolveUrl","getAndEncode","mimes","WOFF","JPEG","woff","woff2","ttf","eot","png","jpg","jpeg","gif","tiff","url","match","exec","extension","toLowerCase","search","binaryString","atob","split","binaryArray","Uint8Array","i","charCodeAt","Blob","type","baseUrl","doc","implementation","createHTMLDocument","base","head","a","body","href","index","fourRandomChars","Math","random","pow","toString","slice","uri","reject","Image","onload","onerror","src","TIMEOUT","test","Date","getTime","request","XMLHttpRequest","onreadystatechange","ontimeout","timeout","responseType","open","send","placeholder","readyState","status","fail","encoder","FileReader","onloadend","result","readAsDataURL","response","message","console","error","string","replace","ms","arg","setTimeout","arrayLike","array","push","leftBorder","px","rightBorder","scrollWidth","topBorder","bottomBorder","scrollHeight","styleProperty","parseFloat","URL_REGEX","shouldProcess","readUrls","inline","get","dataUrl","urlAsRegex","RegExp","nothingToInline","urls","readAll","webFonts","all","webFont","cssStrings","styleSheets","getCssRules","selectWebFontRules","rules","newWebFont","cssRules","rule","CSSRule","FONT_FACE_RULE","sheet","bind","log","webFontRule","parentStyleSheet","newImage","inlineBackground","HTMLImageElement","background","inlined","_default","exports","default"],"sources":["../../src/core/dom-to-image.js"],"sourcesContent":["import { warn } from './logger.js'\n\nvar util = newUtil()\nvar inliner = newInliner()\nvar fontFaces = newFontFaces()\nvar images = newImages()\n\n// Default impl options\nvar defaultOptions = {\n // Default is to fail on error, no placeholder\n imagePlaceholder: undefined,\n // Default cache bust is false, it will use the cache\n cacheBust: false\n}\n\n/**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options\n * @param {Function} options.filter - Should return true if passed node should be included in the output\n * (excluding node means excluding it's children as well). Not called on the root node.\n * @param {String} options.bgcolor - color for the background, any valid CSS color value.\n * @param {Number} options.width - width to be applied to node before rendering.\n * @param {Number} options.height - height to be applied to node before rendering.\n * @param {Object} options.style - an object whose properties to be copied to node's style before rendering.\n * @param {Number} options.quality - a Number between 0 and 1 indicating image quality (applicable to JPEG only),\n defaults to 1.0.\n * @param {String} options.imagePlaceholder - dataURL to use as a placeholder for failed images, default behaviour is to fail fast on images we can't fetch\n * @param {Boolean} options.cacheBust - set to true to cache bust by appending the time to the request url\n * @return {Promise} - A promise that is fulfilled with a SVG image data URL\n * */\nfunction toSvg(node, options) {\n options = options || {}\n copyOptions(options)\n return (\n Promise.resolve(node)\n .then(function (node) {\n return cloneNode(node, options.filter, true)\n })\n // .then(embedFonts) /* Web Font 로딩시간이 오래걸려서, 제거함 */\n .then(inlineImages)\n .then(applyOptions)\n .then(function (clone) {\n return makeSvgDataUri(clone, options.width || util.width(node), options.height || util.height(node))\n })\n )\n\n function applyOptions(clone) {\n var { bgcolor, width, height, style, sx = 1, sy = 1 } = options\n\n var styles = clone.style\n\n if (bgcolor) styles.backgroundColor = bgcolor\n\n if (width) styles.width = width + 'px'\n if (height) styles.height = height + 'px'\n\n styles['margin-left'] = '0px'\n styles['margin-top'] = '0px'\n\n /* CONFIRM-ME `transform: perspective(1px)` 스타일 설정은 scaling된 dom element를 좀 더 선명하게 보이도록 해준다. (Chrome 브라우저에서) */\n styles.transform = `rotate(0rad) translate(0px, 0px) scale(${sx}, ${sy}) perspective(1px)`\n\n if (style)\n Object.keys(style).forEach(function (property) {\n styles[property] = style[property]\n })\n\n return clone\n }\n}\n\n/**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a Uint8Array containing RGBA pixel data.\n * */\nfunction toPixelData(node, options) {\n return draw(node, options || {}).then(function (canvas) {\n return canvas.getContext('2d').getImageData(0, 0, util.width(node), util.height(node)).data\n })\n}\n\n/**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a PNG image data URL\n * */\nfunction toPng(node, options) {\n return draw(node, options || {}).then(function (canvas) {\n return canvas.toDataURL()\n })\n}\n\n/**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a JPEG image data URL\n * */\nfunction toJpeg(node, options) {\n options = options || {}\n return draw(node, options).then(function (canvas) {\n return canvas.toDataURL('image/jpeg', options.quality || 1.0)\n })\n}\n\n/**\n * @param {Node} node - The DOM Node object to render\n * @param {Object} options - Rendering options, @see {@link toSvg}\n * @return {Promise} - A promise that is fulfilled with a PNG image blob\n * */\nfunction toBlob(node, options) {\n return draw(node, options || {}).then(util.canvasToBlob)\n}\n\nfunction copyOptions(options) {\n // Copy options to impl options for use in impl\n if (typeof options.imagePlaceholder === 'undefined') {\n domtoimage.impl.options.imagePlaceholder = defaultOptions.imagePlaceholder\n } else {\n domtoimage.impl.options.imagePlaceholder = options.imagePlaceholder\n }\n\n if (typeof options.cacheBust === 'undefined') {\n domtoimage.impl.options.cacheBust = defaultOptions.cacheBust\n } else {\n domtoimage.impl.options.cacheBust = options.cacheBust\n }\n}\n\nfunction draw(domNode, options) {\n return toSvg(domNode, options)\n .then(util.makeImage)\n .then(util.delay(100))\n .then(function (image) {\n var canvas = newCanvas(domNode)\n canvas.getContext('2d').drawImage(image, 0, 0)\n return canvas\n })\n\n function newCanvas(domNode) {\n var canvas = document.createElement('canvas')\n var { width, height } = options\n\n canvas.width = options.width || util.width(domNode)\n canvas.height = options.height || util.height(domNode)\n\n if (options.bgcolor) {\n var ctx = canvas.getContext('2d')\n ctx.fillStyle = options.bgcolor\n ctx.fillRect(0, 0, canvas.width, canvas.height)\n }\n\n return canvas\n }\n}\n\nfunction cloneNode(node, filter, root) {\n if (!root && filter && !filter(node)) return Promise.resolve()\n\n return Promise.resolve(node)\n .then(makeNodeCopy)\n .then(function (clone) {\n return cloneChildren(node, clone, filter)\n })\n .then(function (clone) {\n return processClone(node, clone)\n })\n\n function makeNodeCopy(node) {\n if (node instanceof HTMLCanvasElement) {\n try {\n return util.makeImage(node.toDataURL())\n } catch (e) {\n warn(e)\n }\n }\n\n return node.cloneNode(false)\n }\n\n function cloneChildren(original, clone, filter) {\n var children = original.childNodes\n if (children.length === 0) return Promise.resolve(clone)\n\n return cloneChildrenInOrder(clone, util.asArray(children), filter).then(function () {\n return clone\n })\n\n function cloneChildrenInOrder(parent, children, filter) {\n var done = Promise.resolve()\n children.forEach(function (child) {\n done = done\n .then(function () {\n return cloneNode(child, filter)\n })\n .then(function (childClone) {\n if (childClone) parent.appendChild(childClone)\n })\n })\n return done\n }\n }\n\n function processClone(original, clone) {\n if (!(clone instanceof Element)) return clone\n\n return Promise.resolve()\n .then(cloneStyle)\n .then(clonePseudoElements)\n .then(copyUserInput)\n .then(fixSvg)\n .then(function () {\n return clone\n })\n\n function cloneStyle() {\n copyStyle(window.getComputedStyle(original), clone.style)\n\n function copyStyle(source, target) {\n if (source.cssText) target.cssText = source.cssText\n else copyProperties(source, target)\n\n function copyProperties(source, target) {\n util.asArray(source).forEach(function (name) {\n target.setProperty(name, source.getPropertyValue(name), source.getPropertyPriority(name))\n })\n }\n }\n }\n\n function clonePseudoElements() {\n ;[':before', ':after'].forEach(function (element) {\n clonePseudoElement(element)\n })\n\n function clonePseudoElement(element) {\n var style = window.getComputedStyle(original, element)\n var content = style.getPropertyValue('content')\n\n if (content === '' || content === 'none') return\n\n var className = util.uid()\n clone.className = clone.className + ' ' + className\n var styleElement = document.createElement('style')\n styleElement.appendChild(formatPseudoElementStyle(className, element, style))\n clone.appendChild(styleElement)\n\n function formatPseudoElementStyle(className, element, style) {\n var selector = '.' + className + ':' + element\n var cssText = style.cssText ? formatCssText(style) : formatCssProperties(style)\n return document.createTextNode(selector + '{' + cssText + '}')\n\n function formatCssText(style) {\n var content = style.getPropertyValue('content')\n return style.cssText + ' content: ' + content + ';'\n }\n\n function formatCssProperties(style) {\n return util.asArray(style).map(formatProperty).join('; ') + ';'\n\n function formatProperty(name) {\n return name + ': ' + style.getPropertyValue(name) + (style.getPropertyPriority(name) ? ' !important' : '')\n }\n }\n }\n }\n }\n\n function copyUserInput() {\n if (original instanceof HTMLTextAreaElement) clone.innerHTML = original.value\n if (original instanceof HTMLInputElement) clone.setAttribute('value', original.value)\n }\n\n function fixSvg() {\n if (!(clone instanceof SVGElement)) return\n clone.setAttribute('xmlns', 'http://www.w3.org/2000/svg')\n\n if (!(clone instanceof SVGRectElement)) return\n ;['width', 'height'].forEach(function (attribute) {\n var value = clone.getAttribute(attribute)\n if (!value) return\n\n clone.style.setProperty(attribute, value)\n })\n }\n }\n}\n\nfunction embedFonts(node) {\n return fontFaces.resolveAll().then(function (cssText) {\n var styleNode = document.createElement('style')\n node.appendChild(styleNode)\n styleNode.appendChild(document.createTextNode(cssText))\n return node\n })\n}\n\nfunction inlineImages(node) {\n return images.inlineAll(node).then(function () {\n return node\n })\n}\n\nfunction makeSvgDataUri(node, width, height) {\n return Promise.resolve(node)\n .then(function (node) {\n node.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml')\n return new XMLSerializer().serializeToString(node)\n })\n .then(util.escapeXhtml)\n .then(function (xhtml) {\n return '<foreignObject x=\"0\" y=\"0\" width=\"100%\" height=\"100%\">' + xhtml + '</foreignObject>'\n })\n .then(function (foreignObject) {\n return (\n '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"' +\n width +\n '\" height=\"' +\n height +\n '\">' +\n foreignObject +\n '</svg>'\n )\n })\n .then(function (svg) {\n return 'data:image/svg+xml;charset=utf-8,' + svg\n })\n}\n\nfunction newUtil() {\n return {\n escape: escape,\n parseExtension: parseExtension,\n mimeType: mimeType,\n dataAsUrl: dataAsUrl,\n isDataUrl: isDataUrl,\n canvasToBlob: canvasToBlob,\n resolveUrl: resolveUrl,\n getAndEncode: getAndEncode,\n uid: uid(),\n delay: delay,\n asArray: asArray,\n escapeXhtml: escapeXhtml,\n makeImage: makeImage,\n width: width,\n height: height\n }\n\n function mimes() {\n /*\n * Only WOFF and EOT mime types for fonts are 'real'\n * see http://www.iana.org/assignments/media-types/media-types.xhtml\n */\n var WOFF = 'application/font-woff'\n var JPEG = 'image/jpeg'\n\n return {\n woff: WOFF,\n woff2: WOFF,\n ttf: 'application/font-truetype',\n eot: 'application/vnd.ms-fontobject',\n png: 'image/png',\n jpg: JPEG,\n jpeg: JPEG,\n gif: 'image/gif',\n tiff: 'image/tiff',\n svg: 'image/svg+xml'\n }\n }\n\n function parseExtension(url) {\n var match = /\\.([^\\.\\/]*?)$/g.exec(url)\n if (match) return match[1]\n else return ''\n }\n\n function mimeType(url) {\n var extension = parseExtension(url).toLowerCase()\n return mimes()[extension] || ''\n }\n\n function isDataUrl(url) {\n return url.search(/^(data:)/) !== -1\n }\n\n function toBlob(canvas) {\n return new Promise(function (resolve) {\n var binaryString = window.atob(canvas.toDataURL().split(',')[1])\n var length = binaryString.length\n var binaryArray = new Uint8Array(length)\n\n for (var i = 0; i < length; i++) binaryArray[i] = binaryString.charCodeAt(i)\n\n resolve(\n new Blob([binaryArray], {\n type: 'image/png'\n })\n )\n })\n }\n\n function canvasToBlob(canvas) {\n if (canvas.toBlob)\n return new Promise(function (resolve) {\n canvas.toBlob(resolve)\n })\n\n return toBlob(canvas)\n }\n\n function resolveUrl(url, baseUrl) {\n var doc = document.implementation.createHTMLDocument()\n var base = doc.createElement('base')\n doc.head.appendChild(base)\n var a = doc.createElement('a')\n doc.body.appendChild(a)\n base.href = baseUrl\n a.href = url\n return a.href\n }\n\n function uid() {\n var index = 0\n\n return function () {\n return 'u' + fourRandomChars() + index++\n\n function fourRandomChars() {\n /* see http://stackoverflow.com/a/6248722/2519373 */\n return ('0000' + ((Math.random() * Math.pow(36, 4)) << 0).toString(36)).slice(-4)\n }\n }\n }\n\n function makeImage(uri) {\n return new Promise(function (resolve, reject) {\n var image = new Image()\n image.onload = function () {\n resolve(image)\n }\n image.onerror = reject\n image.src = uri\n })\n }\n\n function getAndEncode(url) {\n var TIMEOUT = 30000\n if (domtoimage.impl.options.cacheBust) {\n // Cache bypass so we dont have CORS issues with cached images\n // Source: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache\n url += (/\\?/.test(url) ? '&' : '?') + new Date().getTime()\n }\n\n return new Promise(function (resolve) {\n var request = new XMLHttpRequest()\n\n request.onreadystatechange = done\n request.ontimeout = timeout\n request.responseType = 'blob'\n request.timeout = TIMEOUT\n request.open('GET', url, true)\n request.send()\n\n var placeholder\n if (domtoimage.impl.options.imagePlaceholder) {\n var split = domtoimage.impl.options.imagePlaceholder.split(/,/)\n if (split && split[1]) {\n placeholder = split[1]\n }\n }\n\n function done() {\n if (request.readyState !== 4) return\n\n if (request.status !== 200) {\n if (placeholder) {\n resolve(placeholder)\n } else {\n fail('cannot fetch resource: ' + url + ', status: ' + request.status)\n }\n\n return\n }\n\n var encoder = new FileReader()\n encoder.onloadend = function () {\n var content = encoder.result.split(/,/)[1]\n resolve(content)\n }\n encoder.readAsDataURL(request.response)\n }\n\n function timeout() {\n if (placeholder) {\n resolve(placeholder)\n } else {\n fail('timeout of ' + TIMEOUT + 'ms occured while fetching resource: ' + url)\n }\n }\n\n function fail(message) {\n console.error(message)\n resolve('')\n }\n })\n }\n\n function dataAsUrl(content, type) {\n return 'data:' + type + ';base64,' + content\n }\n\n function escape(string) {\n return string.replace(/([.*+?^${}()|\\[\\]\\/\\\\])/g, '\\\\$1')\n }\n\n function delay(ms) {\n return function (arg) {\n return new Promise(function (resolve) {\n setTimeout(function () {\n resolve(arg)\n }, ms)\n })\n }\n }\n\n function asArray(arrayLike) {\n var array = []\n var length = arrayLike.length\n for (var i = 0; i < length; i++) array.push(arrayLike[i])\n return array\n }\n\n function escapeXhtml(string) {\n return string.replace(/#/g, '%23').replace(/\\n/g, '%0A')\n }\n\n function width(node) {\n var leftBorder = px(node, 'border-left-width')\n var rightBorder = px(node, 'border-right-width')\n\n return node.scrollWidth + leftBorder + rightBorder\n }\n\n function height(node) {\n var topBorder = px(node, 'border-top-width')\n var bottomBorder = px(node, 'border-bottom-width')\n\n return node.scrollHeight + topBorder + bottomBorder\n }\n\n function px(node, styleProperty) {\n var value = window.getComputedStyle(node).getPropertyValue(styleProperty)\n return parseFloat(value.replace('px', ''))\n }\n}\n\nfunction newInliner() {\n var URL_REGEX = /url\\(['\"]?([^'\"]+?)['\"]?\\)/g\n\n return {\n inlineAll: inlineAll,\n shouldProcess: shouldProcess,\n impl: {\n readUrls: readUrls,\n inline: inline\n }\n }\n\n function shouldProcess(string) {\n return string.search(URL_REGEX) !== -1\n }\n\n function readUrls(string) {\n var result = []\n var match\n while ((match = URL_REGEX.exec(string)) !== null) {\n result.push(match[1])\n }\n return result.filter(function (url) {\n return !util.isDataUrl(url)\n })\n }\n\n function inline(string, url, baseUrl, get) {\n return Promise.resolve(url)\n .then(function (url) {\n return baseUrl ? util.resolveUrl(url, baseUrl) : url\n })\n .then(get || util.getAndEncode)\n .then(function (data) {\n return util.dataAsUrl(data, util.mimeType(url))\n })\n .then(function (dataUrl) {\n return string.replace(urlAsRegex(url), '$1' + dataUrl + '$3')\n })\n\n function urlAsRegex(url) {\n return new RegExp('(url\\\\([\\'\"]?)(' + util.escape(url) + ')([\\'\"]?\\\\))', 'g')\n }\n }\n\n function inlineAll(string, baseUrl, get) {\n if (nothingToInline()) return Promise.resolve(string)\n\n return Promise.resolve(string)\n .then(readUrls)\n .then(function (urls) {\n var done = Promise.resolve(string)\n urls.forEach(function (url) {\n done = done.then(function (string) {\n return inline(string, url, baseUrl, get)\n })\n })\n return done\n })\n\n function nothingToInline() {\n return !shouldProcess(string)\n }\n }\n}\n\nfunction newFontFaces() {\n return {\n resolveAll: resolveAll,\n impl: {\n readAll: readAll\n }\n }\n\n function resolveAll() {\n return readAll(document)\n .then(function (webFonts) {\n return Promise.all(\n webFonts.map(function (webFont) {\n return webFont.resolve()\n })\n )\n })\n .then(function (cssStrings) {\n return cssStrings.join('\\n')\n })\n }\n\n function readAll() {\n return Promise.resolve(util.asArray(document.styleSheets))\n .then(getCssRules)\n .then(selectWebFontRules)\n .then(function (rules) {\n return rules.map(newWebFont)\n })\n\n function selectWebFontRules(cssRules) {\n return cssRules\n .filter(function (rule) {\n return rule.type === CSSRule.FONT_FACE_RULE\n })\n .filter(function (rule) {\n return inliner.shouldProcess(rule.style.getPropertyValue('src'))\n })\n }\n\n function getCssRules(styleSheets) {\n var cssRules = []\n styleSheets.forEach(function (sheet) {\n try {\n util.asArray(sheet.cssRules || []).forEach(cssRules.push.bind(cssRules))\n } catch (e) {\n console.log('Error while reading CSS rules from ' + sheet.href, e.toString())\n }\n })\n return cssRules\n }\n\n function newWebFont(webFontRule) {\n return {\n resolve: function resolve() {\n var baseUrl = (webFontRule.parentStyleSheet || {}).href\n return inliner.inlineAll(webFontRule.cssText, baseUrl)\n },\n src: function () {\n return webFontRule.style.getPropertyValue('src')\n }\n }\n }\n }\n}\n\nfunction newImages() {\n return {\n inlineAll: inlineAll,\n impl: {\n newImage: newImage\n }\n }\n\n function newImage(element) {\n return {\n inline: inline\n }\n\n function inline(get) {\n if (util.isDataUrl(element.src)) return Promise.resolve()\n\n return Promise.resolve(element.src)\n .then(get || util.getAndEncode)\n .then(function (data) {\n return util.dataAsUrl(data, util.mimeType(element.src))\n })\n .then(function (dataUrl) {\n return new Promise(function (resolve, reject) {\n element.onload = resolve\n element.onerror = reject\n element.src = dataUrl\n })\n })\n }\n }\n\n function inlineAll(node) {\n if (!(node instanceof Element)) return Promise.resolve(node)\n\n return inlineBackground(node).then(function () {\n if (node instanceof HTMLImageElement) return newImage(node).inline()\n else\n return Promise.all(\n util.asArray(node.childNodes).map(function (child) {\n return inlineAll(child)\n })\n )\n })\n\n function inlineBackground(node) {\n var background = node.style.getPropertyValue('background')\n\n if (!background) return Promise.resolve(node)\n\n return inliner\n .inlineAll(background)\n .then(function (inlined) {\n node.style.setProperty('background', inlined, node.style.getPropertyPriority('background'))\n })\n .then(function () {\n return node\n })\n }\n }\n}\n\nvar domtoimage = {\n toSvg: toSvg,\n toPng: toPng,\n toJpeg: toJpeg,\n toBlob: toBlob,\n toPixelData: toPixelData,\n impl: {\n fontFaces: fontFaces,\n images: images,\n util: util,\n inliner: inliner,\n options: {}\n }\n}\n\nexport default domtoimage\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var utils = _interopRequireWildcard(require("./utils.js"));
|
|
8
|
+
var _collection = require("./collection.js");
|
|
9
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
+
/*
|
|
12
|
+
* Copyright © HatioLab Inc. All rights reserved.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
// # Regular expression used to split event strings.
|
|
16
|
+
var eventSplitter = /\s+/;
|
|
17
|
+
|
|
18
|
+
// Implement fancy features of the Event API such as multiple event
|
|
19
|
+
// names `"change blur"` and jQuery-style event maps `{change: action}`
|
|
20
|
+
// in terms of the existing API.
|
|
21
|
+
function eventApi(obj, action, name, rest) {
|
|
22
|
+
if (!name) return true;
|
|
23
|
+
|
|
24
|
+
// Handle event maps
|
|
25
|
+
if (typeof name == 'object') {
|
|
26
|
+
for (let key in name) {
|
|
27
|
+
let val = name[key];
|
|
28
|
+
obj[action].apply(obj, [key, val]);
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Handle space separated event names
|
|
34
|
+
if (eventSplitter.test(name)) {
|
|
35
|
+
var names = name.split(eventSplitter);
|
|
36
|
+
names.forEach(val => obj[action].apply(obj, [val].concat(rest)));
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
const METHODS = ['on', 'off', 'once', 'delegate_on', 'delegate_off', 'trigger', 'listenTo'];
|
|
42
|
+
var Event = {
|
|
43
|
+
withEvent() {
|
|
44
|
+
METHODS.forEach(method => this[method] = Event[method]);
|
|
45
|
+
},
|
|
46
|
+
/*
|
|
47
|
+
* on
|
|
48
|
+
*
|
|
49
|
+
* params:
|
|
50
|
+
* - name
|
|
51
|
+
* - callback
|
|
52
|
+
* - context
|
|
53
|
+
*/
|
|
54
|
+
on(name, callback, context) {
|
|
55
|
+
if (!eventApi(this, 'on', name, [callback, context]) || !callback) return this;
|
|
56
|
+
this._listeners || (this._listeners = {});
|
|
57
|
+
var events = this._listeners[name] || (this._listeners[name] = []);
|
|
58
|
+
events.push({
|
|
59
|
+
callback: callback,
|
|
60
|
+
context: context,
|
|
61
|
+
ctx: context || this
|
|
62
|
+
});
|
|
63
|
+
return this;
|
|
64
|
+
},
|
|
65
|
+
// Bind an event to only be triggered a single time. After the first time
|
|
66
|
+
// the callback is invoked, it will be removed.
|
|
67
|
+
once(name, callback, context) {
|
|
68
|
+
if (!eventApi(this, 'once', name, [callback, context]) || !callback) return this;
|
|
69
|
+
var self = this;
|
|
70
|
+
var once = utils.once(function () {
|
|
71
|
+
self.off(name, once);
|
|
72
|
+
callback.apply(self, arguments);
|
|
73
|
+
});
|
|
74
|
+
once._callback = callback;
|
|
75
|
+
this.on(name, once, context);
|
|
76
|
+
},
|
|
77
|
+
// Remove one or many callbacks. If `context` is null, removes all
|
|
78
|
+
// callbacks with that function. If `callback` is null, removes all
|
|
79
|
+
// callbacks for the event. If `name` is null, removes all bound
|
|
80
|
+
// callbacks for all events.
|
|
81
|
+
off(name, callback, context) {
|
|
82
|
+
if (!this._listeners || !eventApi(this, 'off', name, [callback, context])) return this;
|
|
83
|
+
if (!name && !callback && !context) {
|
|
84
|
+
this._listeners = undefined;
|
|
85
|
+
return this;
|
|
86
|
+
}
|
|
87
|
+
var names;
|
|
88
|
+
if (name) {
|
|
89
|
+
names = [name];
|
|
90
|
+
} else {
|
|
91
|
+
names = Object.keys(this._listeners);
|
|
92
|
+
}
|
|
93
|
+
for (let i = 0; i < names.length; i++) {
|
|
94
|
+
let name = names[i];
|
|
95
|
+
let events = this._listeners[name];
|
|
96
|
+
if (events) {
|
|
97
|
+
let retain = [];
|
|
98
|
+
this._listeners[name] = retain;
|
|
99
|
+
if (callback || context) {
|
|
100
|
+
for (let j = 0; j < events.length; j++) {
|
|
101
|
+
let ev = events[j];
|
|
102
|
+
if (callback && callback !== ev.callback && callback !== ev.callback._callback || context && context !== ev.context) {
|
|
103
|
+
retain.push(ev);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (!retain.length) delete this._listeners[name];
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return this;
|
|
111
|
+
},
|
|
112
|
+
delegate_on(delegator) {
|
|
113
|
+
this._delegators || (this._delegators = new _collection.List());
|
|
114
|
+
this._delegators.append(delegator);
|
|
115
|
+
return this;
|
|
116
|
+
},
|
|
117
|
+
delegate_off(delegator) {
|
|
118
|
+
if (!this._delegators) return this;
|
|
119
|
+
this._delegators.remove(delegator);
|
|
120
|
+
return this;
|
|
121
|
+
},
|
|
122
|
+
delegate() {
|
|
123
|
+
if (this._delegators && this._delegators.size() > 0) delegateEvents(this._delegators, arguments);
|
|
124
|
+
if (!this._listeners) return this;
|
|
125
|
+
var hint_idx = arguments.length - 1;
|
|
126
|
+
var hint = arguments[hint_idx];
|
|
127
|
+
arguments[hint_idx] = {
|
|
128
|
+
origin: hint.origin,
|
|
129
|
+
name: hint.name,
|
|
130
|
+
deliverer: this
|
|
131
|
+
};
|
|
132
|
+
var listeners = this._listeners[hint.name];
|
|
133
|
+
var listenersForAll = this._listeners['(all)'];
|
|
134
|
+
if (listeners) triggerEvents(listeners, arguments);
|
|
135
|
+
if (listenersForAll) triggerEvents(listenersForAll, arguments);
|
|
136
|
+
return this;
|
|
137
|
+
},
|
|
138
|
+
// Trigger one or many events, firing all bound callbacks. Callbacks are
|
|
139
|
+
// passed the same arguments as `trigger` is, apart from the event name
|
|
140
|
+
// (unless you're listening on `"(all)"`, which will cause your callback to
|
|
141
|
+
// receive the true name of the event as the first argument).
|
|
142
|
+
trigger(name) {
|
|
143
|
+
var args = [].slice.call(arguments, 1);
|
|
144
|
+
args.push({
|
|
145
|
+
origin: this,
|
|
146
|
+
name: name,
|
|
147
|
+
deliverer: this
|
|
148
|
+
});
|
|
149
|
+
if (this._delegators && this._delegators.size() > 0) delegateEvents(this._delegators, args);
|
|
150
|
+
if (!this._listeners) return this;
|
|
151
|
+
if (!eventApi(this, 'trigger', name, args)) return this;
|
|
152
|
+
var listeners = this._listeners[name];
|
|
153
|
+
var listenersForAll = this._listeners['(all)'];
|
|
154
|
+
if (listeners) triggerEvents(listeners, args);
|
|
155
|
+
if (listenersForAll) triggerEvents(listenersForAll, args);
|
|
156
|
+
return this;
|
|
157
|
+
},
|
|
158
|
+
// Tell this object to stop listening to either specific events ... or
|
|
159
|
+
// to every object it's currently listening to.
|
|
160
|
+
stopListening(obj, name, callback) {
|
|
161
|
+
var listeningTo = this._listeningTo;
|
|
162
|
+
if (!listeningTo) return this;
|
|
163
|
+
var remove = !name && !callback;
|
|
164
|
+
if (!callback && typeof name == 'object') callback = this;
|
|
165
|
+
if (obj) {
|
|
166
|
+
listeningTo = {};
|
|
167
|
+
listeningTo[obj._listenId] = obj;
|
|
168
|
+
}
|
|
169
|
+
for (let id in listeningTo) {
|
|
170
|
+
let obj = listeningTo[id];
|
|
171
|
+
obj.off(name, callback, this);
|
|
172
|
+
if (remove || utils.isEmpty(obj._events)) delete this._listeningTo[id];
|
|
173
|
+
}
|
|
174
|
+
return this;
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
function triggerEvents(listeners, args) {
|
|
178
|
+
listeners.forEach(listener => listener.callback.apply(listener.ctx, args));
|
|
179
|
+
}
|
|
180
|
+
function delegateEvents(delegators, args) {
|
|
181
|
+
delegators.forEach(delegator => Event.delegate.apply(delegator, args));
|
|
182
|
+
}
|
|
183
|
+
var listenMethods = {
|
|
184
|
+
listenTo: 'on',
|
|
185
|
+
listenToOnce: 'once'
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
// Inversion-of-control versions of `on` and `once`. Tell *this* object to
|
|
189
|
+
// listen to an event in another object ... keeping track of what it's
|
|
190
|
+
// listening to.
|
|
191
|
+
for (let method in listenMethods) {
|
|
192
|
+
var implementation = listenMethods[method];
|
|
193
|
+
Event[method] = function (obj, name, callback) {
|
|
194
|
+
if (!this._listeningTo) this._listeningTo = {};
|
|
195
|
+
var listeningTo = this._listeningTo;
|
|
196
|
+
if (!obj._listenId) obj._listenId = utils.uniqueId('l');
|
|
197
|
+
var id = obj._listenId;
|
|
198
|
+
listeningTo[id] = obj;
|
|
199
|
+
if (!callback && typeof name == 'object') callback = this;
|
|
200
|
+
obj[implementation](name, callback, this);
|
|
201
|
+
return this;
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
var _default = exports.default = Event;
|
|
205
|
+
//# sourceMappingURL=event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","names":["utils","_interopRequireWildcard","require","_collection","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","eventSplitter","eventApi","obj","action","name","rest","key","val","apply","test","names","split","forEach","concat","METHODS","Event","withEvent","method","on","callback","context","_listeners","events","push","ctx","once","self","off","arguments","_callback","undefined","keys","length","retain","j","ev","delegate_on","delegator","_delegators","List","append","delegate_off","remove","delegate","size","delegateEvents","hint_idx","hint","origin","deliverer","listeners","listenersForAll","triggerEvents","trigger","args","slice","stopListening","listeningTo","_listeningTo","_listenId","id","isEmpty","_events","listener","delegators","listenMethods","listenTo","listenToOnce","implementation","uniqueId","_default","exports"],"sources":["../../src/core/event.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport * as utils from './utils.js'\n\nimport { List } from './collection.js'\n\n// # Regular expression used to split event strings.\nvar eventSplitter = /\\s+/\n\n// Implement fancy features of the Event API such as multiple event\n// names `\"change blur\"` and jQuery-style event maps `{change: action}`\n// in terms of the existing API.\nfunction eventApi(obj, action, name, rest) {\n if (!name) return true\n\n // Handle event maps\n if (typeof name == 'object') {\n for (let key in name) {\n let val = name[key]\n obj[action].apply(obj, [key, val])\n }\n return false\n }\n\n // Handle space separated event names\n if (eventSplitter.test(name)) {\n var names = name.split(eventSplitter)\n\n names.forEach(val => obj[action].apply(obj, [val].concat(rest)))\n return false\n }\n\n return true\n}\n\nconst METHODS = ['on', 'off', 'once', 'delegate_on', 'delegate_off', 'trigger', 'listenTo']\n\nvar Event = {\n withEvent() {\n METHODS.forEach(method => (this[method] = Event[method]))\n },\n\n /*\n * on\n *\n * params:\n * - name\n * - callback\n * - context\n */\n on(name, callback, context) {\n if (!eventApi(this, 'on', name, [callback, context]) || !callback) return this\n\n this._listeners || (this._listeners = {})\n var events = this._listeners[name] || (this._listeners[name] = [])\n events.push({\n callback: callback,\n context: context,\n ctx: context || this\n })\n\n return this\n },\n\n // Bind an event to only be triggered a single time. After the first time\n // the callback is invoked, it will be removed.\n once(name, callback, context) {\n if (!eventApi(this, 'once', name, [callback, context]) || !callback) return this\n\n var self = this\n\n var once = utils.once(function () {\n self.off(name, once)\n callback.apply(self, arguments)\n })\n\n once._callback = callback\n\n this.on(name, once, context)\n },\n\n // Remove one or many callbacks. If `context` is null, removes all\n // callbacks with that function. If `callback` is null, removes all\n // callbacks for the event. If `name` is null, removes all bound\n // callbacks for all events.\n off(name, callback, context) {\n if (!this._listeners || !eventApi(this, 'off', name, [callback, context])) return this\n\n if (!name && !callback && !context) {\n this._listeners = undefined\n return this\n }\n\n var names\n\n if (name) {\n names = [name]\n } else {\n names = Object.keys(this._listeners)\n }\n\n for (let i = 0; i < names.length; i++) {\n let name = names[i]\n let events = this._listeners[name]\n if (events) {\n let retain = []\n this._listeners[name] = retain\n if (callback || context) {\n for (let j = 0; j < events.length; j++) {\n let ev = events[j]\n if (\n (callback && callback !== ev.callback && callback !== ev.callback._callback) ||\n (context && context !== ev.context)\n ) {\n retain.push(ev)\n }\n }\n }\n if (!retain.length) delete this._listeners[name]\n }\n }\n return this\n },\n\n delegate_on(delegator) {\n this._delegators || (this._delegators = new List())\n this._delegators.append(delegator)\n\n return this\n },\n\n delegate_off(delegator) {\n if (!this._delegators) return this\n\n this._delegators.remove(delegator)\n\n return this\n },\n\n delegate() {\n if (this._delegators && this._delegators.size() > 0) delegateEvents(this._delegators, arguments)\n\n if (!this._listeners) return this\n\n var hint_idx = arguments.length - 1\n\n var hint = arguments[hint_idx]\n arguments[hint_idx] = {\n origin: hint.origin,\n name: hint.name,\n deliverer: this\n }\n\n var listeners = this._listeners[hint.name]\n var listenersForAll = this._listeners['(all)']\n\n if (listeners) triggerEvents(listeners, arguments)\n\n if (listenersForAll) triggerEvents(listenersForAll, arguments)\n\n return this\n },\n\n // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"(all)\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n trigger(name) {\n var args = [].slice.call(arguments, 1)\n\n args.push({\n origin: this,\n name: name,\n deliverer: this\n })\n\n if (this._delegators && this._delegators.size() > 0) delegateEvents(this._delegators, args)\n\n if (!this._listeners) return this\n\n if (!eventApi(this, 'trigger', name, args)) return this\n\n var listeners = this._listeners[name]\n var listenersForAll = this._listeners['(all)']\n\n if (listeners) triggerEvents(listeners, args)\n\n if (listenersForAll) triggerEvents(listenersForAll, args)\n\n return this\n },\n\n // Tell this object to stop listening to either specific events ... or\n // to every object it's currently listening to.\n stopListening(obj, name, callback) {\n var listeningTo = this._listeningTo\n\n if (!listeningTo) return this\n\n var remove = !name && !callback\n\n if (!callback && typeof name == 'object') callback = this\n\n if (obj) {\n listeningTo = {}\n listeningTo[obj._listenId] = obj\n }\n\n for (let id in listeningTo) {\n let obj = listeningTo[id]\n obj.off(name, callback, this)\n\n if (remove || utils.isEmpty(obj._events)) delete this._listeningTo[id]\n }\n\n return this\n }\n}\n\nfunction triggerEvents(listeners, args) {\n listeners.forEach(listener => listener.callback.apply(listener.ctx, args))\n}\n\nfunction delegateEvents(delegators, args) {\n delegators.forEach(delegator => Event.delegate.apply(delegator, args))\n}\n\nvar listenMethods = {\n listenTo: 'on',\n listenToOnce: 'once'\n}\n\n// Inversion-of-control versions of `on` and `once`. Tell *this* object to\n// listen to an event in another object ... keeping track of what it's\n// listening to.\nfor (let method in listenMethods) {\n var implementation = listenMethods[method]\n\n Event[method] = function (obj, name, callback) {\n if (!this._listeningTo) this._listeningTo = {}\n\n var listeningTo = this._listeningTo\n\n if (!obj._listenId) obj._listenId = utils.uniqueId('l')\n\n var id = obj._listenId\n listeningTo[id] = obj\n\n if (!callback && typeof name == 'object') callback = this\n\n obj[implementation](name, callback, this)\n\n return this\n }\n}\n\nexport default Event\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "event", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _event.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "mixin", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _mixin.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
var _event = _interopRequireDefault(require("./event.js"));
|
|
19
|
+
var _mixin = _interopRequireDefault(require("./mixin.js"));
|
|
20
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_event","_interopRequireDefault","require","_mixin","e","__esModule","default"],"sources":["../../src/core/index.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nexport { default as event } from './event.js'\nexport { default as mixin } from './mixin.js'\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA6C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.append = append;
|
|
7
|
+
exports.clear = clear;
|
|
8
|
+
exports.forEach = forEach;
|
|
9
|
+
exports.getAt = getAt;
|
|
10
|
+
exports.indexOf = indexOf;
|
|
11
|
+
exports.insertAt = insertAt;
|
|
12
|
+
exports.moveBackward = moveBackward;
|
|
13
|
+
exports.moveForward = moveForward;
|
|
14
|
+
exports.moveToHead = moveToHead;
|
|
15
|
+
exports.moveToTail = moveToTail;
|
|
16
|
+
exports.prepend = prepend;
|
|
17
|
+
exports.remove = remove;
|
|
18
|
+
exports.size = size;
|
|
19
|
+
/*
|
|
20
|
+
* Copyright © HatioLab Inc. All rights reserved.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
function insertAt(index, item) {
|
|
24
|
+
if (!this.__collection__) return this;
|
|
25
|
+
var index = this.__collection__.indexOf(item);
|
|
26
|
+
if (index == -1) this.__collection__.splice(index, 0, item);
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
function append(item) {
|
|
30
|
+
if (!this.__collection__) this.__collection__ = [];
|
|
31
|
+
if (this.__collection__.indexOf(item) == -1) this.__collection__.push(item);
|
|
32
|
+
return this;
|
|
33
|
+
}
|
|
34
|
+
function prepend(item) {
|
|
35
|
+
if (!this.__collection__) this.__collection__ = [];
|
|
36
|
+
if (this.__collection__.indexOf(item) == -1) this.__collection__.unshift(item);
|
|
37
|
+
return this;
|
|
38
|
+
}
|
|
39
|
+
function remove(item) {
|
|
40
|
+
if (!this.__collection__) return this;
|
|
41
|
+
var index = this.__collection__.indexOf(item);
|
|
42
|
+
if (index >= 0) this.__collection__.splice(index, 1);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
function getAt(index) {
|
|
46
|
+
if (this.__collection__) return this.__collection__[index];
|
|
47
|
+
}
|
|
48
|
+
function forEach(fn, context) {
|
|
49
|
+
if (this.__collection__) this.__collection__.forEach(fn, context);
|
|
50
|
+
}
|
|
51
|
+
function indexOf(item) {
|
|
52
|
+
if (this.__collection__) return this.__collection__.indexOf(item);
|
|
53
|
+
}
|
|
54
|
+
function size() {
|
|
55
|
+
if (this.__collection__) return this.__collection__.length;
|
|
56
|
+
return 0;
|
|
57
|
+
}
|
|
58
|
+
function clear() {
|
|
59
|
+
this.__collection__ = [];
|
|
60
|
+
}
|
|
61
|
+
function moveForward(item) {
|
|
62
|
+
var index = this.indexOf(item);
|
|
63
|
+
if (index == -1 || index == 0) return;
|
|
64
|
+
this.__collection__[index] = this.__collection__[index - 1];
|
|
65
|
+
this.__collection__[index - 1] = item;
|
|
66
|
+
}
|
|
67
|
+
function moveBackward(item) {
|
|
68
|
+
var index = this.indexOf(item);
|
|
69
|
+
if (index == -1 || index == this.size() - 1) return;
|
|
70
|
+
this.__collection__[index] = this.__collection__[index + 1];
|
|
71
|
+
this.__collection__[index + 1] = item;
|
|
72
|
+
}
|
|
73
|
+
function moveToHead(item) {
|
|
74
|
+
var index = this.indexOf(item);
|
|
75
|
+
if (index == -1 || index == 0) return;
|
|
76
|
+
var head = this.__collection__.splice(0, index);
|
|
77
|
+
var tail = this.__collection__.splice(1);
|
|
78
|
+
this.__collection__ = this.__collection__.concat(head, tail);
|
|
79
|
+
}
|
|
80
|
+
function moveToTail(item) {
|
|
81
|
+
var index = this.indexOf(item);
|
|
82
|
+
if (index == -1 || index == this.size() - 1) return;
|
|
83
|
+
var head = this.__collection__.splice(0, index);
|
|
84
|
+
var tail = this.__collection__.splice(1);
|
|
85
|
+
this.__collection__ = head.concat(tail, this.__collection__);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","names":["insertAt","index","item","__collection__","indexOf","splice","append","push","prepend","unshift","remove","getAt","forEach","fn","context","size","length","clear","moveForward","moveBackward","moveToHead","head","tail","concat","moveToTail"],"sources":["../../src/core/list.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nexport function insertAt(index, item) {\n if (!this.__collection__) return this\n var index = this.__collection__.indexOf(item)\n if (index == -1) this.__collection__.splice(index, 0, item)\n\n return this\n}\n\nexport function append(item) {\n if (!this.__collection__) this.__collection__ = []\n\n if (this.__collection__.indexOf(item) == -1) this.__collection__.push(item)\n\n return this\n}\n\nexport function prepend(item) {\n if (!this.__collection__) this.__collection__ = []\n\n if (this.__collection__.indexOf(item) == -1) this.__collection__.unshift(item)\n\n return this\n}\n\nexport function remove(item) {\n if (!this.__collection__) return this\n\n var index = this.__collection__.indexOf(item)\n if (index >= 0) this.__collection__.splice(index, 1)\n\n return this\n}\n\nexport function getAt(index) {\n if (this.__collection__) return this.__collection__[index]\n}\n\nexport function forEach(fn, context) {\n if (this.__collection__) this.__collection__.forEach(fn, context)\n}\n\nexport function indexOf(item) {\n if (this.__collection__) return this.__collection__.indexOf(item)\n}\n\nexport function size() {\n if (this.__collection__) return this.__collection__.length\n return 0\n}\n\nexport function clear() {\n this.__collection__ = []\n}\n\nexport function moveForward(item) {\n var index = this.indexOf(item)\n if (index == -1 || index == 0) return\n\n this.__collection__[index] = this.__collection__[index - 1]\n this.__collection__[index - 1] = item\n}\n\nexport function moveBackward(item) {\n var index = this.indexOf(item)\n if (index == -1 || index == this.size() - 1) return\n\n this.__collection__[index] = this.__collection__[index + 1]\n this.__collection__[index + 1] = item\n}\n\nexport function moveToHead(item) {\n var index = this.indexOf(item)\n if (index == -1 || index == 0) return\n\n var head = this.__collection__.splice(0, index)\n var tail = this.__collection__.splice(1)\n\n this.__collection__ = this.__collection__.concat(head, tail)\n}\n\nexport function moveToTail(item) {\n var index = this.indexOf(item)\n if (index == -1 || index == this.size() - 1) return\n\n var head = this.__collection__.splice(0, index)\n var tail = this.__collection__.splice(1)\n\n this.__collection__ = head.concat(tail, this.__collection__)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;;AAEO,SAASA,QAAQA,CAACC,KAAK,EAAEC,IAAI,EAAE;EACpC,IAAI,CAAC,IAAI,CAACC,cAAc,EAAE,OAAO,IAAI;EACrC,IAAIF,KAAK,GAAG,IAAI,CAACE,cAAc,CAACC,OAAO,CAACF,IAAI,CAAC;EAC7C,IAAID,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,CAACE,cAAc,CAACE,MAAM,CAACJ,KAAK,EAAE,CAAC,EAAEC,IAAI,CAAC;EAE3D,OAAO,IAAI;AACb;AAEO,SAASI,MAAMA,CAACJ,IAAI,EAAE;EAC3B,IAAI,CAAC,IAAI,CAACC,cAAc,EAAE,IAAI,CAACA,cAAc,GAAG,EAAE;EAElD,IAAI,IAAI,CAACA,cAAc,CAACC,OAAO,CAACF,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAACC,cAAc,CAACI,IAAI,CAACL,IAAI,CAAC;EAE3E,OAAO,IAAI;AACb;AAEO,SAASM,OAAOA,CAACN,IAAI,EAAE;EAC5B,IAAI,CAAC,IAAI,CAACC,cAAc,EAAE,IAAI,CAACA,cAAc,GAAG,EAAE;EAElD,IAAI,IAAI,CAACA,cAAc,CAACC,OAAO,CAACF,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAACC,cAAc,CAACM,OAAO,CAACP,IAAI,CAAC;EAE9E,OAAO,IAAI;AACb;AAEO,SAASQ,MAAMA,CAACR,IAAI,EAAE;EAC3B,IAAI,CAAC,IAAI,CAACC,cAAc,EAAE,OAAO,IAAI;EAErC,IAAIF,KAAK,GAAG,IAAI,CAACE,cAAc,CAACC,OAAO,CAACF,IAAI,CAAC;EAC7C,IAAID,KAAK,IAAI,CAAC,EAAE,IAAI,CAACE,cAAc,CAACE,MAAM,CAACJ,KAAK,EAAE,CAAC,CAAC;EAEpD,OAAO,IAAI;AACb;AAEO,SAASU,KAAKA,CAACV,KAAK,EAAE;EAC3B,IAAI,IAAI,CAACE,cAAc,EAAE,OAAO,IAAI,CAACA,cAAc,CAACF,KAAK,CAAC;AAC5D;AAEO,SAASW,OAAOA,CAACC,EAAE,EAAEC,OAAO,EAAE;EACnC,IAAI,IAAI,CAACX,cAAc,EAAE,IAAI,CAACA,cAAc,CAACS,OAAO,CAACC,EAAE,EAAEC,OAAO,CAAC;AACnE;AAEO,SAASV,OAAOA,CAACF,IAAI,EAAE;EAC5B,IAAI,IAAI,CAACC,cAAc,EAAE,OAAO,IAAI,CAACA,cAAc,CAACC,OAAO,CAACF,IAAI,CAAC;AACnE;AAEO,SAASa,IAAIA,CAAA,EAAG;EACrB,IAAI,IAAI,CAACZ,cAAc,EAAE,OAAO,IAAI,CAACA,cAAc,CAACa,MAAM;EAC1D,OAAO,CAAC;AACV;AAEO,SAASC,KAAKA,CAAA,EAAG;EACtB,IAAI,CAACd,cAAc,GAAG,EAAE;AAC1B;AAEO,SAASe,WAAWA,CAAChB,IAAI,EAAE;EAChC,IAAID,KAAK,GAAG,IAAI,CAACG,OAAO,CAACF,IAAI,CAAC;EAC9B,IAAID,KAAK,IAAI,CAAC,CAAC,IAAIA,KAAK,IAAI,CAAC,EAAE;EAE/B,IAAI,CAACE,cAAc,CAACF,KAAK,CAAC,GAAG,IAAI,CAACE,cAAc,CAACF,KAAK,GAAG,CAAC,CAAC;EAC3D,IAAI,CAACE,cAAc,CAACF,KAAK,GAAG,CAAC,CAAC,GAAGC,IAAI;AACvC;AAEO,SAASiB,YAAYA,CAACjB,IAAI,EAAE;EACjC,IAAID,KAAK,GAAG,IAAI,CAACG,OAAO,CAACF,IAAI,CAAC;EAC9B,IAAID,KAAK,IAAI,CAAC,CAAC,IAAIA,KAAK,IAAI,IAAI,CAACc,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;EAE7C,IAAI,CAACZ,cAAc,CAACF,KAAK,CAAC,GAAG,IAAI,CAACE,cAAc,CAACF,KAAK,GAAG,CAAC,CAAC;EAC3D,IAAI,CAACE,cAAc,CAACF,KAAK,GAAG,CAAC,CAAC,GAAGC,IAAI;AACvC;AAEO,SAASkB,UAAUA,CAAClB,IAAI,EAAE;EAC/B,IAAID,KAAK,GAAG,IAAI,CAACG,OAAO,CAACF,IAAI,CAAC;EAC9B,IAAID,KAAK,IAAI,CAAC,CAAC,IAAIA,KAAK,IAAI,CAAC,EAAE;EAE/B,IAAIoB,IAAI,GAAG,IAAI,CAAClB,cAAc,CAACE,MAAM,CAAC,CAAC,EAAEJ,KAAK,CAAC;EAC/C,IAAIqB,IAAI,GAAG,IAAI,CAACnB,cAAc,CAACE,MAAM,CAAC,CAAC,CAAC;EAExC,IAAI,CAACF,cAAc,GAAG,IAAI,CAACA,cAAc,CAACoB,MAAM,CAACF,IAAI,EAAEC,IAAI,CAAC;AAC9D;AAEO,SAASE,UAAUA,CAACtB,IAAI,EAAE;EAC/B,IAAID,KAAK,GAAG,IAAI,CAACG,OAAO,CAACF,IAAI,CAAC;EAC9B,IAAID,KAAK,IAAI,CAAC,CAAC,IAAIA,KAAK,IAAI,IAAI,CAACc,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;EAE7C,IAAIM,IAAI,GAAG,IAAI,CAAClB,cAAc,CAACE,MAAM,CAAC,CAAC,EAAEJ,KAAK,CAAC;EAC/C,IAAIqB,IAAI,GAAG,IAAI,CAACnB,cAAc,CAACE,MAAM,CAAC,CAAC,CAAC;EAExC,IAAI,CAACF,cAAc,GAAGkB,IAAI,CAACE,MAAM,CAACD,IAAI,EAAE,IAAI,CAACnB,cAAc,CAAC;AAC9D","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.warn = exports.error = exports.debug = void 0;
|
|
7
|
+
/*
|
|
8
|
+
* Copyright © HatioLab Inc. All rights reserved.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
var global = typeof window == 'undefined' ? {} : window;
|
|
12
|
+
const ERROR = '[ERROR]';
|
|
13
|
+
const WARN = '[WARN]';
|
|
14
|
+
const DEBUG = '[DEBUG]';
|
|
15
|
+
var error = (...args) => {
|
|
16
|
+
var trace = [];
|
|
17
|
+
args.forEach(arg => arg && arg.stack && trace.push(arg.stack));
|
|
18
|
+
console.error(ERROR, ...args, trace.join(' '));
|
|
19
|
+
};
|
|
20
|
+
exports.error = error;
|
|
21
|
+
var warn = (...args) => {
|
|
22
|
+
var trace = [];
|
|
23
|
+
args.forEach(arg => arg && arg.stack && trace.push(arg.stack));
|
|
24
|
+
console.warn(WARN, ...args, trace.join(' '));
|
|
25
|
+
};
|
|
26
|
+
exports.warn = warn;
|
|
27
|
+
var debug = (...args) => console.log(DEBUG, ...args);
|
|
28
|
+
exports.debug = debug;
|
|
29
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","names":["global","window","ERROR","WARN","DEBUG","error","args","trace","forEach","arg","stack","push","console","join","exports","warn","debug","log"],"sources":["../../src/core/logger.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nvar global = typeof window == 'undefined' ? {} : window\n\nconst ERROR = '[ERROR]'\nconst WARN = '[WARN]'\nconst DEBUG = '[DEBUG]'\n\nexport var error = (...args) => {\n var trace = []\n args.forEach(arg => arg && arg.stack && trace.push(arg.stack))\n console.error(ERROR, ...args, trace.join(' '))\n}\nexport var warn = (...args) => {\n var trace = []\n args.forEach(arg => arg && arg.stack && trace.push(arg.stack))\n console.warn(WARN, ...args, trace.join(' '))\n}\nexport var debug = (...args) => console.log(DEBUG, ...args)\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEA,IAAIA,MAAM,GAAG,OAAOC,MAAM,IAAI,WAAW,GAAG,CAAC,CAAC,GAAGA,MAAM;AAEvD,MAAMC,KAAK,GAAG,SAAS;AACvB,MAAMC,IAAI,GAAG,QAAQ;AACrB,MAAMC,KAAK,GAAG,SAAS;AAEhB,IAAIC,KAAK,GAAGA,CAAC,GAAGC,IAAI,KAAK;EAC9B,IAAIC,KAAK,GAAG,EAAE;EACdD,IAAI,CAACE,OAAO,CAACC,GAAG,IAAIA,GAAG,IAAIA,GAAG,CAACC,KAAK,IAAIH,KAAK,CAACI,IAAI,CAACF,GAAG,CAACC,KAAK,CAAC,CAAC;EAC9DE,OAAO,CAACP,KAAK,CAACH,KAAK,EAAE,GAAGI,IAAI,EAAEC,KAAK,CAACM,IAAI,CAAC,GAAG,CAAC,CAAC;AAChD,CAAC;AAAAC,OAAA,CAAAT,KAAA,GAAAA,KAAA;AACM,IAAIU,IAAI,GAAGA,CAAC,GAAGT,IAAI,KAAK;EAC7B,IAAIC,KAAK,GAAG,EAAE;EACdD,IAAI,CAACE,OAAO,CAACC,GAAG,IAAIA,GAAG,IAAIA,GAAG,CAACC,KAAK,IAAIH,KAAK,CAACI,IAAI,CAACF,GAAG,CAACC,KAAK,CAAC,CAAC;EAC9DE,OAAO,CAACG,IAAI,CAACZ,IAAI,EAAE,GAAGG,IAAI,EAAEC,KAAK,CAACM,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAAAC,OAAA,CAAAC,IAAA,GAAAA,IAAA;AACM,IAAIC,KAAK,GAAGA,CAAC,GAAGV,IAAI,KAAKM,OAAO,CAACK,GAAG,CAACb,KAAK,EAAE,GAAGE,IAAI,CAAC;AAAAQ,OAAA,CAAAE,KAAA,GAAAA,KAAA","ignoreList":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.clear = clear;
|
|
7
|
+
exports.intercept = intercept;
|
|
8
|
+
exports.reset = reset;
|
|
9
|
+
var utils = _interopRequireWildcard(require("./utils.js"));
|
|
10
|
+
var _logger = require("./logger.js");
|
|
11
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
+
/*
|
|
14
|
+
* Copyright © HatioLab Inc. All rights reserved.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 오브젝트의 getter의 첫번째 결과를 보관한 후, 재차 호출될 때는 보관한 결과를 리턴한다.
|
|
19
|
+
*/
|
|
20
|
+
function intercept(base, property, needClone) {
|
|
21
|
+
var old = base.__lookupGetter__(property);
|
|
22
|
+
if (!old) {
|
|
23
|
+
(0, _logger.error)(`${property} is not defined in ${base.constructor.name}`);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
if (needClone) base.__defineGetter__(property, function () {
|
|
27
|
+
if (this.__cache__[property] === undefined) this.__cache__[property] = old.call(this);
|
|
28
|
+
return utils.clone(this.__cache__[property]);
|
|
29
|
+
});else base.__defineGetter__(property, function () {
|
|
30
|
+
if (this.__cache__[property] === undefined) this.__cache__[property] = old.call(this);
|
|
31
|
+
return this.__cache__[property];
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function reset(obj) {
|
|
35
|
+
obj.__cache__ = {};
|
|
36
|
+
}
|
|
37
|
+
function clear(obj, ...attrs) {
|
|
38
|
+
if (attrs.length == 0) obj.__cache__ = {};else attrs.forEach(attr => delete obj.__cache__[attr]);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=memoize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoize.js","names":["utils","_interopRequireWildcard","require","_logger","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","intercept","base","property","needClone","old","__lookupGetter__","error","constructor","name","__defineGetter__","__cache__","undefined","clone","reset","obj","clear","attrs","length","forEach","attr"],"sources":["../../src/core/memoize.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport * as utils from './utils.js'\nimport { error } from './logger.js'\n\n/**\n * 오브젝트의 getter의 첫번째 결과를 보관한 후, 재차 호출될 때는 보관한 결과를 리턴한다.\n */\nexport function intercept(base, property, needClone) {\n var old = base.__lookupGetter__(property)\n\n if (!old) {\n error(`${property} is not defined in ${base.constructor.name}`)\n return\n }\n\n if (needClone)\n base.__defineGetter__(property, function () {\n if (this.__cache__[property] === undefined) this.__cache__[property] = old.call(this)\n\n return utils.clone(this.__cache__[property])\n })\n else\n base.__defineGetter__(property, function () {\n if (this.__cache__[property] === undefined) this.__cache__[property] = old.call(this)\n\n return this.__cache__[property]\n })\n}\n\nexport function reset(obj) {\n obj.__cache__ = {}\n}\n\nexport function clear(obj, ...attrs) {\n if (attrs.length == 0) obj.__cache__ = {}\n else attrs.forEach(attr => delete obj.__cache__[attr])\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = mixin;
|
|
7
|
+
/*
|
|
8
|
+
* Copyright © HatioLab Inc. All rights reserved.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
function mixin(base, mixins) {
|
|
12
|
+
if (mixins instanceof Array) {
|
|
13
|
+
mixins.forEach(mxn => mixin(base, mxn));
|
|
14
|
+
} else {
|
|
15
|
+
base.mixedIn = base.hasOwnProperty('mixedIn') ? base.mixedIn : [];
|
|
16
|
+
base.mixingIn = base.hasOwnProperty('mixingIn') ? base.mixingIn : [];
|
|
17
|
+
if (base.mixedIn.indexOf(mixins) >= 0) return base;
|
|
18
|
+
if (base.mixingIn.indexOf(mixins) >= 0) throw new Error(`found cyclic dependencies between ${base.mixingIn}`);
|
|
19
|
+
base.mixingIn.push(mixins);
|
|
20
|
+
mixins.call(base);
|
|
21
|
+
base.mixingIn.pop();
|
|
22
|
+
base.mixedIn.push(mixins);
|
|
23
|
+
}
|
|
24
|
+
return base;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=mixin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mixin.js","names":["mixin","base","mixins","Array","forEach","mxn","mixedIn","hasOwnProperty","mixingIn","indexOf","Error","push","call","pop"],"sources":["../../src/core/mixin.js"],"sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nexport default function mixin(base, mixins) {\n if (mixins instanceof Array) {\n mixins.forEach(mxn => mixin(base, mxn))\n } else {\n base.mixedIn = base.hasOwnProperty('mixedIn') ? base.mixedIn : []\n base.mixingIn = base.hasOwnProperty('mixingIn') ? base.mixingIn : []\n\n if (base.mixedIn.indexOf(mixins) >= 0) return base\n\n if (base.mixingIn.indexOf(mixins) >= 0) throw new Error(`found cyclic dependencies between ${base.mixingIn}`)\n\n base.mixingIn.push(mixins)\n mixins.call(base)\n base.mixingIn.pop()\n base.mixedIn.push(mixins)\n }\n\n return base\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEe,SAASA,KAAKA,CAACC,IAAI,EAAEC,MAAM,EAAE;EAC1C,IAAIA,MAAM,YAAYC,KAAK,EAAE;IAC3BD,MAAM,CAACE,OAAO,CAACC,GAAG,IAAIL,KAAK,CAACC,IAAI,EAAEI,GAAG,CAAC,CAAC;EACzC,CAAC,MAAM;IACLJ,IAAI,CAACK,OAAO,GAAGL,IAAI,CAACM,cAAc,CAAC,SAAS,CAAC,GAAGN,IAAI,CAACK,OAAO,GAAG,EAAE;IACjEL,IAAI,CAACO,QAAQ,GAAGP,IAAI,CAACM,cAAc,CAAC,UAAU,CAAC,GAAGN,IAAI,CAACO,QAAQ,GAAG,EAAE;IAEpE,IAAIP,IAAI,CAACK,OAAO,CAACG,OAAO,CAACP,MAAM,CAAC,IAAI,CAAC,EAAE,OAAOD,IAAI;IAElD,IAAIA,IAAI,CAACO,QAAQ,CAACC,OAAO,CAACP,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,IAAIQ,KAAK,CAAC,qCAAqCT,IAAI,CAACO,QAAQ,EAAE,CAAC;IAE7GP,IAAI,CAACO,QAAQ,CAACG,IAAI,CAACT,MAAM,CAAC;IAC1BA,MAAM,CAACU,IAAI,CAACX,IAAI,CAAC;IACjBA,IAAI,CAACO,QAAQ,CAACK,GAAG,CAAC,CAAC;IACnBZ,IAAI,CAACK,OAAO,CAACK,IAAI,CAACT,MAAM,CAAC;EAC3B;EAEA,OAAOD,IAAI;AACb","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = buildAccessor;
|
|
7
|
+
var _jsonataEs = _interopRequireDefault(require("jsonata/jsonata-es5.js"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
const SELF = function (o) {
|
|
10
|
+
return o;
|
|
11
|
+
};
|
|
12
|
+
function buildAccessor(accessor) {
|
|
13
|
+
if (!accessor) {
|
|
14
|
+
return SELF;
|
|
15
|
+
}
|
|
16
|
+
try {
|
|
17
|
+
var expression = (0, _jsonataEs.default)(accessor);
|
|
18
|
+
return function (o) {
|
|
19
|
+
return expression.evaluate(o);
|
|
20
|
+
};
|
|
21
|
+
} catch (err) {
|
|
22
|
+
console.error(err);
|
|
23
|
+
return SELF;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=obj-accessor.js.map
|