Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@appbaseio/reactivecore

Package Overview
Dependencies
Maintainers
4
Versions
289
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@appbaseio/reactivecore - npm Package Compare versions

Comparing version 5.3.2 to 6.0.0

2

lib/actions/hits.js

@@ -1,1 +0,1 @@

Object.defineProperty(exports,"__esModule",{value:true});exports.updateAggs=updateAggs;exports.updateHits=updateHits;exports.pushToStreamHits=pushToStreamHits;var _constants=require('../constants');function updateAggs(component,aggregations){return{type:_constants.UPDATE_AGGS,component:component,aggregations:aggregations};}function updateHits(component,hits,time){var append=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return{type:_constants.UPDATE_HITS,component:component,hits:hits.hits,total:hits.total,time:time,append:append};}function pushToStreamHits(component,hit){return{type:_constants.PUSH_TO_STREAM_HITS,component:component,hit:hit};}
Object.defineProperty(exports,"__esModule",{value:true});exports.updateAggs=updateAggs;exports.updateHits=updateHits;exports.pushToStreamHits=pushToStreamHits;var _constants=require('../constants');function updateAggs(component,aggregations){var append=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;return{type:_constants.UPDATE_AGGS,component:component,aggregations:aggregations,append:append};}function updateHits(component,hits,time){var append=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return{type:_constants.UPDATE_HITS,component:component,hits:hits.hits,total:hits.total,time:time,append:append};}function pushToStreamHits(component,hit){return{type:_constants.PUSH_TO_STREAM_HITS,component:component,hit:hit};}

