Created
July 5, 2019 05:52
-
-
Save js2me/5c02180e0180ff79ab0ef25026c32c09 to your computer and use it in GitHub Desktop.
Rollup, terser - mangle options true with reserved keywords
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var n,e;n=this,e=function(n){var e;!function(n){n.t="@ONLY_STRINGS",n.o="@ONLY_STRINGS",n.i="@ONLY_STRINGS",n.u="@STRING_AND_CLASS",n.s="@SERIALIZERS"}(e||(e={}));var t,o=function(n){return"object"==typeof n&&null!==n&&!(n instanceof Array)},r=function(n){return!("object"==typeof n||n instanceof Array||"function"==typeof n)},i=function(){for(var n=[],e=0;arguments.length>e;e++)n[e]=arguments[e];throw console.error.apply(console,["❗️ : "].concat(n)),Error("❗️ : Exception based on message above")},u=function(){for(var n=[],e=0;arguments.length>e;e++)n[e]=arguments[e];console.warn.apply(console,["⚠️ : "].concat(n))},f=function(){return(f=Object.assign||function(n){for(var e,t=1,o=arguments.length;o>t;t++)for(var r in e=arguments[t])({}).hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}).apply(this,arguments)},a=function(n,e){return null!==n&&u('Not possible to cast value "',n,'" to type '+e+".")},c=function(n,e){var t=Object.keys(p);return-1===t.indexOf(n)&&i("Type ",n," of value of property ",e," is not possble for type casting\r\nPlease use one of following types: "+t.join(", ")),!0},s=function(model,n){return void 0===model[n]&&u('Property "',n,'" is not existing in model :',model),!0},l=function(n,e){return n.l||i("Declared model for ",e,' is not created via model() function.Please wrap this model into "model()" function'),!0},p={p:function(n){return n},v:function(n){return!!n},number:function(n){var e=+n;return!r(n)||Number.isNaN(e)?(a(n,"number"),n):e},object:function(n){return o(n)?Object.assign({},n):(a(n,"object"),n)},g:function(n){return r(n)?""+n:(a(n,"string"),n)}},y=function(n,e){for(var t=e.m,o=e.A,model={},r=0,u=t.O;u.length>r;r++){var f=u[r].scheme;(0,v[f._][o?"A":"S"])(n,{P:model,h:t.options,scheme:f})}return Object.keys(model).length||i("Unknown error. Object is empty after serializing/deserializing"),model},d=function(n,e){return i("For ",n," property you are use 'fieldArray()' and because of this the original property ",e," should have type array")},v=((t={})[e.u]={A:function(n,e){var model=e.P,t=e.scheme,o=t.from,r=t.j,i=t.N;e.h.L&&s(n,r.name),i?(n[r.name]instanceof Array||d(r.name,r.name),model[o.name]=n[r.name].map(function(n){return l(n,r.name),n.l()})):(l(n[r.name],r.name),model[o.name]=n[r.name].l())},S:function(n,e){var model=e.P,t=e.scheme,o=t.from,r=t.j,i=t.N;if(e.h.L&&s(n,o.name),i)n[o.name]instanceof Array||d(o.name,o.name),model[r.name]=n[o.name].map(function(n){var e=new o.type(n);return l(e,o.name)&&e});else{var u=new o.type(n[o.name]);l(u,o.name),model[r.name]=u}}},t[e.s]={A:function(n,e){var model=e.P,t=e.scheme,r=t.from,u=t.j;if("function"==typeof u.R){var f=u.R(n,model);o(f)||i("Return value of callback function of property .to() should have type object\r\nBecause return value will be merged into result object model"),Object.assign(model,f)}else delete model[r.name]},S:function(n,e){var model=e.P,t=e.scheme,o=t.from,r=t.j;"function"!=typeof o.R&&i("Custom handler should be exist and have type functions"),model[r.name]=o.R(n)}},t[e.i]={A:function(n,e){var model=e.P,t=e.scheme,o=t.from,r=t.j,i=t.N;e.h.L&&s(n,r.name),i?(n[r.name]instanceof Array||d(r.name,r.name),model[o.name]=n[r.name].map(function(n){return c(o.type,r.name),p[o.type](n)})):(c(o.type,r.name),model[o.name]=p[o.type](n[r.name]))},S:function(n,e){var model=e.P,t=e.scheme,o=t.from,r=t.j,i=t.N;e.h.L&&s(n,o.name),i?(n[o.name]instanceof Array||d(o.name,r.name),model[r.name]=n[o.name].map(function(n){return c(r.type,o.name),p[r.type](n)})):(c(r.type,o.name),model[r.name]=p[r.type](n[o.name]))}},t),b=function(n,e){return Object.keys(n).reduce(function(t,o){var r=n[o];if(r["C"]){var i=r.scheme;if("@@CLASS_PROP_NAME"===i.j.name&&(i.j.name=o),"@@VALUE_TYPE"===i.j.type){var u=typeof e[i.from.name];i.j.type=u,i.from.type=u}t.push(f({},r)),delete n[o]}return t},[])},g={T:!1,L:!0},createModel=function(n,e){var t,r=function(t){o(t)||(u("Original model is not an object (current value: ",t,")"),t={});var r="function"==typeof n?new n:new(function(){return function(n){Object.assign(this,f({},n))}}())(n),i=function(n,e,t){return{O:b(n,e),options:f({},g,t||{})}}(r,t,e);return Object.assign(r,y(t,{m:i,A:!1})),r.__proto__.l=function(){return y(r,{m:i,A:!0})},r};return(t=function(){return function(n){return r(n)}}()).M=r,t.l=function(n){return o(n)||i("Usage model is not an object."),n.l||i('Argument of "deserialize" function is not created via "model()" function'),n.l()},t},m=function(n){var t=n.options,o={N:!!n.N,from:{name:"",R:null,type:null},_:null,j:{name:"",R:null,type:null}},r=t[0],u=t[1],f=t[2];return 1===t.length&&("string"==typeof r&&(o._=e.t,o.from.name=r,o.from.type="@@VALUE_TYPE",o.j.name="@@CLASS_PROP_NAME",o.j.type="@@VALUE_TYPE"),"function"==typeof r&&(o._=e.s,o.j.name="@@CLASS_PROP_NAME",o.from.R=r,o.j.R=function(){return{}})),2===t.length&&("string"==typeof r&&("string"==typeof u&&(o._=e.o,o.from.name=r,o.from.type=u,o.j.name="@@CLASS_PROP_NAME",o.j.type=u),"function"==typeof u&&(o._=e.u,o.from.name=r,o.from.type=u,o.j.name="@@CLASS_PROP_NAME",o.j.type=u),"object"==typeof u&&(o._=e.u,o.from.name=r,o.from.type=createModel(u),o.j.name="@@CLASS_PROP_NAME",o.j.type=createModel(u))),"function"==typeof r&&("function"!=typeof u&&i("Second argument should be function which needed to deserialize usage model to original"),o._=e.s,o.j.name="@@CLASS_PROP_NAME",o.from.R=r,o.j.R=u)),3===t.length&&"string"==typeof r&&"string"==typeof u&&"string"==typeof f&&(o._=e.i,o.from.name=r,o.from.type=u,o.j.name="@@CLASS_PROP_NAME",o.j.type=f),o._||i("Unknown scheme type: ",o._,"\r\nProbably it happened because you send to field()/fieldArray() invalid arguments"),o};n.U=function(){for(var n,e=[],t=0;arguments.length>t;t++)e[t]=arguments[t];return(n={})["C"]=!0,n.scheme=m({options:e,N:!1}),n},n.I=function(){for(var n,e=[],t=0;arguments.length>t;t++)e[t]=arguments[t];return(n={})["C"]=!0,n.scheme=m({options:e,N:!0}),n},n.P=createModel,Object.defineProperty(n,"Y",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n=n||self).G={}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment