Skip to content
This repository has been archived by the owner on Feb 7, 2019. It is now read-only.

Commit

Permalink
Update: Updated raml2object module
Browse files Browse the repository at this point in the history
  • Loading branch information
jarrodek committed Jul 4, 2017
1 parent f6b6026 commit 5d43ebe
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion raml-json-enhance.html
Original file line number Diff line number Diff line change
Expand Up @@ -922,7 +922,7 @@
Vh(Lp,"union",function(b){return Q.c(b,Ai,Ze($g(X.a(function(a){return x(Dp(a))?Ai.b(a):a},Ze(X.a(Lp,Ai.b(b)))))))});za();ba("datatype_expansion.js.expandedForm",function(b,a,c){try{var d=ap(Fh(b)),e=$e.a(V,X.a(function(){return function(a){var b=P(a,0,null);a=P(a,1,null);return new T(null,2,5,U,[b,ap(a)],null)}}(d),Fh(a))),f=sp(Fh(d),Fh(e)),g=Ch(f);null!=c&&(c.a?c.a(null,g):c.call(null,null,g));return g}catch(k){if(k instanceof Error&&null!=c)return c.a?c.a(k,null):c.call(null,k,null);throw k;}});
ba("datatype_expansion.js.canonicalForm",function(b,a){try{var c=ap(Fh(b)),d=Lp.b?Lp.b(c):Lp.call(null,c),e=Ch(d);null!=a&&(a.a?a.a(null,e):a.call(null,null,e));return e}catch(f){if(f instanceof Error&&null!=a)return a.a?a.a(f,null):a.call(null,f,null);throw f;}});
})();
;"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++){s(r[o])}return s})({1:[function(require,module,exports){function _isObject(obj){return obj===Object(obj)}function _objectToArray(obj){if(Array.isArray(obj)){return obj}return Object.keys(obj).map(function(key){if(_isObject(obj[key])){obj[key].key=key}return obj[key]})}function _arrayToObject(arr){return arr.reduce(function(acc,cur){Object.keys(cur).forEach(function(key){acc[key]=cur[key]});return acc},{})}function recursiveObjectToArray(obj){if(_isObject(obj)){Object.keys(obj).forEach(function(key){var value=obj[key];if(_isObject(obj)&&["responses","body","queryParameters","headers","properties","baseUriParameters","annotations","uriParameters"].indexOf(key)!==-1){obj[key]=_objectToArray(value)}recursiveObjectToArray(value)})}else if(Array.isArray(obj)){obj.forEach(function(value){recursiveObjectToArray(value)})}return obj}function arraysToObjects(ramlObj){["types","traits","resourceTypes","annotationTypes","securitySchemes"].forEach(function(key){if(ramlObj[key]){ramlObj[key]=_arrayToObject(ramlObj[key])}});return ramlObj}module.exports={arraysToObjects:arraysToObjects,recursiveObjectToArray:recursiveObjectToArray}},{}],2:[function(require,module,exports){var raml2obj=require("./");if(typeof window==="undefined"){self.raml2obj=raml2obj}else{window.raml2obj=raml2obj}},{"./":4}],3:[function(require,module,exports){function _isObject(obj){return obj===Object(obj)}function makeConsistent(obj,types){if(_isObject(obj)){if(obj.type){if(Array.isArray(obj.type)){obj.type=obj.type[0]}if(types&&types[obj.type]){var typedef=types[obj.type];var objectExamples=[];if(obj.examples&&typedef.examples){objectExamples=obj.examples}if(obj.example&&typedef.example){objectExamples.push(obj.example)}Object.assign(obj,types[obj.type]);if(objectExamples.length){if(!obj.examples||!obj.examples.length){obj.examples=[]}objectExamples.forEach(function(item){obj.examples.push(item)})}}}if(obj.items&&types&&types[obj.items]){obj.items=types[obj.items]}if(obj.examples&&obj.examples.length){obj.examples=obj.examples.map(function(example){return example.value?example.value:example})}if(obj.structuredExample){if(typeof obj.examples==="undefined"){obj.examples=[]}obj.examples.push(obj.structuredExample.value);delete obj.example;delete obj.structuredExample}Object.keys(obj).forEach(function(key){var value=obj[key];makeConsistent(value,types)})}else if(Array.isArray(obj)){obj.forEach(function(value){makeConsistent(value,types)})}return obj}module.exports=makeConsistent},{}],4:[function(require,module,exports){"use strict";var makeConsistent=require("./consistency-helpers");var _require=require("./arrays-objects-helpers"),arraysToObjects=_require.arraysToObjects,recursiveObjectToArray=_require.recursiveObjectToArray;var Raml2Object=function(){function Raml2Object(object){_classCallCheck(this,Raml2Object);this.raml=object;this.debug=false}_createClass(Raml2Object,[{key:"mark",value:function mark(title){if(this.debug&&performance&&performance.mark){performance.mark(title)}}},{key:"getMeasurement",value:function getMeasurement(){if(!this.debug){return[]}try{performance.measure("raml2obj-enhace","raml2obj-enhace-start","raml2obj-enhace-end");performance.measure("raml2obj-arrays-to-object","raml2obj-arrays-to-object-start","raml2obj-arrays-to-object-end");performance.measure("raml2obj-expanding-root-types","raml2obj-expanding-root-types-start","raml2obj-expanding-root-types-end");performance.measure("raml2obj-make-consistent-root-types","raml2obj-make-consistent-root-types-start","raml2obj-make-consistent-root-types-end");performance.measure("raml2obj-make-consistent-raml","raml2obj-make-consistent-raml-start","raml2obj-make-consistent-raml-end");performance.measure("raml2obj-recursive-object-to-array","raml2obj-recursive-object-to-array-start","raml2obj-recursive-object-to-array-end");performance.measure("raml2obj-apply-raml-types","raml2obj-apply-raml-types-start","raml2obj-apply-raml-types-end")}catch(e){return[]}return performance.getEntriesByType("measure")}},{key:"enhance",value:function enhance(){var _this=this;this.mark("raml2obj-enhace-start");this.mark("raml2obj-arrays-to-object-start");arraysToObjects(this.raml);this.mark("raml2obj-arrays-to-object-end");this.mark("raml2obj-expanding-root-types-start");return this.expandRootTypes(this.raml.types).then(function(expanded){_this.mark("raml2obj-expanding-root-types-end");_this.mark("raml2obj-make-consistent-root-types-start");var types=makeConsistent(expanded);_this.mark("raml2obj-make-consistent-root-types-end");delete _this.raml.types;_this.mark("raml2obj-make-consistent-raml-start");makeConsistent(_this.raml,types);_this.mark("raml2obj-make-consistent-raml-end");_this.mark("raml2obj-recursive-object-to-array-start");recursiveObjectToArray(_this.raml);_this.mark("raml2obj-recursive-object-to-array-end");_this.securitySchemes=_this.raml.securitySchemes;_this.mark("raml2obj-apply-raml-types-start");_this.applyRamlTypes(_this.raml);_this.mark("raml2obj-apply-raml-types-end");if(types){_this.raml.types=types}_this.mark("raml2obj-enhace-end");return _this.raml})}},{key:"applySecuritySchemes",value:function applySecuritySchemes(object){if(!object.queryParameters){object.queryParameters=[]}if(!object.headers){object.headers=[]}if(!object.securedBy){object.securedBy=[]}var responses=[];object.securedBy.forEach(function(scheme){if(!scheme||typeof scheme==="string"){return}if(scheme.describedBy){if(scheme.describedBy.queryParameters){object.queryParameters=object.queryParameters.concat(scheme.describedBy.queryParameters)}if(scheme.describedBy.headers){object.headers=object.headers.concat(scheme.describedBy.headers)}if(scheme.describedBy.responses){responses=responses.concat(scheme.describedBy.responses)}}});if(object.responses){responses=responses.concat(object.responses)}responses.sort(function(a,b){var aCode=Number(a.code);var bCode=Number(b.code);if(aCode>bCode){return 1}if(aCode<bCode){return-1}return 0});object.responses=responses}},{key:"isObject",value:function isObject(obj){return obj===Object(obj)}},{key:"addSecuritSchemes",value:function addSecuritSchemes(object){var _this2=this;var rootSchemes=this.securitySchemes;if(!rootSchemes||!Object.keys(rootSchemes).length){return}if(!object||!object.securedBy||!object.securedBy.length){return}var added=false;object.securedBy.forEach(function(item,i){if(typeof item==="string"){if(item in rootSchemes){added=true;object.securedBy[i]=Object.assign({},rootSchemes[item])}}else if(_this2.isObject(item)){var keys=Object.keys(item);var key=keys[0];if(key in rootSchemes){added=true;var schema=Object.assign({},rootSchemes[key]);var params=item[key];schema.settings=Object.assign({},schema.settings,params);object.securedBy[i]=schema}}});if(added){this.applySecuritySchemes(object)}}},{key:"applyRamlTypes",value:function applyRamlTypes(ramlObj,parentUrl,allUriParameters){var _this3=this;if(!ramlObj.resources){return}ramlObj.resources.forEach(function(resource){resource.parentUrl=parentUrl||"";resource.allUriParameters=ramlObj.baseUriParameters||[];if(allUriParameters){resource.allUriParameters=resource.allUriParameters.concat(allUriParameters)}if(resource.uriParameters){resource.allUriParameters=resource.allUriParameters.concat(resource.uriParameters)}if(resource.methods){resource.methods.forEach(function(method){method.allUriParameters=resource.allUriParameters;method.absoluteUri=resource.absoluteUri;_this3.addSecuritSchemes(method)})}_this3.addSecuritSchemes(resource);_this3.applyRamlTypes(resource,resource.parentUrl+resource.relativeUri,resource.allUriParameters)})}},{key:"expandRootTypes",value:function expandRootTypes(types){var _this4=this;if(!types){return Promise.resolve(types)}var promises=Object.keys(types).map(function(key){return _this4._expandType(types,key)});return Promise.all(promises).then(function(results){results.forEach(function(result){types[result[0]]=result[1]});return types})}},{key:"_expandType",value:function _expandType(types,key){return new Promise(function(resolve){datatype_expansion.js.expandedForm(types[key],types,function(err,expanded){if(expanded){datatype_expansion.js.canonicalForm(expanded,function(err2,canonical){if(canonical){resolve([key,canonical])}else{resolve([key,types[key]])}})}else{resolve([key,types[key]])}})})}}]);return Raml2Object}();module.exports.parse=function(source){var r2o=new Raml2Object(source);return r2o.enhance()}},{"./arrays-objects-helpers":1,"./consistency-helpers":3}]},{},[2]);
;"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++){s(r[o])}return s})({1:[function(require,module,exports){function _isObject(obj){return obj===Object(obj)}function _objectToArray(obj){if(Array.isArray(obj)){return obj}return Object.keys(obj).map(function(key){if(_isObject(obj[key])){obj[key].key=key}return obj[key]})}function _arrayToObject(arr){return arr.reduce(function(acc,cur){Object.keys(cur).forEach(function(key){acc[key]=cur[key]});return acc},{})}function recursiveObjectToArray(obj){if(_isObject(obj)){Object.keys(obj).forEach(function(key){var value=obj[key];if(_isObject(obj)&&["responses","body","queryParameters","headers","properties","baseUriParameters","annotations","uriParameters"].indexOf(key)!==-1){obj[key]=_objectToArray(value)}recursiveObjectToArray(value)})}else if(Array.isArray(obj)){obj.forEach(function(value){recursiveObjectToArray(value)})}return obj}function arraysToObjects(ramlObj){["types","traits","resourceTypes","annotationTypes","securitySchemes"].forEach(function(key){if(ramlObj[key]){ramlObj[key]=_arrayToObject(ramlObj[key])}});return ramlObj}module.exports={arraysToObjects:arraysToObjects,recursiveObjectToArray:recursiveObjectToArray}},{}],2:[function(require,module,exports){var raml2obj=require("./");if(typeof window==="undefined"){self.raml2obj=raml2obj}else{window.raml2obj=raml2obj}},{"./":4}],3:[function(require,module,exports){function _isObject(obj){return obj===Object(obj)}function makeConsistent(obj,types){if(_isObject(obj)){if(obj.type){if(Array.isArray(obj.type)){obj.type=obj.type[0]}if(types&&types[obj.type]){var typedef=types[obj.type];var objectExamples=[];if(obj.examples&&typedef.examples){objectExamples=obj.examples}if(obj.example&&typedef.example){objectExamples.push(obj.example)}var objectProperties=obj.properties;var objectItems=obj.items;var objectDefault=obj.default;var objectDescription=obj.description;var objectEnum=obj.enum;Object.assign(obj,types[obj.type]);if(objectExamples.length){if(!obj.examples||!obj.examples.length){obj.examples=[]}objectExamples.forEach(function(item){obj.examples.push(item)})}if(objectProperties){Object.assign(obj.properties,objectProperties)}if(objectItems){Object.assign(obj.items,objectItems)}if(objectDefault){obj.default=objectDefault}if(objectDescription){obj.description=objectDescription}if(objectEnum){obj.enum=objectEnum}}}if(obj.items&&types&&types[obj.items]){obj.items=types[obj.items]}if(obj.examples&&obj.examples.length){obj.examples=obj.examples.map(function(example){return example.value?example.value:example})}if(obj.structuredExample){if(typeof obj.examples==="undefined"){obj.examples=[]}obj.examples.push(obj.structuredExample.value);delete obj.example;delete obj.structuredExample}Object.keys(obj).forEach(function(key){var value=obj[key];makeConsistent(value,types)})}else if(Array.isArray(obj)){obj.forEach(function(value){makeConsistent(value,types)})}return obj}module.exports=makeConsistent},{}],4:[function(require,module,exports){"use strict";var makeConsistent=require("./consistency-helpers");var _require=require("./arrays-objects-helpers"),arraysToObjects=_require.arraysToObjects,recursiveObjectToArray=_require.recursiveObjectToArray;var Raml2Object=function(){function Raml2Object(object){_classCallCheck(this,Raml2Object);this.raml=object;this.debug=false}_createClass(Raml2Object,[{key:"mark",value:function mark(title){if(this.debug&&performance&&performance.mark){performance.mark(title)}}},{key:"getMeasurement",value:function getMeasurement(){if(!this.debug){return[]}try{performance.measure("raml2obj-enhace","raml2obj-enhace-start","raml2obj-enhace-end");performance.measure("raml2obj-arrays-to-object","raml2obj-arrays-to-object-start","raml2obj-arrays-to-object-end");performance.measure("raml2obj-expanding-root-types","raml2obj-expanding-root-types-start","raml2obj-expanding-root-types-end");performance.measure("raml2obj-make-consistent-root-types","raml2obj-make-consistent-root-types-start","raml2obj-make-consistent-root-types-end");performance.measure("raml2obj-make-consistent-raml","raml2obj-make-consistent-raml-start","raml2obj-make-consistent-raml-end");performance.measure("raml2obj-recursive-object-to-array","raml2obj-recursive-object-to-array-start","raml2obj-recursive-object-to-array-end");performance.measure("raml2obj-apply-raml-types","raml2obj-apply-raml-types-start","raml2obj-apply-raml-types-end")}catch(e){return[]}return performance.getEntriesByType("measure")}},{key:"enhance",value:function enhance(){var _this=this;this.mark("raml2obj-enhace-start");this.mark("raml2obj-arrays-to-object-start");arraysToObjects(this.raml);this.mark("raml2obj-arrays-to-object-end");this.mark("raml2obj-expanding-root-types-start");return this.expandRootTypes(this.raml.types).then(function(expanded){_this.mark("raml2obj-expanding-root-types-end");_this.mark("raml2obj-make-consistent-root-types-start");var types=makeConsistent(expanded);_this.mark("raml2obj-make-consistent-root-types-end");delete _this.raml.types;_this.mark("raml2obj-make-consistent-raml-start");makeConsistent(_this.raml,types);_this.mark("raml2obj-make-consistent-raml-end");_this.mark("raml2obj-recursive-object-to-array-start");recursiveObjectToArray(_this.raml);_this.mark("raml2obj-recursive-object-to-array-end");_this.securitySchemes=_this.raml.securitySchemes;_this.mark("raml2obj-apply-raml-types-start");_this.applyRamlTypes(_this.raml);_this.mark("raml2obj-apply-raml-types-end");if(types){_this.raml.types=types}_this.mark("raml2obj-enhace-end");return _this.raml})}},{key:"applySecuritySchemes",value:function applySecuritySchemes(object){if(!object.queryParameters){object.queryParameters=[]}if(!object.headers){object.headers=[]}if(!object.securedBy){object.securedBy=[]}var responses=[];object.securedBy.forEach(function(scheme){if(!scheme||typeof scheme==="string"){return}if(scheme.describedBy){if(scheme.describedBy.queryParameters){object.queryParameters=object.queryParameters.concat(scheme.describedBy.queryParameters)}if(scheme.describedBy.headers){object.headers=object.headers.concat(scheme.describedBy.headers)}if(scheme.describedBy.responses){responses=responses.concat(scheme.describedBy.responses)}}});if(object.responses){responses=responses.concat(object.responses)}responses.sort(function(a,b){var aCode=Number(a.code);var bCode=Number(b.code);if(aCode>bCode){return 1}if(aCode<bCode){return-1}return 0});object.responses=responses}},{key:"isObject",value:function isObject(obj){return obj===Object(obj)}},{key:"addSecuritSchemes",value:function addSecuritSchemes(object){var _this2=this;var rootSchemes=this.securitySchemes;if(!rootSchemes||!Object.keys(rootSchemes).length){return}if(!object||!object.securedBy||!object.securedBy.length){return}var added=false;object.securedBy.forEach(function(item,i){if(typeof item==="string"){if(item in rootSchemes){added=true;object.securedBy[i]=Object.assign({},rootSchemes[item])}}else if(_this2.isObject(item)){var keys=Object.keys(item);var key=keys[0];if(key in rootSchemes){added=true;var schema=Object.assign({},rootSchemes[key]);var params=item[key];schema.settings=Object.assign({},schema.settings,params);object.securedBy[i]=schema}}});if(added){this.applySecuritySchemes(object)}}},{key:"applyRamlTypes",value:function applyRamlTypes(ramlObj,parentUrl,allUriParameters){var _this3=this;if(!ramlObj.resources){return}ramlObj.resources.forEach(function(resource){resource.parentUrl=parentUrl||"";resource.allUriParameters=ramlObj.baseUriParameters||[];if(allUriParameters){resource.allUriParameters=resource.allUriParameters.concat(allUriParameters)}if(resource.uriParameters){resource.allUriParameters=resource.allUriParameters.concat(resource.uriParameters)}if(resource.methods){resource.methods.forEach(function(method){method.allUriParameters=resource.allUriParameters;method.absoluteUri=resource.absoluteUri;_this3.addSecuritSchemes(method)})}_this3.addSecuritSchemes(resource);_this3.applyRamlTypes(resource,resource.parentUrl+resource.relativeUri,resource.allUriParameters)})}},{key:"expandRootTypes",value:function expandRootTypes(types){var _this4=this;if(!types){return Promise.resolve(types)}var promises=Object.keys(types).map(function(key){return _this4._expandType(types,key)});return Promise.all(promises).then(function(results){results.forEach(function(result){types[result[0]]=result[1]});return types})}},{key:"_expandType",value:function _expandType(types,key){return new Promise(function(resolve){datatype_expansion.js.expandedForm(types[key],types,function(err,expanded){if(expanded){datatype_expansion.js.canonicalForm(expanded,function(err2,canonical){if(canonical){resolve([key,canonical])}else{resolve([key,types[key]])}})}else{resolve([key,types[key]])}})})}}]);return Raml2Object}();module.exports.parse=function(source){var r2o=new Raml2Object(source);return r2o.enhance()}},{"./arrays-objects-helpers":1,"./consistency-helpers":3}]},{},[2]);
;if(!self.Promise){self.Promise=MakePromise(function(c){c()})}/**
@license
Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
Expand Down
Loading

0 comments on commit 5d43ebe

Please sign in to comment.