@@ -1,1 +0,1 @@

Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};exports.setQuery=setQuery;exports.updateQueryOptions=updateQueryOptions;exports.logQuery=logQuery;exports.logCombinedQuery=logCombinedQuery;exports.setStreaming=setStreaming;exports.setHeaders=setHeaders;exports.executeQuery=executeQuery;exports.setQueryOptions=setQueryOptions;exports.updateQuery=updateQuery;exports.loadMore=loadMore;exports.setQueryListener=setQueryListener;var _constants=require('../constants');var _value=require('./value');var _hits=require('./hits');var _helper=require('../utils/helper');var _analytics=require('../utils/analytics');var _analytics2=_interopRequireDefault(_analytics);var _maps=require('./maps');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}}function setQuery(component,query){return{type:_constants.SET_QUERY,component:component,query:query};}function updateQueryOptions(component,options){return{type:_constants.SET_QUERY_OPTIONS,component:component,options:options};}function logQuery(component,query){return{type:_constants.LOG_QUERY,component:component,query:query};}function logCombinedQuery(component,query){return{type:_constants.LOG_COMBINED_QUERY,component:component,query:query};}function setLoading(component,isLoading){return{type:_constants.SET_LOADING,component:component,isLoading:isLoading};}function setTimestamp(component,timestamp){return{type:_constants.SET_TIMESTAMP,component:component,timestamp:timestamp};}function setStreaming(component){var status=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var ref=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;return{type:_constants.SET_STREAMING,component:component,status:status,ref:ref};}function setHeaders(headers){return{type:_constants.SET_HEADERS,headers:headers};}function setSearchId(){var searchId=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;return{type:_constants.SET_SEARCH_ID,searchId:searchId};}function msearch(query,orderOfQueries){var appendToHits=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var isInternalComponent=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return function(dispatch,getState){var _getState=getState(),appbaseRef=_getState.appbaseRef,config=_getState.config,headers=_getState.headers,queryListener=_getState.queryListener,analytics=_getState.analytics,selectedValues=_getState.selectedValues;var searchHeaders={};if(config.analytics&&!isInternalComponent){var searchValue=analytics.searchValue,searchId=analytics.searchId;var filterString=(0,_analytics2.default)(selectedValues);if(searchId){searchHeaders=_extends({'X-Search-Id':searchId},filterString&&{'X-Search-Filters':filterString});}else if(searchValue){searchHeaders=_extends({'X-Search-Query':searchValue},filterString&&{'X-Search-Filters':filterString});}}appbaseRef.setHeaders(_extends({},headers,searchHeaders));appbaseRef.msearch({type:config.type==='*'?'':config.type,body:query}).then(function(res){var searchId=res._headers.get('X-Search-Id');if(searchId){dispatch(setSearchId(searchId));}orderOfQueries.forEach(function(component,index){var response=res.responses[index];var _getState2=getState(),timestamp=_getState2.timestamp;if(timestamp[component]===undefined||timestamp[component]<res._timestamp){if(response.hits){dispatch(setTimestamp(component,res._timestamp));dispatch((0,_hits.updateHits)(component,response.hits,response.took,appendToHits));dispatch(setLoading(component,false));}if(response.aggregations){dispatch((0,_hits.updateAggs)(component,response.aggregations));}}});}).catch(function(error){console.error(error);orderOfQueries.forEach(function(component){if(queryListener[component]&&queryListener[component].onError){queryListener[component].onError(error);}dispatch(setLoading(component,false));});});};}function executeQueryListener(listener,oldQuery,newQuery){if(listener&&listener.onQueryChange){listener.onQueryChange(oldQuery,newQuery);}}function executeQuery(componentId){var executeWatchList=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var mustExecuteMapQuery=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;return function(dispatch,getState){var _getState3=getState(),queryLog=_getState3.queryLog,stream=_getState3.stream,appbaseRef=_getState3.appbaseRef,config=_getState3.config,mapData=_getState3.mapData,watchMan=_getState3.watchMan,dependencyTree=_getState3.dependencyTree,queryList=_getState3.queryList,queryOptions=_getState3.queryOptions,queryListener=_getState3.queryListener;var orderOfQueries=[];var finalQuery=[];var matchAllQuery={match_all:{}};var componentList=[componentId];if(executeWatchList){var watchList=watchMan[componentId]||[];componentList=[].concat(_toConsumableArray(componentList),_toConsumableArray(watchList));}componentList.forEach(function(component){var _buildQuery=(0,_helper.buildQuery)(component,dependencyTree,queryList,queryOptions),queryObj=_buildQuery.queryObj,options=_buildQuery.options;var validOptions=['aggs','from','sort'];if(queryObj&&!!Object.keys(queryObj).length||options&&Object.keys(options).some(function(item){return validOptions.includes(item);})){if(!queryObj||queryObj&&!Object.keys(queryObj).length){queryObj=_extends({},matchAllQuery);}var currentQuery=_extends({query:_extends({},queryObj)},options,queryOptions[component]);var queryToLog=_extends({query:_extends({},queryObj)},options,queryOptions[component]);var oldQuery=queryLog[component];if(mustExecuteMapQuery||!(0,_helper.isEqual)(currentQuery,oldQuery)){orderOfQueries=[].concat(_toConsumableArray(orderOfQueries),[component]);dispatch(logQuery(component,queryToLog));var isMapComponent=Object.keys(mapData).includes(component);if(isMapComponent&&mapData[component].query){var existingQuery=currentQuery.query;currentQuery.query={bool:{must:[existingQuery,mapData[component].query]}};if(!mapData[component].persistMapQuery){dispatch((0,_maps.updateMapData)(componentId,null,false));}var _getState4=getState(),combinedLog=_getState4.combinedLog;if((0,_helper.isEqual)(combinedLog[component],currentQuery))return;dispatch(logCombinedQuery(component,currentQuery));}executeQueryListener(queryListener[component],oldQuery,currentQuery);if(stream[component]&&stream[component].status){if(stream[component].ref){stream[component].ref.stop();}var ref=appbaseRef.searchStream({type:config.type==='*'?'':config.type,body:currentQuery},function(response){if(response._id){dispatch((0,_hits.pushToStreamHits)(component,response));}},function(error){if(queryListener[component]&&queryListener[component].onError){queryListener[component].onError(error);}console.warn(error);dispatch(setLoading(component,false));});dispatch(setStreaming(component,true,ref));}finalQuery=[].concat(_toConsumableArray(finalQuery),[{preference:component},currentQuery]);}}});if(finalQuery.length){dispatch(msearch(finalQuery,orderOfQueries,false,componentId.endsWith('__internal')));}};}function setQueryOptions(component,queryOptions){var execute=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;return function(dispatch){dispatch(updateQueryOptions(component,queryOptions));if(execute){dispatch(executeQuery(component,true));}};}function updateQuery(_ref){var componentId=_ref.componentId,query=_ref.query,value=_ref.value,_ref$label=_ref.label,label=_ref$label===undefined?null:_ref$label,_ref$showFilter=_ref.showFilter,showFilter=_ref$showFilter===undefined?true:_ref$showFilter,_ref$URLParams=_ref.URLParams,URLParams=_ref$URLParams===undefined?false:_ref$URLParams,_ref$componentType=_ref.componentType,componentType=_ref$componentType===undefined?null:_ref$componentType;var execute=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return function(dispatch){var queryToDispatch=query;if(query&&query.query){queryToDispatch=query.query;}if(!componentId.endsWith('__internal')){dispatch((0,_value.setValue)(componentId,value,label,showFilter,URLParams,componentType));}dispatch(setQuery(componentId,queryToDispatch));if(execute)dispatch(executeQuery(componentId,true));};}function loadMore(component,newOptions){var append=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;return function(dispatch,getState){var store=getState();var _buildQuery2=(0,_helper.buildQuery)(component,store.dependencyTree,store.queryList,store.queryOptions),queryObj=_buildQuery2.queryObj,options=_buildQuery2.options;var queryLog=store.queryLog;if(!options)options={};options=_extends({},options,newOptions);if(!queryObj||queryObj&&!Object.keys(queryObj).length){queryObj={match_all:{}};}var currentQuery=_extends({query:_extends({},queryObj)},options);if((0,_helper.isEqual)(queryLog[component],currentQuery))return;dispatch(logQuery(component,currentQuery));var finalQuery=[{preference:component},currentQuery];dispatch(msearch(finalQuery,[component],append));};}function setQueryListener(component,onQueryChange,onError){return{type:_constants.SET_QUERY_LISTENER,component:component,onQueryChange:onQueryChange,onError:onError};}
Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};exports.setQuery=setQuery;exports.updateQueryOptions=updateQueryOptions;exports.logQuery=logQuery;exports.logCombinedQuery=logCombinedQuery;exports.setStreaming=setStreaming;exports.setHeaders=setHeaders;exports.executeQuery=executeQuery;exports.setQueryOptions=setQueryOptions;exports.updateQuery=updateQuery;exports.loadMore=loadMore;exports.setQueryListener=setQueryListener;var _constants=require('../constants');var _value=require('./value');var _hits=require('./hits');var _helper=require('../utils/helper');var _analytics=require('../utils/analytics');var _analytics2=_interopRequireDefault(_analytics);var _maps=require('./maps');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}}function setQuery(component,query){return{type:_constants.SET_QUERY,component:component,query:query};}function updateQueryOptions(component,options){return{type:_constants.SET_QUERY_OPTIONS,component:component,options:options};}function logQuery(component,query){return{type:_constants.LOG_QUERY,component:component,query:query};}function logCombinedQuery(component,query){return{type:_constants.LOG_COMBINED_QUERY,component:component,query:query};}function setLoading(component,isLoading){return{type:_constants.SET_LOADING,component:component,isLoading:isLoading};}function setTimestamp(component,timestamp){return{type:_constants.SET_TIMESTAMP,component:component,timestamp:timestamp};}function setStreaming(component){var status=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var ref=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;return{type:_constants.SET_STREAMING,component:component,status:status,ref:ref};}function setHeaders(headers){return{type:_constants.SET_HEADERS,headers:headers};}function setSearchId(){var searchId=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;return{type:_constants.SET_SEARCH_ID,searchId:searchId};}function msearch(query,orderOfQueries){var appendToHits=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var isInternalComponent=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var appendToAggs=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;return function(dispatch,getState){var _getState=getState(),appbaseRef=_getState.appbaseRef,config=_getState.config,headers=_getState.headers,queryListener=_getState.queryListener,analytics=_getState.analytics,selectedValues=_getState.selectedValues;var searchHeaders={};if(config.analytics&&!isInternalComponent){var searchValue=analytics.searchValue,searchId=analytics.searchId;var filterString=(0,_analytics2.default)(selectedValues);if(searchId){searchHeaders=_extends({'X-Search-Id':searchId},filterString&&{'X-Search-Filters':filterString});}else if(searchValue){searchHeaders=_extends({'X-Search-Query':searchValue},filterString&&{'X-Search-Filters':filterString});}}appbaseRef.setHeaders(_extends({},headers,searchHeaders));appbaseRef.msearch({type:config.type==='*'?'':config.type,body:query}).then(function(res){var searchId=res._headers.get('X-Search-Id');if(searchId){dispatch(setSearchId(searchId));}orderOfQueries.forEach(function(component,index){var response=res.responses[index];var _getState2=getState(),timestamp=_getState2.timestamp;if(timestamp[component]===undefined||timestamp[component]<res._timestamp){if(response.hits){dispatch(setTimestamp(component,res._timestamp));dispatch((0,_hits.updateHits)(component,response.hits,response.took,appendToHits));dispatch(setLoading(component,false));}if(response.aggregations){dispatch((0,_hits.updateAggs)(component,response.aggregations,appendToAggs));}}});}).catch(function(error){console.error(error);orderOfQueries.forEach(function(component){if(queryListener[component]&&queryListener[component].onError){queryListener[component].onError(error);}dispatch(setLoading(component,false));});});};}function executeQueryListener(listener,oldQuery,newQuery){if(listener&&listener.onQueryChange){listener.onQueryChange(oldQuery,newQuery);}}function executeQuery(componentId){var executeWatchList=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var mustExecuteMapQuery=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;return function(dispatch,getState){var _getState3=getState(),queryLog=_getState3.queryLog,stream=_getState3.stream,appbaseRef=_getState3.appbaseRef,config=_getState3.config,mapData=_getState3.mapData,watchMan=_getState3.watchMan,dependencyTree=_getState3.dependencyTree,queryList=_getState3.queryList,queryOptions=_getState3.queryOptions,queryListener=_getState3.queryListener;var orderOfQueries=[];var finalQuery=[];var matchAllQuery={match_all:{}};var componentList=[componentId];if(executeWatchList){var watchList=watchMan[componentId]||[];componentList=[].concat(_toConsumableArray(componentList),_toConsumableArray(watchList));}componentList.forEach(function(component){var _buildQuery=(0,_helper.buildQuery)(component,dependencyTree,queryList,queryOptions),queryObj=_buildQuery.queryObj,options=_buildQuery.options;var validOptions=['aggs','from','sort'];if(queryObj&&!!Object.keys(queryObj).length||options&&Object.keys(options).some(function(item){return validOptions.includes(item);})){if(!queryObj||queryObj&&!Object.keys(queryObj).length){queryObj=_extends({},matchAllQuery);}var currentQuery=_extends({query:_extends({},queryObj)},options,queryOptions[component]);var queryToLog=_extends({query:_extends({},queryObj)},options,queryOptions[component]);var oldQuery=queryLog[component];if(mustExecuteMapQuery||!(0,_helper.isEqual)(currentQuery,oldQuery)){orderOfQueries=[].concat(_toConsumableArray(orderOfQueries),[component]);dispatch(logQuery(component,queryToLog));var isMapComponent=Object.keys(mapData).includes(component);if(isMapComponent&&mapData[component].query){var existingQuery=currentQuery.query;currentQuery.query={bool:{must:[existingQuery,mapData[component].query]}};if(!mapData[component].persistMapQuery){dispatch((0,_maps.updateMapData)(componentId,null,false));}var _getState4=getState(),combinedLog=_getState4.combinedLog;if((0,_helper.isEqual)(combinedLog[component],currentQuery))return;dispatch(logCombinedQuery(component,currentQuery));}executeQueryListener(queryListener[component],oldQuery,currentQuery);if(stream[component]&&stream[component].status){if(stream[component].ref){stream[component].ref.stop();}var ref=appbaseRef.searchStream({type:config.type==='*'?'':config.type,body:currentQuery},function(response){if(response._id){dispatch((0,_hits.pushToStreamHits)(component,response));}},function(error){if(queryListener[component]&&queryListener[component].onError){queryListener[component].onError(error);}console.warn(error);dispatch(setLoading(component,false));});dispatch(setStreaming(component,true,ref));}finalQuery=[].concat(_toConsumableArray(finalQuery),[{preference:component},currentQuery]);}}});if(finalQuery.length){dispatch(msearch(finalQuery,orderOfQueries,false,componentId.endsWith('__internal')));}};}function setQueryOptions(component,queryOptions){var execute=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;return function(dispatch){dispatch(updateQueryOptions(component,queryOptions));if(execute){dispatch(executeQuery(component,true));}};}function updateQuery(_ref){var componentId=_ref.componentId,query=_ref.query,value=_ref.value,_ref$label=_ref.label,label=_ref$label===undefined?null:_ref$label,_ref$showFilter=_ref.showFilter,showFilter=_ref$showFilter===undefined?true:_ref$showFilter,_ref$URLParams=_ref.URLParams,URLParams=_ref$URLParams===undefined?false:_ref$URLParams,_ref$componentType=_ref.componentType,componentType=_ref$componentType===undefined?null:_ref$componentType;var execute=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return function(dispatch){var queryToDispatch=query;if(query&&query.query){queryToDispatch=query.query;}if(!componentId.endsWith('__internal')){dispatch((0,_value.setValue)(componentId,value,label,showFilter,URLParams,componentType));}dispatch(setQuery(componentId,queryToDispatch));if(execute)dispatch(executeQuery(componentId,true));};}function loadMore(component,newOptions){var appendToHits=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var appendToAggs=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;return function(dispatch,getState){var store=getState();var _buildQuery2=(0,_helper.buildQuery)(component,store.dependencyTree,store.queryList,store.queryOptions),queryObj=_buildQuery2.queryObj,options=_buildQuery2.options;var queryLog=store.queryLog;if(!options)options={};options=_extends({},options,newOptions);if(!queryObj||queryObj&&!Object.keys(queryObj).length){queryObj={match_all:{}};}var currentQuery=_extends({query:_extends({},queryObj)},options);if((0,_helper.isEqual)(queryLog[component],currentQuery))return;dispatch(logQuery(component,currentQuery));var finalQuery=[{preference:component},currentQuery];dispatch(msearch(finalQuery,[component],appendToHits,false,appendToAggs));};}function setQueryListener(component,onQueryChange,onError){return{type:_constants.SET_QUERY_LISTENER,component:component,onQueryChange:onQueryChange,onError:onError};}

