UNPKG

@zoranwong/acc-engine.js

Version:

A javascript framework to accelerate your applicatin developement

275 lines (210 loc) 10.2 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck")); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _get3 = _interopRequireDefault(require("@babel/runtime/helpers/get")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _classPrivateFieldLooseBase2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseBase")); var _classPrivateFieldLooseKey2 = _interopRequireDefault(require("@babel/runtime/helpers/classPrivateFieldLooseKey")); var _Adapter2 = _interopRequireDefault(require("./Adapter")); var _Response = _interopRequireDefault(require("./Response")); var _underscore = require("underscore"); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } var _xmlHttpRequest = (0, _classPrivateFieldLooseKey2["default"])("xmlHttpRequest"); var XMLHttpAdapter = /*#__PURE__*/function (_Adapter) { (0, _inherits2["default"])(XMLHttpAdapter, _Adapter); var _super = _createSuper(XMLHttpAdapter); function XMLHttpAdapter(app) { var _this; (0, _classCallCheck2["default"])(this, XMLHttpAdapter); _this = _super.call(this, app); Object.defineProperty((0, _assertThisInitialized2["default"])(_this), _xmlHttpRequest, { value: _xmlHttpRequest2 }); return _this; } (0, _createClass2["default"])(XMLHttpAdapter, [{ key: "get", value: function () { var _get2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(url) { var queries, _args = arguments; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: queries = _args.length > 1 && _args[1] !== undefined ? _args[1] : {}; _context.next = 3; return (0, _get3["default"])((0, _getPrototypeOf2["default"])(XMLHttpAdapter.prototype), "get", this).call(this, url, queries); case 3: _context.next = 5; return (0, _classPrivateFieldLooseBase2["default"])(this, _xmlHttpRequest)[_xmlHttpRequest](); case 5: return _context.abrupt("return", _context.sent); case 6: case "end": return _context.stop(); } } }, _callee, this); })); function get(_x) { return _get2.apply(this, arguments); } return get; }() }, { key: "post", value: function () { var _post = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(url) { var data, _args2 = arguments; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: data = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {}; _context2.next = 3; return (0, _get3["default"])((0, _getPrototypeOf2["default"])(XMLHttpAdapter.prototype), "post", this).call(this, url, data); case 3: _context2.next = 5; return (0, _classPrivateFieldLooseBase2["default"])(this, _xmlHttpRequest)[_xmlHttpRequest](); case 5: return _context2.abrupt("return", _context2.sent); case 6: case "end": return _context2.stop(); } } }, _callee2, this); })); function post(_x2) { return _post.apply(this, arguments); } return post; }() }, { key: "put", value: function () { var _put = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(url) { var data, _args3 = arguments; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: data = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : {}; _context3.next = 3; return (0, _get3["default"])((0, _getPrototypeOf2["default"])(XMLHttpAdapter.prototype), "put", this).call(this, url, data); case 3: _context3.next = 5; return (0, _classPrivateFieldLooseBase2["default"])(this, _xmlHttpRequest)[_xmlHttpRequest](); case 5: return _context3.abrupt("return", _context3.sent); case 6: case "end": return _context3.stop(); } } }, _callee3, this); })); function put(_x3) { return _put.apply(this, arguments); } return put; }() }, { key: "del", value: function () { var _del = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(url) { var data, _args4 = arguments; return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: data = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : {}; _context4.next = 3; return (0, _get3["default"])((0, _getPrototypeOf2["default"])(XMLHttpAdapter.prototype), "del", this).call(this, url, data); case 3: _context4.next = 5; return (0, _classPrivateFieldLooseBase2["default"])(this, _xmlHttpRequest)[_xmlHttpRequest](); case 5: return _context4.abrupt("return", _context4.sent); case 6: case "end": return _context4.stop(); } } }, _callee4, this); })); function del(_x4) { return _del.apply(this, arguments); } return del; }() }]); return XMLHttpAdapter; }(_Adapter2["default"]); exports["default"] = XMLHttpAdapter; var _xmlHttpRequest2 = function _xmlHttpRequest2() { var _this2 = this; return new Promise(function (resolve, reject) { var _this4 = this; (0, _newArrowCheck2["default"])(this, _this2); try { var _request = new XMLHttpRequest(); // console.log(this.method, this.url); _request.open(this.method, this.url, true); for (var key in this.headers) { _request.setRequestHeader(key, this.headers[key]); } if (!this.headers['Content-Type']) _request.setRequestHeader('Content-Type', 'application/json;charset=UTF-8'); _request.onreadystatechange = function (event) { var _this3 = this; if (_request.readyState === XMLHttpRequest.DONE) { var status = _request.status; var headerStr = _request.getAllResponseHeaders(); var headers = headerStr.split('\n'); headers = headers.map(function (header, index) { (0, _newArrowCheck2["default"])(this, _this3); var _header$split = header.split(':'), _header$split2 = (0, _slicedToArray2["default"])(_header$split, 2), key = _header$split2[0], value = _header$split2[1]; if (typeof key === 'undefined' || typeof value === 'undefined') { return; } header = {}; header[key.trim()] = value.replace(/[\n\r\t]/, '').trim(); return header; }.bind(this)); if (status >= 200 && status < 400) { return resolve(new _Response["default"](true, status, _request.responseText, headers)); } else { // Oh no! There has been an error with the request! return resolve(new _Response["default"](false, status, _request.responseText, headers)); } } }; _request.onerror = function (errnoError) { (0, _newArrowCheck2["default"])(this, _this4); resolve(new _Response["default"](false, _request.status, _request.responseText)); }.bind(this); _request.send((0, _underscore.isString)(this.data) || this.data instanceof FormData ? this.data : JSON.stringify(this.data)); } catch (e) { resolve(new _Response["default"](false, request.status, request.responseText)); } }.bind(this)); };