{"version":3,"sources":["webpack://UENet/webpack/universalModuleDefinition","webpack://UENet/webpack/bootstrap","webpack://UENet/./src/declarations/ajax-data-type.ts","webpack://UENet/./src/index.ts","webpack://UENet/./src/ajax.ts","webpack://UENet/external \"Rx\"","webpack://UENet/external \"UE\""],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__4__","__WEBPACK_EXTERNAL_MODULE__5__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","xml","html","script","json","jsonp","text","_ajaxSettings","url","settings","execute","method","UE","HttpMethod","getSync","executeSync","internal","async","promise","$","ajax","Rx","Observable","fromPromise","ajaxAsObservable","mergeSettings","data","status","String","empty","errorThrown","isSucceeded","jqXHR","success","_data","_textStatus","_jqXHR","error","_errorThrown","complete","Validator","isNull","ArgumentNullOrUndefinedError","isFaulted","ajaxSync","specified","extend","cache","post","elementName","xmlDataType","dataType","AjaxDataType","mergeMap","find","syncResult","elements","toArray"],"mappings":"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","file":"ue-net.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"Rx\"), require(\"UE\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"UENet\", [\"Rx\", \"UE\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"UENet\"] = factory(require(\"Rx\"), require(\"UE\"));\n\telse\n\t\troot[\"UENet\"] = factory(root[\"Rx\"], root[\"UE\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__4__, __WEBPACK_EXTERNAL_MODULE__5__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1);\n","/**\r\n * jQuery Ajax のデータ型の定義を提供します。\r\n */\r\n\r\n//#region 定数\r\n\r\n/** Returns a XML document that can be processed via jQuery. */\r\nexport const xml = \"xml\";\r\n/** Returns HTML as plain text; included script tags are evaluated when inserted in the DOM. */\r\nexport const html = \"html\";\r\n/**\r\n * Evaluates the response as JavaScript and returns it as plain text.\r\n * Disables caching by appending a query string parameter, _=[TIMESTAMP],\r\n * to the URL unless the cache option is set to true.\r\n * Note: This will turn POSTs into GETs for remote-domain requests.\r\n */\r\nexport const script = \"script\";\r\n/**\r\n * Evaluates the response as JSON and returns a JavaScript object.\r\n * Cross-domain \"json\" requests are converted to \"jsonp\" unless the request includes jsonp: false in its request options.\r\n * The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown.\r\n * As of jQuery 1.9, an empty response is also rejected; the server should return a response of null or {} instead.\r\n * (See json.org for more information on proper JSON formatting.)\r\n */\r\nexport const json = \"json\";\r\n/**\r\n * Loads in a JSON block using JSONP. Adds an extra \"?callback=?\" to the end of your URL to specify the callback.\r\n * Disables caching by appending a query string parameter, \"_=[TIMESTAMP]\", to the URL unless the cache option is set to true.\r\n */\r\nexport const jsonp = \"jsonp\";\r\n/** A plain text string. */\r\nexport const text = \"text\";\r\n\r\n //#endregion 定数\r\n","/**\r\n * エントリ ポイントを提供します。\r\n */\r\nimport AjaxSettings from \"./declarations/ajax-settings\";\r\nimport AjaxSyncResult from \"./declarations/ajax-sync-result\";\r\n\r\nexport * as Ajax from \"./ajax\";\r\nexport * as AjaxDataType from \"./declarations/ajax-data-type\";\r\nexport {\r\n AjaxSettings,\r\n AjaxSyncResult,\r\n};\r\n","/**\r\n * Ajax 通信の機能を提供します。\r\n */\r\nimport * as AjaxDataType from \"./declarations/ajax-data-type\";\r\nimport * as Rx from \"rxjs/Rx\";\r\nimport * as UE from \"ue\";\r\n\r\nimport AjaxSettings from \"./declarations/ajax-settings\";\r\nimport AjaxSyncResult from \"./declarations/ajax-sync-result\";\r\n\r\n//#region インターフェイス\r\n\r\n/**\r\n * 内部で使用する設定情報を定義するインターフェイス提供します。\r\n */\r\ninterface InternalSettings {\r\n /** HTTP のメソッドを取得または設定します。 */\r\n method: string;\r\n}\r\n\r\n//#endregion インターフェイス\r\n\r\n//#region 変数\r\n\r\n/** Ajax の設定情報を表します。 */\r\nlet _ajaxSettings: UE.Nullable = null;\r\n\r\n//#endregion 変数\r\n\r\n//#region 関数\r\n\r\n/**\r\n * Ajax 通信で使用する既定値を設定します。\r\n *\r\n * @param settings 設定情報を指定します。\r\n */\r\nexport function setup(settings: AjaxSettings): void {\r\n _ajaxSettings = settings;\r\n}\r\n\r\n/**\r\n * Ajax 通信を実行します。 (HTTP GET メソッド)\r\n *\r\n * @param url URL を指定します。\r\n * @param settings 設定情報を指定します。\r\n * @returns 応答を通知するプロバイダーを返します。\r\n */\r\nexport function get(url: string, settings?: AjaxSettings): Rx.Observable {\r\n const internal: InternalSettings = {\r\n method: UE.HttpMethod.get,\r\n };\r\n const result = execute(url, settings, internal);\r\n return result;\r\n}\r\n\r\n/**\r\n * Ajax 通信を同期的に実行します。 (HTTP GET メソッド)\r\n *\r\n * @param url URL を指定します。\r\n * @param settings 設定情報を指定します。\r\n * @returns 実行結果を返します。\r\n */\r\nexport function getSync(url: string, settings?: AjaxSettings): AjaxSyncResult> {\r\n const internal: InternalSettings = {\r\n method: UE.HttpMethod.get,\r\n };\r\n const result = executeSync(url, settings, internal);\r\n return result;\r\n}\r\n\r\n/**\r\n * Ajax 通信を実行します。 (HTTP POST メソッド)\r\n *\r\n * @param url URL を指定します。\r\n * @param settings 設定情報を指定します。\r\n * @returns 応答を通知するプロバイダーを返します。\r\n */\r\nexport function post(url: string, settings?: AjaxSettings): Rx.Observable {\r\n const internal: InternalSettings = {\r\n method: UE.HttpMethod.post,\r\n };\r\n const result = execute(url, settings, internal);\r\n return result;\r\n}\r\n\r\n/**\r\n * Ajax 通信を同期的に実行します。 (HTTP POST メソッド)\r\n *\r\n * @param url URL を指定します。\r\n * @param settings 設定情報を指定します。\r\n * @returns 実行結果を返します。\r\n */\r\nexport function postSync(url: string, settings?: AjaxSettings): AjaxSyncResult> {\r\n const internal: InternalSettings = {\r\n method: UE.HttpMethod.post,\r\n };\r\n const result = executeSync(url, settings, internal);\r\n return result;\r\n}\r\n\r\n/**\r\n * Ajax 通信を行い、XML の情報を取得します。\r\n *\r\n * @param url URL を指定します。\r\n * @param elementName 要素の名称を指定します。\r\n * @param settings 設定情報を指定します。\r\n * @returns 応答を通知するプロバイダーを返します。\r\n */\r\nexport function getXml(url: string, elementName: string, settings?: AjaxSettings): Rx.Observable {\r\n const xmlDataType: AjaxSettings = {\r\n dataType: AjaxDataType.xml,\r\n };\r\n const result = get(url, $.extend(settings, xmlDataType))\r\n .mergeMap(xml => $(xml as Element).find(elementName));\r\n return result;\r\n}\r\n\r\n/**\r\n * Ajax 通信を同期的に行い、XML の情報を取得します。\r\n *\r\n * @param url URL を指定します。\r\n * @param elementName 要素の名称を指定します。\r\n * @returns 対象の情報を返します。\r\n */\r\nexport function getXmlSync(url: string, elementName: string, settings?: AjaxSettings): AjaxSyncResult {\r\n const xmlDataType: AjaxSettings = {\r\n dataType: AjaxDataType.xml,\r\n };\r\n const syncResult = getSync(url, $.extend(settings, xmlDataType));\r\n const elements = UE.Validator.isNull(syncResult.data)\r\n ? [] as readonly Element[]\r\n : $(syncResult.data).find(elementName).toArray();\r\n const result = $.extend(syncResult, { data: elements });\r\n return result;\r\n}\r\n\r\n/**\r\n * Ajax 通信を実行します。\r\n *\r\n * @param url URL を指定します。\r\n * @param settings 設定情報を指定します。\r\n * @param internal 内部で使用する設定情報を指定します。\r\n * @returns 応答を通知するプロバイダーを返します。\r\n */\r\nfunction execute(url: string, settings: UE.Nullable, internal: InternalSettings): Rx.Observable {\r\n const merged: JQueryAjaxSettings = mergeSettings(url, settings, internal);\r\n const result = ajaxAsObservable(merged);\r\n return result;\r\n}\r\n\r\n/**\r\n * Ajax 通信を同期的に実行します。\r\n *\r\n * @param url URL を指定します。\r\n * @param settings 設定情報を指定します。\r\n * @param internal 内部で使用する設定情報を指定します。\r\n * @returns 実行結果を返します。\r\n */\r\nfunction executeSync(url: string, settings: UE.Nullable, internal: InternalSettings): AjaxSyncResult> {\r\n const merged: JQueryAjaxSettings = mergeSettings(url, settings, internal);\r\n const result = ajaxSync(merged);\r\n return result;\r\n}\r\n\r\n/**\r\n * RxJS を使用した Ajax 通信を実行します。\r\n *\r\n * @param settings 設定情報を指定します。\r\n * @returns 応答情報を通知するプロバイダーを返します。\r\n */\r\nfunction ajaxAsObservable(settings: JQueryAjaxSettings): Rx.Observable {\r\n settings.async = true;\r\n const xhr = $.ajax(settings);\r\n const promise = xhr.promise();\r\n const result = Rx.Observable.fromPromise(promise);\r\n return result;\r\n}\r\n\r\n/**\r\n * Ajax 通信を同期的に実行します。\r\n *\r\n * @param settings 設定情報を指定します。\r\n * @returns 実行結果を返します。\r\n * @throws {ArgumentNullOrUndefinedError} `Ajax` 通信実行後に `JQueryXHR` が `null` (未定義) の場合に発生します。\r\n */\r\nfunction ajaxSync(settings: JQueryAjaxSettings): AjaxSyncResult> {\r\n let data: UE.Nullable = null;\r\n let status = UE.String.empty;\r\n let errorThrown = UE.String.empty;\r\n let isSucceeded = false;\r\n let jqXHR: UE.Nullable = null;\r\n settings.success = (_data: UE.Nullable, _textStatus: string, _jqXHR: JQueryXHR) => {\r\n data = _data;\r\n isSucceeded = true;\r\n };\r\n settings.error = (_jqXHR: JQueryXHR, _textStatus: string, _errorThrown: string) => {\r\n errorThrown = _errorThrown;\r\n isSucceeded = false;\r\n };\r\n settings.complete = (_jqXHR: JQueryXHR, _textStatus: string) => {\r\n jqXHR = _jqXHR;\r\n status = _textStatus;\r\n };\r\n settings.async = false;\r\n $.ajax(settings);\r\n if (UE.Validator.isNull(jqXHR)) {\r\n throw new UE.ArgumentNullOrUndefinedError(\"settings\", \"`JQueryXHR` object is invalid.\");\r\n }\r\n return {\r\n data,\r\n status,\r\n errorThrown,\r\n isSucceeded,\r\n isFaulted: !isSucceeded,\r\n jqXHR,\r\n };\r\n}\r\n\r\n/**\r\n * Ajax 通信に必要な設定情報をマージします。\r\n *\r\n * @param url URL を指定します。\r\n * @param settings 設定情報を指定します。\r\n * @param internal 内部で使用する設定情報を指定します。\r\n * @returns 処理結果を返します。\r\n */\r\nfunction mergeSettings(url: string, settings: UE.Nullable, internal: InternalSettings): JQueryAjaxSettings {\r\n const specified = $.extend({ cache: false }, _ajaxSettings, settings);\r\n const result: JQueryAjaxSettings = $.extend({ url }, internal, specified);\r\n return result;\r\n}\r\n\r\n//#endregion 関数\r\n","module.exports = __WEBPACK_EXTERNAL_MODULE__4__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5__;"],"sourceRoot":""}