@@ -1,1 +0,1 @@

Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};exports.default=aggsReducer;var _constants=require('../constants');function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}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;}function aggsReducer(){var state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var action=arguments[1];if(action.type===_constants.UPDATE_AGGS){return _extends({},state,_defineProperty({},action.component,action.aggregations));}else if(action.type===_constants.REMOVE_COMPONENT){var del=state[action.component],obj=_objectWithoutProperties(state,[action.component]);return obj;}return state;}
Object.defineProperty(exports,"__esModule",{value:true});var _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source){if(Object.prototype.hasOwnProperty.call(source,key)){target[key]=source[key];}}}return target;};exports.default=aggsReducer;var _constants=require('../constants');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;}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}}function _objectWithoutProperties(obj,keys){var target={};for(var i in obj){if(keys.indexOf(i)>=0)continue;if(!Object.prototype.hasOwnProperty.call(obj,i))continue;target[i]=obj[i];}return target;}function aggsReducer(){var state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var action=arguments[1];if(action.type===_constants.UPDATE_AGGS){if(action.append){var field=Object.keys(state[action.component])[0];var _action$aggregations$=action.aggregations[field],newBuckets=_action$aggregations$.buckets,aggsData=_objectWithoutProperties(_action$aggregations$,['buckets']);return _extends({},state,_defineProperty({},action.component,_defineProperty({},field,_extends({buckets:[].concat(_toConsumableArray(state[action.component][field].buckets),_toConsumableArray(newBuckets))},aggsData))));}return _extends({},state,_defineProperty({},action.component,action.aggregations));}else if(action.type===_constants.REMOVE_COMPONENT){var del=state[action.component],obj=_objectWithoutProperties(state,[action.component]);return obj;}return state;}
{
"name": "@appbaseio/reactivecore",
"version": "5.3.2",
"version": "6.0.0",
"description": "Core architecture of reactive UI libraries",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc