-
Notifications
You must be signed in to change notification settings - Fork 0
/
eelnss-min.js
2 lines (2 loc) · 9.69 KB
/
eelnss-min.js
1
2
!function(a){function b(a,b){if(!a)throw b||"Assertion failed"}var c=a._||require("underscore"),d=function(a){function c(c,e,f){b(a.has(f,"signature"),"No signature in specification"),b(a.has(f,"valueSize"),"No valueSize in specification"),b(a.has(f,"valueMap"),"No valueMap in specification");var g={};return g.spec={signature:f.signature,valueSize:f.valueSize,valueMap:f.valueMap},g.get=c,g.set=e,g.mod=function(a,b){return g.set(a(g.get(b)),b)},g.andThen=function(a){return d(g,a)},g}function d(a,b){function d(c){return b.get(a.get(c))}function e(c,d){return a.mod(function(a){return b.set(c,a)},d)}if(a===k)return b;var f=a.spec.signature+"."+b.spec.signature,g=a.spec.valueSize*b.spec.valueSize;return c(d,e,{signature:f,valueSize:g,valueMap:b.spec.valueMap})}function e(d,e){function f(c){if(a.isUndefined(c))return void 0;b(!a.isArray(c),"Arrays are not valid fieldLen containers. Field name:"+d+". Argument:"+c);var f=c[d];return e===!0&&a.isUndefined(f)?{}:f}function g(c,e){if(b(!a.isArray(e),"Arrays are not valid fieldLen containers. Field name:"+d+". Argument:"+e),a.isUndefined(c))return a.omit(e,d);var f={};return f[d]=c,a.chain(e).clone().extend(f).value()}return c(f,g,{signature:d,valueSize:1,valueMap:[d]})}function f(a){return e(a,!1)}function g(a){return e(a,!0)}function h(){function d(b){return a.map(f,function(a){return a.get(b)})}function e(b,c){var d=b;return a.isUndefined(d)&&(d=g),a.reduce(a.zip(f,d),function(a,b){var c=b[0],d=b[1];return c.set(d,a)},c)}b(arguments.length>1,"Pass at least 2 lenses a telescope composition");var f=Array.prototype.slice.call(arguments),g=a.range(f.length).map(function(){return void 0}),h=a.reduce(f,function(a,b,c){return c===f.length-1?a+b.spec.signature:a+b.spec.signature+","},"(")+")",i=a.chain(f).map(function(a){return a.spec.valueMap}).flatten(!0).value();return c(d,e,{signature:h,valueSize:f.length,valueMap:i})}function i(b){var c=b.split(".");return a.chain(c).map(function(a,b){var d=c.length-b-1===0;return d?f(a):g(a)}).reduce(d,k).value()}var j=function(){function a(a){return void 0}function b(a,b){return b}return c(a,b,{signature:"nil",valueSize:0,valueMap:[]})}(),k=function(){function a(a){return a}function b(a,b){return a}return c(a,b,{signature:"ID",valueSize:1,valueMap:["ID"]})}();return{defineLen:c,nilLen:j,idLen:k,fieldLenLeaf:f,fieldLen:g,telescopeCompose:h,andThenCompose:d,nestedFieldBuilder:i}}(c),e=function(){function a(a){return function(b){return _.every(a,function(a){return a(b)})}}function b(a){return function(b){return _.some(a,function(a){return a(b)})}}function c(a,b){return function(c){return c[b]===a}}function d(e,f){function g(a,b){return _.isObject(a)?d(e,a):c(a,b)}var h=_.chain(f).values().some(function(a){return _.isObject(a)}).value(),i=_.chain(f).keys().map(function(a){var b=f[a],c=e[a];return g(b,c)}).value();return h?b(i):a(i)}return{buildCriteria:d}}(c),f=function(a,c,d){function e(e,h,i,j){b(a.has(j,"contextSize"),"No contextSize in specification"),b(a.has(j,"valueSize"),"No valueSize in specification"),b(a.has(j,"signature"),"No signature in specification"),b(a.has(j,"pointers"),"No pointers in specification"),b(a.has(j,"contextMap"),"No contextMap in specification"),b(a.has(j,"valueMap"),"No valueMap in specification");var k=j||{},l={};return l.spec={contextSize:k.contextSize,valueSize:k.valueSize,signature:k.signature,pointers:k.pointers,contextMap:k.contextMap,valueMap:k.valueMap,selfPointer:k.selfPointer},l.spec.selfPointer&&(l.spec.pointers[l.spec.selfPointer]=l),l.spec.size=l.spec.contextSize+l.spec.valueSize,l.cget=e,l.cset=h,l.extract=i,l.cmod=function(a,b,c){return l.cset(a,b(l.cget(a,c)),c)},0===l.spec.contextSize?l.lget=function(a){var b;return b=1===l.spec.valueSize?[l.cget([],a)]:l.cget([],a),[b]}:l.lget=function(a){return f(l,a)},l.lset=function(b,c){return a.isUndefined(b)||0===b.length?l.cset([],void 0,c):g(l,b,c)},l.bindContext=function(a){b(a.length===l.spec.contextSize,"context size error");var d=function(b){return l.cget(a,b)},e=function(b,c){return l.cset(a,b,c)};return c.defineLen(d,e,{signature:l.spec.signature,valueSize:l.spec.valueSize,valueMap:l.spec.valueMap})},l.bindContextValue=function(a){b(a.length===l.spec.size,"context size error");var c=a.slice(0,l.spec.contextSize),d=a.slice(l.spec.contextSize),e=l.bindContext(c);return{len:e,value:d,context:c}},l.find=function(b){var c=l.spec.contextMap.concat(l.spec.valueMap),e=a.chain(c).reduce(function(a,b,c){return a[b]=c,a},{}).value(),f=d.buildCriteria(e,b);return{on:function(b){return a.chain(l.lget(b)).filter(function(a){return f(a)}).value()}}},l}function f(b,c){return a.chain(b.extract(c)).map(function(a){return a.concat(b.cget(a,c))}).value()}function g(b,c,d){return a.chain(c).reduce(function(a,c){var d=c.slice(0,b.spec.contextSize),e=c.slice(b.spec.contextSize);return 1===b.spec.valueSize?b.cset(d,e[0],a):b.cset(d,e,a)},d).value()}function h(a){return[[]]}function i(a){function b(b,c){return a.get(c)}function c(b,c,d){return a.set(c,d)}return e(b,c,h,{contextSize:0,valueSize:a.spec.valueSize,signature:a.spec.signature,pointers:{},contextMap:[],valueMap:a.spec.valueMap,selfPointer:a.spec.signature})}function j(c){function d(d,e){if(b(a.isArray(d),"context for map must be a single value"),c&&0===d.length)return{};b(1===d.length,"context for map must be a single value");var f=d[0],g=e[f];return c&&a.isUndefined(g)?{}:g}function f(c,d,e){if(b(a.isArray(c),"context for map must be a single value"),0===c.length)return e;b(1===c.length,"context for map must be a single value");var f=c[0];if(a.isUndefined(d))return a.omit(e,f);var g={};return g[f]=d,a.chain(e).clone().extend(g).value()}function g(b){var c=a.keys(b);return 0===c.length?[]:a.chain(c).map(function(a){return[a]}).value()}return e(d,f,g,{contextSize:1,valueSize:1,signature:"{:map}",pointers:{},contextMap:["map"],valueMap:["_"],selfPointer:void 0})}function k(b,c){function d(){var a=function(a,d){return c.cget(a,b.cget([],d))},d=function(a,d,e){return b.cmod([],function(b){return c.cset(a,d,b)},e)},f=function(a){return c.extract(b.cget([],a))};return e(a,d,f,n)}function f(){var a=function(a,d){return c.cget([],b.cget(a,d))},d=function(a,d,e){return b.cmod(a,function(a){return c.cset([],d,a)},e)};return e(a,d,b.extract,n)}function g(){var d=function(a,d){var e=a.slice(0,b.spec.contextSize),f=a.slice(b.spec.contextSize);return c.cget(f,b.cget(e,d))},f=function(a,d,e){var f=a.slice(0,b.spec.contextSize),g=a.slice(b.spec.contextSize);return b.cmod(f,function(a){return c.cset(g,d,a)},e)},g=function(d){return a.chain(b.extract(d)).map(function(e){var f=b.cget(e,d);return a.map(c.extract(f),function(a){return e.concat(a)})}).flatten(!0).value()};return e(d,f,g,n)}if(b===l)return c;if(c===l)return b;var h,i=b.spec.signature+"."+c.spec.signature,j=b.spec.contextSize+c.spec.contextSize,k=b.spec.valueSize*c.spec.valueSize,m=a.extend(b.spec.pointers,c.spec.pointers);b.spec.selfPointer&&c.spec.selfPointer&&(h=b.spec.selfPointer+"."+c.spec.selfPointer);var n={contextSize:j,valueSize:k,signature:i,pointers:m,contextMap:b.spec.contextMap.concat(c.spec.contextMap),valueMap:c.spec.valueMap,selfPointer:h};return 0===b.spec.contextSize?d():0===c.spec.contextSize?f():g()}var l=i(c.idLen),m=j(!1),n=j(!0);return{defineContextLen:e,idContextLen:l,mapContextLenLeaf:m,mapContextLen:n,contextLenFromLen:i,contextLenComposition:k}}(c,d,e),g=function(a,c,d){function e(e){function f(e,f){b(f===!0," telescope parts must be at the end of the context len expression");var g=/\((.*)\)/gi.exec(e)[1],h=0===g.length?[]:g.split(","),i=a.map(h,c.nestedFieldBuilder);return d.contextLenFromLen(c.telescopeCompose.apply({},i))}function g(a,b){return d.contextLenFromLen(b?c.fieldLenLeaf(a):c.fieldLen(a))}function h(b,c){var e;return e=c?d.mapContextLenLeaf:a.clone(d.mapContextLen),e.pointers={},e.pointers[b]=e,e.spec=a.clone(e.spec),e.spec.selfPointer=b,e.spec.contextMap=[b.substr(2,b.length-3)],e.spec.signature=b,e}var i,j=e.replace(/ /g,""),k=j.indexOf("(");switch(k){case-1:i=j.split(".");break;case 0:i=[j];break;default:var l=j.substring(0,k-1),m=j.substring(k);i=l.split("."),i.push(m)}var n=a.chain(i).map(function(a,b){var c=a.charAt(0),d=i.length-b-1===0;switch(c){case"(":return f(a,d);case"{":return h(a,d);default:return g(a,d)}}).reduce(d.contextLenComposition,d.idContextLen).value();return n.signature=j,n}function f(){b(arguments.length>1,"Pass at least 2 clens to build a cross product");var c=Array.prototype.slice.call(arguments),d=c[0],e=a.tail(c);return a.reduce(e,g,d)}function g(b,c){function e(a,d){var e=a.slice(0,b.spec.contextSize),f=a.slice(b.spec.contextSize),g=b.cget(e,d),h=c.cget(f,d);return 1===b.spec.valueSize&&(g=[g]),1===c.spec.valueSize&&(h=[h]),g.concat(h)}function f(d,e,f){a.isUndefined(e)&&(e=a.range(i).map(function(){return void 0}));var g=d.slice(0,b.spec.contextSize),h=d.slice(b.spec.contextSize),j=e.slice(0,b.spec.valueSize),k=e.slice(b.spec.valueSize);1===b.spec.valueSize&&(j=j[0]),1===c.spec.valueSize&&(k=k[0]);var l=b.cset(g,j,f),m=c.cset(h,k,l);return m}function g(d){var e=b.extract(d),f=c.extract(d);return a.chain(e).map(function(b){return a.chain(f).map(function(c){return a.flatten([b,c],!0)}).value()}).flatten(!0).value()}var h=b.spec.contextSize+c.spec.contextSize,i=b.spec.valueSize+c.spec.valueSize,j=b.spec.signature+" X "+c.spec.signature,k={contextSize:h,valueSize:i,signature:j,pointers:{},contextMap:b.spec.contextMap.concat(c.spec.contextMap),valueMap:b.spec.valueMap.concat(c.spec.valueMap),selfPointer:void 0},l=d.defineContextLen(e,f,g,k);return l.signature=j,l}function h(a){var b=e(a);if(b.spec.contextSize>0)throw"Len expression contains a context parameter: "+a;return b.bindContext([])}return{buildLen:h,buildContextLen:e,crossProduct:f}}(c,d,f);a.eelnss={lenses:d,contextLenses:f,api:g},"function"==typeof define&&define.amd&&define("eelnss",["underscore"],function(a){return eelnss})}(this);
//# sourceMappingURL=eelnss-min.map