diff --git a/endpoints/restful/dist/index.js b/endpoints/restful/dist/index.js index ce22f2d1..fb678063 100644 --- a/endpoints/restful/dist/index.js +++ b/endpoints/restful/dist/index.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("type-r")):"function"==typeof define&&define.amd?define(["exports","type-r"],e):e((t=t||self).restfulIO={},t.Nested)}(this,function(t,i){"use strict";var n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var c=function(){return(c=Object.assign||function(t){for(var e,r=1,n=arguments.length;ru[0]&&e[1]u[0]&&e[1]= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { IOEndpoint, IOPromise, createIOPromise } from 'type-r'\n\nexport type Index = ( number | string )[];\n\nexport function create( init = [], delay = 50 ){\n return new MemoryEndpoint( init, delay );\n}\n\nexport { create as memoryIO };\n\nexport class MemoryEndpoint implements IOEndpoint {\n resolve( value ){\n return createIOPromise( ( resolve, reject ) => {\n setTimeout( () => resolve( value ), this.delay );\n });\n }\n \n reject( value ){\n return createIOPromise( ( resolve, reject ) => {\n setTimeout( () => reject( value ), this.delay );\n });\n }\n\n constructor( init : object[], public delay : number ){\n for( let obj of init ){\n this.create( obj, {} );\n }\n }\n\n index : Index = [ 0 ];\n items = {};\n\n generateId( a_id ){\n // Update index counter...\n const id = Number( a_id );\n if( !isNaN( id ) ){\n this.index[ 0 ] = Math.max( this.index[ 0 ] as number, id );\n }\n\n // Return id...\n return a_id || String( ( this.index[ 0 ] as number ) ++ );\n }\n\n create( json, options ) {\n const id = json.id = this.generateId( json.id );\n this.index.push( id );\n this.items[ id ] = json;\n return this.resolve({ id });\n }\n\n update( id, json, options ) {\n this.items[ id ] = json;\n return this.resolve( {} );\n }\n\n read( id, options ){\n const existing = this.items[ id ];\n return existing ?\n this.resolve( existing ) : \n this.reject( \"Not found\" );\n }\n\n destroy( id, options ){\n const existing = this.items[ id ];\n if( existing ){\n delete this.items[ id ];\n this.index = this.index.filter( x => x !== id );\n return this.resolve( {} );\n }\n else{\n return this.reject( \"Not found\" );\n }\n }\n\n list( options? : object ) {\n return this.resolve( this.index.slice( 1 ).map( id => this.items[ id ]) );\n }\n\n subscribe( events ) : any {}\n unsubscribe( events) : any {}\n}","import { IOEndpoint, IOOptions, log, isProduction } from 'type-r'\nimport { memoryIO, MemoryEndpoint } from '../../memory'\n\nexport function create( url : string, fetchOptions? : Partial ){\n return new RestfulEndpoint( url, fetchOptions );\n}\n\nexport { create as restfulIO }\n\nexport type HttpMethod = 'GET' | 'POST' | 'UPDATE' | 'DELETE' | 'PUT'\n\nexport interface RestfulIOOptions extends IOOptions {\n params? : object,\n options? : RequestInit\n}\n\nexport type RestfulFetchOptions = /* subset of RequestInit */{\n cache?: RequestCache;\n credentials?: RequestCredentials;\n mode?: RequestMode;\n redirect?: RequestRedirect;\n referrerPolicy?: ReferrerPolicy;\n mockData? : any\n simulateDelay? : number \n}\n\nexport class RestfulEndpoint implements IOEndpoint {\n constructor( public url : string, { mockData, simulateDelay = 1000, ...fetchOptions } : RestfulFetchOptions = {}) {\n this.fetchOptions = fetchOptions\n this.memoryIO = mockData ? memoryIO( mockData, simulateDelay ) : null;\n }\n\n fetchOptions : RestfulFetchOptions\n memoryIO : MemoryEndpoint\n\n public static defaultFetchOptions : RestfulFetchOptions = {\n cache: \"no-cache\",\n credentials: \"same-origin\",\n mode: \"cors\",\n redirect: \"error\",\n }\n\n create( json, options : RestfulIOOptions, record ) {\n const url = this.collectionUrl( record, options );\n return this.memoryIO ?\n this.simulateIO( 'create', 'POST', url, arguments ) :\n this.request( 'POST', url, options, json );\n }\n\n update( id, json, options : RestfulIOOptions, record ) {\n const url = this.objectUrl( record, id, options )\n return this.memoryIO ?\n this.simulateIO( 'update', 'PUT', url, arguments ) :\n this.request( 'PUT', url, options, json );\n }\n\n read( id, options : IOOptions, record ){\n const url = this.objectUrl( record, id, options );\n return this.memoryIO ?\n this.simulateIO( 'read', 'GET', url, arguments ) :\n this.request( 'GET', url, options );\n }\n\n destroy( id, options : RestfulIOOptions, record ){\n const url = this.objectUrl( record, id, options );\n return this.memoryIO ?\n this.simulateIO( 'destroy', 'DELETE', url, arguments ) :\n this.request( 'DELETE', url, options );\n }\n\n list( options : RestfulIOOptions, collection ) {\n const url = this.collectionUrl( collection, options );\n return this.memoryIO ?\n this.simulateIO( 'list', 'GET', url, arguments ) :\n this.request( 'GET', url , options );\n }\n\n subscribe( events ) : any {}\n unsubscribe( events ) : any {}\n\n async simulateIO( method : string, httpMethod : string, url : string, args ){\n log( isProduction ? \"error\" : \"info\", 'Type-R:SimulatedIO', `${httpMethod} ${url}`);\n return this.memoryIO[ method ].apply( this.memoryIO, args );\n }\n\n protected isRelativeUrl( url ) {\n return url.indexOf( './' ) === 0;\n }\n\n protected removeTrailingSlash( url : string ) {\n const endsWithSlash = url.charAt( url.length - 1 ) === '/';\n return endsWithSlash ? url.substr( 0, url.length - 1 ) : url;\n }\n\n protected getRootUrl( recordOrCollection ) {\n const { url } = this\n if( this.isRelativeUrl( url ) ) {\n const owner = recordOrCollection.getOwner(),\n ownerUrl = owner.getEndpoint().getUrl( owner );\n\n return this.removeTrailingSlash( ownerUrl ) + '/' + url.substr( 2 )\n } else {\n return url;\n }\n }\n\n protected getUrl( record ) {\n const url = this.getRootUrl( record );\n return record.isNew()\n ? url\n : this.removeTrailingSlash( url ) + '/' + record.id\n }\n\n protected objectUrl( record, id, options ){\n return appendParams( this.getUrl( record ), options.params );\n }\n\n protected collectionUrl( collection, options ){\n return appendParams( this.getRootUrl( collection ), options.params );\n }\n\n protected buildRequestOptions( method : string, options? : RequestInit, body? ) : RequestInit {\n const mergedOptions : RequestInit = {\n ...RestfulEndpoint.defaultFetchOptions,\n ...this.fetchOptions,\n ...options\n };\n\n const {headers, ...rest} = mergedOptions,\n resultOptions : RequestInit = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...headers\n },\n ...rest\n };\n\n if( body ) {\n resultOptions.body = JSON.stringify( body );\n }\n return resultOptions;\n }\n\n protected request( method : HttpMethod, url : string, {options} : RestfulIOOptions, body? ) : Promise {\n \n return fetch( url, this.buildRequestOptions( method, options, body ) )\n .then( response => {\n if( response.ok ) {\n return response.json()\n } else {\n throw new Error( response.statusText )\n }\n } );\n }\n}\n\nfunction appendParams( url, params? ) {\n var esc = encodeURIComponent;\n return params\n ? url + '?' + Object.keys( params )\n .map( k => esc( k ) + '=' + esc( params[ k ] ) )\n .join( '&' )\n : url;\n}\n\n\nfunction simulateIO(){\n log( \"info\", 'SimulatedIO', `GET ${this.url}`);\n\n}","import { Model, define, log, isProduction } from 'type-r';\nimport { RestfulFetchOptions, RestfulEndpoint, RestfulIOOptions, HttpMethod } from './restful';\n\nexport type ConstructUrl = ( params : { [ key : string ] : any }, model? : Model ) => string;\n\n/**\n * Implement custom model.fetch() according to the given rules.\n * All other I/O methods are not supported, this is read-only model.\n * \n * @param method HTTP Method to use\n * @param url template function to generate the URL\n * @param options options coming from `model.fetch( options )`\n */\nexport function fetchModelIO( method : HttpMethod, url : ConstructUrl, options? : RestfulFetchOptions ){\n return new ModelFetchEndpoint( method, url, options );\n}\n\nfunction notSupported( method ){\n throw new ReferenceError( `Method ${method} is not supported. modelFetchIO supports only model.fetch().` );\n} \n\n@define class ModelFetchEndpoint extends RestfulEndpoint {\n constructor(\n public method : HttpMethod,\n public constructUrl : ConstructUrl,\n { mockData, ...options } : RestfulFetchOptions = {}\n ){\n super( '', mockData ? { mockData : [ mockData ], ...options } : options );\n }\n\n async list(){ notSupported( 'collection.fetch()') }\n async destroy(){ notSupported( 'model.destroy()') }\n async create(){ notSupported( 'model.save()') }\n async update(){ notSupported( 'model.save()') }\n\n async read( id, options : RestfulIOOptions, model : Model ){\n this.url = this.constructUrl( options.params, model );\n\n if( this.memoryIO ){\n log( isProduction ? \"error\" : \"info\", 'Type-R:SimulatedIO', `GET ${this.url}`);\n return ( await this.memoryIO.list( options ) )[ 0 ];\n }\n else{\n return this.request( this.method, this.getRootUrl( model ), options ); \n }\n }\n}"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__assign","assign","t","s","i","n","arguments","length","prototype","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","init","delay","init_1","_i","obj","create","MemoryEndpoint","createIOPromise","setTimeout","_this","a_id","id","Number","isNaN","index","Math","max","String","json","options","generateId","items","existing","filter","x","slice","map","events","url","fetchOptions","RestfulEndpoint","_a","mockData","_b","simulateDelay","memoryIO","record","collectionUrl","simulateIO","request","objectUrl","collection","method","httpMethod","args","log","isProduction","charAt","substr","recordOrCollection","isRelativeUrl","owner","getOwner","ownerUrl","getEndpoint","getUrl","removeTrailingSlash","getRootUrl","isNew","appendParams","params","mergedOptions","defaultFetchOptions","headers","rest","resultOptions","Content-Type","JSON","stringify","fetch","buildRequestOptions","response","ok","Error","statusText","cache","credentials","mode","redirect","esc","encodeURIComponent","keys","k","join","notSupported","ReferenceError","constructUrl","_super","__","constructor","tslib_1.__extends","ModelFetchEndpoint","model","list","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","define"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../memory/src/index.ts","../src/restful.ts","../src/fetchModel.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { IOEndpoint, IOPromise, createIOPromise } from 'type-r'\n\nexport type Index = ( number | string )[];\n\nexport function create( init = [], delay = 50 ){\n return new MemoryEndpoint( init, delay );\n}\n\nexport { create as memoryIO };\n\nexport class MemoryEndpoint implements IOEndpoint {\n resolve( value ){\n return createIOPromise( ( resolve, reject ) => {\n setTimeout( () => resolve( value ), this.delay );\n });\n }\n \n reject( value ){\n return createIOPromise( ( resolve, reject ) => {\n setTimeout( () => reject( value ), this.delay );\n });\n }\n\n constructor( init : object[], public delay : number ){\n for( let obj of init ){\n this.create( obj, {} );\n }\n }\n\n index : Index = [ 0 ];\n items = {};\n\n generateId( a_id ){\n // Update index counter...\n const id = Number( a_id );\n if( !isNaN( id ) ){\n this.index[ 0 ] = Math.max( this.index[ 0 ] as number, id );\n }\n\n // Return id...\n return a_id || String( ( this.index[ 0 ] as number ) ++ );\n }\n\n create( json, options ) {\n const id = json.id = this.generateId( json.id );\n this.index.push( id );\n this.items[ id ] = json;\n return this.resolve({ id });\n }\n\n update( id, json, options ) {\n this.items[ id ] = json;\n return this.resolve( {} );\n }\n\n read( id, options ){\n const existing = this.items[ id ];\n return existing ?\n this.resolve( existing ) : \n this.reject( \"Not found\" );\n }\n\n destroy( id, options ){\n const existing = this.items[ id ];\n if( existing ){\n delete this.items[ id ];\n this.index = this.index.filter( x => x !== id );\n return this.resolve( {} );\n }\n else{\n return this.reject( \"Not found\" );\n }\n }\n\n list( options? : object ) {\n return this.resolve( this.index.slice( 1 ).map( id => this.items[ id ]) );\n }\n\n subscribe( events ) : any {}\n unsubscribe( events) : any {}\n}","import { IOEndpoint, IOOptions, log, isProduction } from 'type-r'\nimport { memoryIO, MemoryEndpoint } from '../../memory'\n\nexport function create( url : string, fetchOptions? : Partial ){\n return new RestfulEndpoint( url, fetchOptions );\n}\n\nexport { create as restfulIO }\n\nexport type HttpMethod = 'GET' | 'POST' | 'UPDATE' | 'DELETE' | 'PUT'\n\nexport interface RestfulIOOptions extends IOOptions {\n params? : object,\n options? : RequestInit\n}\n\nexport type RestfulFetchOptions = /* subset of RequestInit */{\n cache?: RequestCache;\n credentials?: RequestCredentials;\n mode?: RequestMode;\n redirect?: RequestRedirect;\n referrerPolicy?: ReferrerPolicy;\n mockData? : any\n simulateDelay? : number \n}\n\nexport class RestfulEndpoint implements IOEndpoint {\n constructor( public url : string, { mockData, simulateDelay = 1000, ...fetchOptions } : RestfulFetchOptions = {}) {\n this.fetchOptions = fetchOptions\n this.memoryIO = mockData ? memoryIO( mockData, simulateDelay ) : null;\n }\n\n fetchOptions : RestfulFetchOptions\n memoryIO : MemoryEndpoint\n\n public static defaultFetchOptions : RestfulFetchOptions = {\n cache: \"no-cache\",\n credentials: \"same-origin\",\n mode: \"cors\",\n redirect: \"error\",\n }\n\n create( json, options : RestfulIOOptions, record ) {\n const url = this.collectionUrl( record, options );\n return this.memoryIO ?\n this.simulateIO( 'create', 'POST', url, arguments ) :\n this.request( 'POST', url, options, json );\n }\n\n update( id, json, options : RestfulIOOptions, record ) {\n const url = this.objectUrl( record, id, options )\n return this.memoryIO ?\n this.simulateIO( 'update', 'PUT', url, arguments ) :\n this.request( 'PUT', url, options, json );\n }\n\n read( id, options : IOOptions, record ){\n const url = this.objectUrl( record, id, options );\n return this.memoryIO ?\n this.simulateIO( 'read', 'GET', url, arguments ) :\n this.request( 'GET', url, options );\n }\n\n destroy( id, options : RestfulIOOptions, record ){\n const url = this.objectUrl( record, id, options );\n return this.memoryIO ?\n this.simulateIO( 'destroy', 'DELETE', url, arguments ) :\n this.request( 'DELETE', url, options );\n }\n\n list( options : RestfulIOOptions, collection ) {\n const url = this.collectionUrl( collection, options );\n return this.memoryIO ?\n this.simulateIO( 'list', 'GET', url, arguments ) :\n this.request( 'GET', url , options );\n }\n\n subscribe( events ) : any {}\n unsubscribe( events ) : any {}\n\n async simulateIO( method : string, httpMethod : string, url : string, args ){\n log( isProduction ? \"error\" : \"info\", 'Type-R:SimulatedIO', `${httpMethod} ${url}`);\n return this.memoryIO[ method ].apply( this.memoryIO, args );\n }\n\n protected isRelativeUrl( url ) {\n return url.indexOf( './' ) === 0;\n }\n\n protected removeTrailingSlash( url : string ) {\n const endsWithSlash = url.charAt( url.length - 1 ) === '/';\n return endsWithSlash ? url.substr( 0, url.length - 1 ) : url;\n }\n\n protected getRootUrl( recordOrCollection ) {\n const { url } = this\n if( this.isRelativeUrl( url ) ) {\n const owner = recordOrCollection.getOwner(),\n ownerUrl = owner.getEndpoint().getUrl( owner );\n\n return this.removeTrailingSlash( ownerUrl ) + '/' + url.substr( 2 )\n } else {\n return url;\n }\n }\n\n protected getUrl( record ) {\n const url = this.getRootUrl( record );\n return record.isNew()\n ? url\n : this.removeTrailingSlash( url ) + '/' + record.id\n }\n\n protected objectUrl( record, id, options ){\n return appendParams( this.getUrl( record ), options.params );\n }\n\n protected collectionUrl( collection, options ){\n return appendParams( this.getRootUrl( collection ), options.params );\n }\n\n protected buildRequestOptions( method : string, options? : RequestInit, body? ) : RequestInit {\n const mergedOptions : RequestInit = {\n ...RestfulEndpoint.defaultFetchOptions,\n ...this.fetchOptions,\n ...options\n };\n\n const {headers, ...rest} = mergedOptions,\n resultOptions : RequestInit = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...headers\n },\n ...rest\n };\n\n if( body ) {\n resultOptions.body = JSON.stringify( body );\n }\n return resultOptions;\n }\n\n protected request( method : HttpMethod, url : string, {options} : RestfulIOOptions, body? ) : Promise {\n \n return fetch( url, this.buildRequestOptions( method, options, body ) )\n .then( response => {\n if( response.ok ) {\n return response.json()\n } else {\n return response.json().then((data) => {\n throw new Error(data.message);\n })\n }\n } );\n }\n}\n\nfunction appendParams( url, params? ) {\n var esc = encodeURIComponent;\n return params\n ? url + '?' + Object.keys( params )\n .map( k => esc( k ) + '=' + esc( params[ k ] ) )\n .join( '&' )\n : url;\n}\n\n\nfunction simulateIO(){\n log( \"info\", 'SimulatedIO', `GET ${this.url}`);\n\n}","import { Model, define, log, isProduction } from 'type-r';\nimport { RestfulFetchOptions, RestfulEndpoint, RestfulIOOptions, HttpMethod } from './restful';\n\nexport type ConstructUrl = ( params : { [ key : string ] : any }, model? : Model ) => string;\n\n/**\n * Implement custom model.fetch() according to the given rules.\n * All other I/O methods are not supported, this is read-only model.\n * \n * @param method HTTP Method to use\n * @param url template function to generate the URL\n * @param options options coming from `model.fetch( options )`\n */\nexport function fetchModelIO( method : HttpMethod, url : ConstructUrl, options? : RestfulFetchOptions ){\n return new ModelFetchEndpoint( method, url, options );\n}\n\nfunction notSupported( method ){\n throw new ReferenceError( `Method ${method} is not supported. modelFetchIO supports only model.fetch().` );\n} \n\n@define class ModelFetchEndpoint extends RestfulEndpoint {\n constructor(\n public method : HttpMethod,\n public constructUrl : ConstructUrl,\n { mockData, ...options } : RestfulFetchOptions = {}\n ){\n super( '', mockData ? { mockData : [ mockData ], ...options } : options );\n }\n\n async list(){ notSupported( 'collection.fetch()') }\n async destroy(){ notSupported( 'model.destroy()') }\n async create(){ notSupported( 'model.save()') }\n async update(){ notSupported( 'model.save()') }\n\n async read( id, options : RestfulIOOptions, model : Model ){\n this.url = this.constructUrl( options.params, model );\n\n if( this.memoryIO ){\n log( isProduction ? \"error\" : \"info\", 'Type-R:SimulatedIO', `GET ${this.url}`);\n return ( await this.memoryIO.list( options ) )[ 0 ];\n }\n else{\n return this.request( this.method, this.getRootUrl( model ), options ); \n }\n }\n}"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__assign","assign","t","s","i","n","arguments","length","prototype","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","init","delay","init_1","_i","obj","create","MemoryEndpoint","createIOPromise","setTimeout","_this","a_id","id","Number","isNaN","index","Math","max","String","json","options","generateId","items","existing","filter","x","slice","map","events","url","fetchOptions","RestfulEndpoint","_a","mockData","_b","simulateDelay","memoryIO","record","collectionUrl","simulateIO","request","objectUrl","collection","method","httpMethod","args","log","isProduction","charAt","substr","recordOrCollection","isRelativeUrl","owner","getOwner","ownerUrl","getEndpoint","getUrl","removeTrailingSlash","getRootUrl","isNew","appendParams","params","mergedOptions","defaultFetchOptions","headers","rest","resultOptions","Content-Type","JSON","stringify","fetch","buildRequestOptions","response","ok","data","Error","message","cache","credentials","mode","redirect","esc","encodeURIComponent","keys","k","join","notSupported","ReferenceError","constructUrl","_super","__","constructor","tslib_1.__extends","ModelFetchEndpoint","model","list","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","define"],"mappings":"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"} \ No newline at end of file diff --git a/endpoints/restful/lib/restful.js b/endpoints/restful/lib/restful.js index 80da6c9d..9a890e83 100644 --- a/endpoints/restful/lib/restful.js +++ b/endpoints/restful/lib/restful.js @@ -98,7 +98,9 @@ var RestfulEndpoint = (function () { return response.json(); } else { - throw new Error(response.statusText); + return response.json().then(function (data) { + throw new Error(data.message); + }); } }); }; diff --git a/endpoints/restful/lib/restful.js.map b/endpoints/restful/lib/restful.js.map index 75863149..6e53d0dc 100644 --- a/endpoints/restful/lib/restful.js.map +++ b/endpoints/restful/lib/restful.js.map @@ -1 +1 @@ -{"version":3,"file":"restful.js","sourceRoot":"","sources":["../src/restful.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"restful.js","sourceRoot":"","sources":["../src/restful.ts"],"names":[],"mappings":";AAAA,OAAO,EAAyB,GAAG,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAA;AAEvD,MAAM,UAAU,MAAM,CAAE,GAAY,EAAE,YAA4C;IAC9E,OAAO,IAAI,eAAe,CAAE,GAAG,EAAE,YAAY,CAAE,CAAC;AACpD,CAAC;AAED,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,CAAA;AAmB9B;IACI,yBAAoB,GAAY,EAAE,EAA8E;QAA9E,mBAAA,EAAA,OAA8E;QAA5E,IAAA,sBAAQ,EAAE,qBAAoB,EAApB,yCAAoB,EAAE,gEAAe;QAA/D,QAAG,GAAH,GAAG,CAAS;QAC5B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAE,QAAQ,EAAE,aAAa,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC;IAYD,gCAAM,GAAN,UAAQ,IAAI,EAAE,OAA0B,EAAE,MAAM;QAC5C,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAE,MAAM,EAAE,OAAO,CAAE,CAAC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,IAAI,CAAC,UAAU,CAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAE,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAE,CAAC;IACnD,CAAC;IAED,gCAAM,GAAN,UAAQ,EAAE,EAAE,IAAI,EAAE,OAA0B,EAAE,MAAM;QAChD,IAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAE,CAAA;QACjD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,IAAI,CAAC,UAAU,CAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAE,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAE,CAAC;IAClD,CAAC;IAED,8BAAI,GAAJ,UAAM,EAAE,EAAE,OAAmB,EAAE,MAAM;QACjC,IAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAE,CAAC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,IAAI,CAAC,UAAU,CAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAE,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,CAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAE,CAAC;IACxC,CAAC;IAEL,iCAAO,GAAP,UAAS,EAAE,EAAE,OAA0B,EAAE,MAAM;QAC3C,IAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAE,MAAM,EAAE,EAAE,EAAE,OAAO,CAAE,CAAC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,IAAI,CAAC,UAAU,CAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,CAAE,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,CAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAE,CAAC;IAC/C,CAAC;IAED,8BAAI,GAAJ,UAAM,OAA0B,EAAE,UAAU;QACxC,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAE,UAAU,EAAE,OAAO,CAAE,CAAC;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClB,IAAI,CAAC,UAAU,CAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,CAAE,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,CAAE,KAAK,EAAE,GAAG,EAAG,OAAO,CAAE,CAAC;IAC7C,CAAC;IAED,mCAAS,GAAT,UAAW,MAAM,IAAU,CAAC;IAC5B,qCAAW,GAAX,UAAa,MAAM,IAAU,CAAC;IAExB,oCAAU,GAAhB,UAAkB,MAAe,EAAE,UAAmB,EAAE,GAAY,EAAE,IAAI;;;gBACtE,GAAG,CAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,EAAK,UAAU,SAAI,GAAK,CAAC,CAAC;gBACpF,WAAO,IAAI,CAAC,QAAQ,CAAE,MAAM,CAAE,CAAC,KAAK,CAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAE,EAAC;;;KAC/D;IAES,uCAAa,GAAvB,UAAyB,GAAG;QACxB,OAAO,GAAG,CAAC,OAAO,CAAE,IAAI,CAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAES,6CAAmB,GAA7B,UAA+B,GAAY;QACvC,IAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,KAAK,GAAG,CAAC;QAC3D,OAAO,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IACjE,CAAC;IAES,oCAAU,GAApB,UAAsB,kBAAkB;QAC5B,IAAA,cAAG,CAAS;QACpB,IAAI,IAAI,CAAC,aAAa,CAAE,GAAG,CAAE,EAAG;YAC5B,IAAM,KAAK,GAAW,kBAAkB,CAAC,QAAQ,EAAE,EAC7C,QAAQ,GAAQ,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAE,KAAK,CAAE,CAAC;YAE1D,OAAO,IAAI,CAAC,mBAAmB,CAAE,QAAQ,CAAE,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAE,CAAC,CAAE,CAAA;SACtE;aAAM;YACH,OAAO,GAAG,CAAC;SACd;IACL,CAAC;IAES,gCAAM,GAAhB,UAAkB,MAAM;QACpB,IAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAE,MAAM,CAAE,CAAC;QACtC,OAAO,MAAM,CAAC,KAAK,EAAE;YACjB,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAE,GAAG,CAAE,GAAG,GAAG,GAAG,MAAM,CAAC,EAAE,CAAA;IAC3D,CAAC;IAES,mCAAS,GAAnB,UAAqB,MAAM,EAAE,EAAE,EAAE,OAAO;QACpC,OAAO,YAAY,CAAE,IAAI,CAAC,MAAM,CAAE,MAAM,CAAE,EAAE,OAAO,CAAC,MAAM,CAAE,CAAC;IACjE,CAAC;IAES,uCAAa,GAAvB,UAAyB,UAAU,EAAE,OAAO;QACxC,OAAO,YAAY,CAAE,IAAI,CAAC,UAAU,CAAE,UAAU,CAAE,EAAE,OAAO,CAAC,MAAM,CAAE,CAAC;IACzE,CAAC;IAES,6CAAmB,GAA7B,UAA+B,MAAe,EAAE,OAAsB,EAAE,IAAK;QACzE,IAAM,aAAa,wBACZ,eAAe,CAAC,mBAAmB,EACnC,IAAI,CAAC,YAAY,EACjB,OAAO,CACb,CAAC;QAEK,IAAA,+BAAO,EAAE,iDAAO,EACjB,aAAa,sBACT,MAAM,QAAA,EACN,OAAO,qBACH,cAAc,EAAE,kBAAkB,IAC/B,OAAO,KAEX,IAAI,CACV,CAAC;QAER,IAAI,IAAI,EAAG;YACP,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAE,IAAI,CAAE,CAAC;SAC/C;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IAES,iCAAO,GAAjB,UAAmB,MAAmB,EAAE,GAAY,EAAE,EAA4B,EAAE,IAAK;YAAlC,oBAAO;QAE1D,OAAO,KAAK,CAAE,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAE,CAAE;aACjE,IAAI,CAAE,UAAA,QAAQ;YACX,IAAI,QAAQ,CAAC,EAAE,EAAG;gBACd,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;aACzB;iBAAM;gBACH,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;oBAC7B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAA;aACL;QACL,CAAC,CAAE,CAAC;IACZ,CAAC;IAzHa,mCAAmB,GAAyB;QACtD,KAAK,EAAE,UAAU;QACjB,WAAW,EAAE,aAAa;QAC1B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,OAAO;KACpB,CAAA;IAqHL,sBAAC;CAAA,AAnID,IAmIC;SAnIY,eAAe;AAqI5B,SAAS,YAAY,CAAE,GAAG,EAAE,MAAO;IAC/B,IAAI,GAAG,GAAG,kBAAkB,CAAC;IAC7B,OAAO,MAAM;QACT,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE;aAChB,GAAG,CAAE,UAAA,CAAC,IAAI,OAAA,GAAG,CAAE,CAAC,CAAE,GAAG,GAAG,GAAG,GAAG,CAAE,MAAM,CAAE,CAAC,CAAE,CAAE,EAAnC,CAAmC,CAAE;aAC/C,IAAI,CAAE,GAAG,CAAE;QAC9B,CAAC,CAAC,GAAG,CAAC;AACd,CAAC;AAGD,SAAS,UAAU;IACf,GAAG,CAAE,MAAM,EAAE,aAAa,EAAE,SAAO,IAAI,CAAC,GAAK,CAAC,CAAC;AAEnD,CAAC"} \ No newline at end of file diff --git a/endpoints/restful/src/restful.ts b/endpoints/restful/src/restful.ts index 1063e329..05967feb 100644 --- a/endpoints/restful/src/restful.ts +++ b/endpoints/restful/src/restful.ts @@ -149,7 +149,9 @@ export class RestfulEndpoint implements IOEndpoint { if( response.ok ) { return response.json() } else { - throw new Error( response.statusText ) + return response.json().then((data) => { + throw new Error(data.message); + }) } } ); } diff --git a/endpoints/restful/yarn.lock b/endpoints/restful/yarn.lock new file mode 100644 index 00000000..fb57ccd1 --- /dev/null +++ b/endpoints/restful/yarn.lock @@ -0,0 +1,4 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + +