This repository has been archived by the owner on Oct 20, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 76
/
swagger-external-references.min.js
7 lines (7 loc) · 1.76 KB
/
swagger-external-references.min.js
1
2
3
4
5
6
7
/*
* Orange angular-swagger-ui - v0.3.0
*
* (C) 2015 Orange, all right reserved
* MIT Licensed
*/
"use strict";angular.module("swaggerUi").service("swaggerUiExternalReferences",["$http","$q","swaggerModules",function(a,b,c){function d(a){k.reject(a)}function e(b,e,f){var g={method:"GET",url:b,transformResponse:function(a){f&&(a=a.replace(/"\$ref": ?"#\/(.*)\/(.*)"/g,'"$ref": "#/$1/'+f+'/$2"'));var b;try{b=angular.fromJson(a)}catch(c){d({code:500,message:"failed to parse JSON"})}return b}};c.execute(c.BEFORE_LOAD,g).then(function(){a(g).success(e).error(function(a,b){d({message:a,code:b})})})["catch"](d)}function f(a){var b=a.split("#/"),c=b[0];if(0!==c.indexOf("http")&&0!==c.indexOf("https"))if(0===c.indexOf("/")){var d=URL.parse(j);c=d.protocol+"//"+d.host+c}else{var e=j.lastIndexOf("/");c=j.substring(0,e)+"/"+c}return c}function g(){function a(a){b++,e(f(a.$ref),function(c){b--,delete a.$ref;for(var d in c)a[d]=c[d];0===b&&i()})}var b=0;for(var c in l.paths){var d=l.paths[c];h(d)&&a(d)}0===b&&i()}function h(a){return a&&a.$ref&&0!==a.$ref.indexOf("#/")}function i(){function a(a){var b=a.$ref.match(/(.*)#\/(.*)\/(.*)/),c=b[1],h=b[2],i=f(a.$ref);a.$ref=a.$ref.replace(/(.*)#\/(.*)\/(.*)/,"#/$2/$1/$3"),g[i]||(d++,g[i]=!0,e(i,function(a){for(var b in a)l[h][c]=a[b];d--,0===d&&k.resolve(!0)},c))}function b(b){h(b)?a(b):h(b.items)&&a(b.items)}function c(a){for(var c=0,d=a.parameters||[],e=d.length;e>c;c++)d[c].schema&&b(d[c].schema);for(var f in a.responses||{})a.responses[f].schema&&b(a.responses[f].schema)}var d=0,g={};for(var i in l.paths){var j=l.paths[i];for(var m in j)c(j[m])}0===d&&k.resolve(!0)}var j,k,l;this.execute=function(a,c){return j=a,l=c,k=b.defer(),g(),k.promise}}]).run(["swaggerModules","swaggerUiExternalReferences",function(a,b){a.add(a.BEFORE_PARSE,b)}]);