@skele/core
Version:
Core package of the Skele framework. Element definitions, registrations and traversal.
1 lines • 1.8 kB
JavaScript
'use strict';var _immutable=_interopRequireDefault(require("immutable"));var zip=_interopRequireWildcard(require("../"));var _data2=require("../../data");var _predicate=require("../predicate");var _ref,_data;function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):{};if(desc.get||desc.set){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}}newObj.default=obj;return newObj;}}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}var zipper=function zipper(data){return zip.elementZipper({})(data);};var data=(_data={kind:['navigation','tabs']},_defineProperty(_data,_data2.childrenProperty,['tabs','settings']),_defineProperty(_data,"title",'App'),_defineProperty(_data,"tabs",[{kind:['tab'],title:'Murder Bot'},(_ref={kind:['tab'],title:'Dr Mensah'},_defineProperty(_ref,_data2.childrenProperty,['elements','deeplink']),_defineProperty(_ref,"elements",[{kind:['element'],title:'robot'},{kind:['element'],title:'human'}]),_defineProperty(_ref,"deeplink",{kind:['link'],title:'goodreads'}),_ref)]),_defineProperty(_data,"settings",{kind:['settings'],title:'Martha Wells'}),_data);describe('zipper predicates',function(){test('propEq',function(){var root=zipper(_immutable.default.fromJS(data));expect((0,_data2.flow)(root,(0,_predicate.propEq)('settings',_immutable.default.fromJS({kind:['settings'],title:'Martha Wells'})))).toBeTruthy();});});