1 /**
  2  * The MIT License (MIT)
  3  *
  4  * Copyright (c) 2016 DeNA Co., Ltd.
  5  *
  6  * Permission is hereby granted, free of charge, to any person obtaining a copy
  7  * of this software and associated documentation files (the "Software"), to deal
  8  * in the Software without restriction, including without limitation the rights
  9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 10  * copies of the Software, and to permit persons to whom the Software is
 11  * furnished to do so, subject to the following conditions:
 12  *
 13  * The above copyright notice and this permission notice shall be included in
 14  * all copies or substantial portions of the Software.
 15  *
 16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 22  * SOFTWARE.
 23  */
 24 
 25 /// <reference path="base.js"/>
 26 /// <reference path="object.js"/>
 27 
 28 /**
 29  * A class that creates HTMLScriptElement objects.
 30  * @constructor
 31  */
 32 createjs.ScriptFactory = function() {
 33 };
 34 
 35 /**
 36  * The instance of the createjs.ScriptFactory object.
 37  * @type {createjs.ScriptFactory}
 38  * @private
 39  */
 40 createjs.ScriptFactory.instance_ = null;
 41 
 42 /**
 43  * Returns the global instance of the createjs.ScriptFactory object.
 44  * @return {createjs.ScriptFactory}
 45  * @private
 46  */
 47 createjs.ScriptFactory.getInstance_ = function() {
 48   /// <returns type="createjs.ScriptFactory"/>
 49   if (!createjs.ScriptFactory.instance_) {
 50     createjs.ScriptFactory.instance_ = new createjs.ScriptFactory();
 51   }
 52   return createjs.ScriptFactory.instance_;
 53 };
 54 
 55 /**
 56  * Retrieves whether this factory already has spooled an HTMLScriptElement
 57  * object for the specified path.
 58  * @param {string} path
 59  * @return {HTMLScriptElement}
 60  * @const
 61  */
 62 createjs.ScriptFactory.exist = function(path) {
 63   /// <param type="string" name="path"/>
 64   /// <returns type="HTMLScriptElement"/>
 65   return null;
 66 };
 67 
 68 /**
 69  * Retrieves an HTMLImageElement object spooled by the createjs.ScriptFactory
 70  * object.
 71  * @param {string} path
 72  * @param {string} text
 73  * @return {HTMLScriptElement}
 74  * @const
 75  */
 76 createjs.ScriptFactory.get = function(path, text) {
 77   /// <param type="string" name="path"/>
 78   /// <param type="string" name="text"/>
 79   /// <returns type="HTMLScriptElement"/>
 80   var script =
 81       /** @type {HTMLScriptElement} */ (document.createElement('script'));
 82   script.type = 'text/javascript';
 83   script.text = text;
 84   if (createjs.SUPPORT_AMD) {
 85     script.async = true;
 86   }
 87   return script;
 88 };
 89 
 90 /**
 91  * Deletes all scripts spooled by the createjs.ScriptFactory object.
 92  * @param {boolean=} opt_destroy
 93  * @const
 94  */
 95 createjs.ScriptFactory.reset = function(opt_destroy) {
 96   /// <param type="boolean" optional="true" name="opt_destroy"/>
 97 };
 98