UNPKG

@skele/core

Version:

Core package of the Skele framework. Element definitions, registrations and traversal.

1 lines 1.4 kB
'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.ofKind=exports.propEq=void 0;var _immutable=_interopRequireDefault(require("immutable"));var _ramda=_interopRequireDefault(require("ramda"));var zip=_interopRequireWildcard(require("./impl"));var _data=require("../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};}var isImm=_immutable.default.Iterable.isIterable;var areImm=function areImm(){for(var _len=arguments.length,vals=new Array(_len),_key=0;_key<_len;_key++){vals[_key]=arguments[_key];}return(0,_data.flow)(vals,_ramda.default.all(isImm));};var propEq=_ramda.default.curry(function(key,value,loc){var valueFromLoc=zip.node(loc).get(key);if(areImm(value,valueFromLoc)){return value.equals(valueFromLoc);}else{return _ramda.default.equals(value,valueFromLoc);}});exports.propEq=propEq;var ofKind=_ramda.default.curry(function(kind,loc){return(0,_data.isOfKind)(kind,zip.node(loc));});exports.ofKind=ofKind;