Compare commits

...

6 Commits

Author SHA1 Message Date
176c6ba261 1.0.105 2020-09-30 17:39:30 +00:00
af6c634deb fix(core): update 2020-09-30 17:39:29 +00:00
a5ce7b18e8 1.0.104 2020-09-30 00:50:44 +00:00
b6b482f7db fix(core): update 2020-09-30 00:50:43 +00:00
39ed2dbd73 1.0.103 2020-09-30 00:33:58 +00:00
b1defd95a3 fix(core): update 2020-09-30 00:33:57 +00:00
9 changed files with 87 additions and 68 deletions

91
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartuniverse",
"version": "1.0.102",
"version": "1.0.105",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -1349,11 +1349,10 @@
},
"dependencies": {
"@pushrocks/smartenv": {
"version": "4.0.13",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartenv/-/smartenv-4.0.13.tgz",
"integrity": "sha512-6H9bBRrU8lKzIw2G+Cu6gUzIw2Gn/oYHY6gzxAzsozcUQG6tKKM5tU+A12FgVgOiVDDoki+h8LfDu2D85wqq8A==",
"version": "4.0.15",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartenv/-/smartenv-4.0.15.tgz",
"integrity": "sha512-7bz2jzxAnojlIu3jYCZwnG5LEIjAQbLEQFRLpWDzoS80U62kEhC8bhOJ7+pdMHH3xqDYszabiv2PEr5/zQZ/Nw==",
"requires": {
"@pushrocks/smartparam": "^1.1.6",
"@pushrocks/smartpromise": "^3.0.6",
"@types/node": "^14.11.2"
}
@ -1516,6 +1515,7 @@
"version": "8.0.0",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-8.0.0.tgz",
"integrity": "sha512-A5uk7O3UZBXt0obIkQDpN9eihQwq4PVryr21xTv9Uw573mJWGfGB/xs07tdC6Qgbtlvl7i2vXl5qmKFDRky9Mg==",
"dev": true,
"requires": {
"@pushrocks/smarthash": "^2.1.6",
"@pushrocks/smartmime": "^1.0.3",
@ -1531,12 +1531,14 @@
"@pushrocks/smartpath": {
"version": "4.0.3",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpath/-/smartpath-4.0.3.tgz",
"integrity": "sha512-KWz4DWOrB0sPfk6L4i+CPOo+UK5HXNaLI7ZAaqJe1nEWoDrpyeds1dNDaqVAmSgX4riLGxVpslKH5MnABCPsPg=="
"integrity": "sha512-KWz4DWOrB0sPfk6L4i+CPOo+UK5HXNaLI7ZAaqJe1nEWoDrpyeds1dNDaqVAmSgX4riLGxVpslKH5MnABCPsPg==",
"dev": true
},
"@types/fs-extra": {
"version": "9.0.1",
"resolved": "https://verdaccio.lossless.one/@types%2ffs-extra/-/fs-extra-9.0.1.tgz",
"integrity": "sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg==",
"dev": true,
"requires": {
"@types/node": "*"
}
@ -1545,6 +1547,7 @@
"version": "9.0.1",
"resolved": "https://verdaccio.lossless.one/fs-extra/-/fs-extra-9.0.1.tgz",
"integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
"dev": true,
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
@ -1556,6 +1559,7 @@
"version": "3.14.0",
"resolved": "https://verdaccio.lossless.one/js-yaml/-/js-yaml-3.14.0.tgz",
"integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
@ -1565,6 +1569,7 @@
"version": "6.0.1",
"resolved": "https://verdaccio.lossless.one/jsonfile/-/jsonfile-6.0.1.tgz",
"integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^1.0.0"
@ -1573,7 +1578,8 @@
"universalify": {
"version": "1.0.0",
"resolved": "https://verdaccio.lossless.one/universalify/-/universalify-1.0.0.tgz",
"integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
"integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
"dev": true
}
}
},
@ -1848,6 +1854,7 @@
"version": "1.1.6",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartparam/-/smartparam-1.1.6.tgz",
"integrity": "sha512-1El/F2QTWYDGy4Nh6vz9Ry1JVg1FEeyexB7Uvi4zHElpXYVxwso6xImRTLj+SW50JAg7nwEZ+ljkzTG9XvnwWA==",
"dev": true,
"requires": {
"@pushrocks/smartpromise": "^3.0.6",
"is-promise": "^2.1.0",
@ -1964,16 +1971,16 @@
}
},
"@pushrocks/smartsocket": {
"version": "1.1.63",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartsocket/-/smartsocket-1.1.63.tgz",
"integrity": "sha512-ed0JabIzEUDBFie/PlMs7Oh5URbULhdaS4UPKXU6Rj9573sf4i7JuwRdgO+8ozR+jfnE3+fg2gDnJWeG4YUcGg==",
"version": "1.1.67",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartsocket/-/smartsocket-1.1.67.tgz",
"integrity": "sha512-vJ9gBc2T62koUdlqU+NbQIKulR5Xh/8/2BREh/3CxB3GVzFe0eiHlAqu2Pxb0BOWJCya+sejMESqUIVgQBUkuA==",
"requires": {
"@apiglobal/typedrequest-interfaces": "^1.0.15",
"@pushrocks/isohash": "^1.0.2",
"@pushrocks/isounique": "^1.0.4",
"@pushrocks/lik": "^4.0.17",
"@pushrocks/smartdelay": "^2.0.10",
"@pushrocks/smartenv": "^4.0.13",
"@pushrocks/smartenv": "^4.0.15",
"@pushrocks/smartexpress": "^3.0.76",
"@pushrocks/smartlog": "^2.0.39",
"@pushrocks/smartpromise": "^3.0.6",
@ -1986,11 +1993,10 @@
},
"dependencies": {
"@pushrocks/smartenv": {
"version": "4.0.13",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartenv/-/smartenv-4.0.13.tgz",
"integrity": "sha512-6H9bBRrU8lKzIw2G+Cu6gUzIw2Gn/oYHY6gzxAzsozcUQG6tKKM5tU+A12FgVgOiVDDoki+h8LfDu2D85wqq8A==",
"version": "4.0.15",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartenv/-/smartenv-4.0.15.tgz",
"integrity": "sha512-7bz2jzxAnojlIu3jYCZwnG5LEIjAQbLEQFRLpWDzoS80U62kEhC8bhOJ7+pdMHH3xqDYszabiv2PEr5/zQZ/Nw==",
"requires": {
"@pushrocks/smartparam": "^1.1.6",
"@pushrocks/smartpromise": "^3.0.6",
"@types/node": "^14.11.2"
}
@ -2027,6 +2033,7 @@
"version": "3.0.3",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartunique/-/smartunique-3.0.3.tgz",
"integrity": "sha512-f+c3s2WzzjASoRHyYTLU0kHDVWREg4sZVdi5L42bTA3CTUWNrcGUC62h4wP4U4BiPl3bopTr3LPhClZHJ738oA==",
"dev": true,
"requires": {
"@types/shortid": "0.0.29",
"@types/uuid": "^7.0.0",
@ -2386,7 +2393,8 @@
"@types/shortid": {
"version": "0.0.29",
"resolved": "https://verdaccio.lossless.one/@types%2fshortid/-/shortid-0.0.29.tgz",
"integrity": "sha1-gJPuBBam4r8qpjOBCRFLP7/6Dps="
"integrity": "sha1-gJPuBBam4r8qpjOBCRFLP7/6Dps=",
"dev": true
},
"@types/socket.io": {
"version": "2.1.11",
@ -2398,9 +2406,9 @@
}
},
"@types/socket.io-client": {
"version": "1.4.33",
"resolved": "https://verdaccio.lossless.one/@types%2fsocket.io-client/-/socket.io-client-1.4.33.tgz",
"integrity": "sha512-m4LnxkljsI9fMsjwpW5QhRpMixo2BeeLpFmg0AE+sS4H1pzAd/cs/ftTiL60FLZgfFa8PFRPx5KsHu8O0bADKQ=="
"version": "1.4.34",
"resolved": "https://verdaccio.lossless.one/@types%2fsocket.io-client/-/socket.io-client-1.4.34.tgz",
"integrity": "sha512-Lzia5OTQFJZJ5R4HsEEldywiiqT9+W2rDbyHJiiTGqOcju89sCsQ8aUXDljY6Ls33wKZZGC0bfMhr/VpOyjtXg=="
},
"@types/through2": {
"version": "2.0.36",
@ -2430,7 +2438,8 @@
"@types/uuid": {
"version": "7.0.4",
"resolved": "https://verdaccio.lossless.one/@types%2fuuid/-/uuid-7.0.4.tgz",
"integrity": "sha512-WGZCqBZZ0mXN2RxvLHL6/7RCu+OWs28jgQMP04LWfpyJlQUMTR6YU9CNJAKDgbw+EV/u687INXuLUc7FuML/4g=="
"integrity": "sha512-WGZCqBZZ0mXN2RxvLHL6/7RCu+OWs28jgQMP04LWfpyJlQUMTR6YU9CNJAKDgbw+EV/u687INXuLUc7FuML/4g==",
"dev": true
},
"@types/which": {
"version": "1.3.2",
@ -2739,7 +2748,8 @@
"at-least-node": {
"version": "1.0.0",
"resolved": "https://verdaccio.lossless.one/at-least-node/-/at-least-node-1.0.0.tgz",
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
"dev": true
},
"atob": {
"version": "2.1.2",
@ -4691,18 +4701,18 @@
}
},
"engine.io-client": {
"version": "3.4.3",
"resolved": "https://verdaccio.lossless.one/engine.io-client/-/engine.io-client-3.4.3.tgz",
"integrity": "sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw==",
"version": "3.4.4",
"resolved": "https://verdaccio.lossless.one/engine.io-client/-/engine.io-client-3.4.4.tgz",
"integrity": "sha512-iU4CRr38Fecj8HoZEnFtm2EiKGbYZcPn3cHxqNGl/tmdWRf60KhK+9vE0JeSjgnlS/0oynEfLgKbT9ALpim0sQ==",
"requires": {
"component-emitter": "~1.3.0",
"component-inherit": "0.0.3",
"debug": "~4.1.0",
"debug": "~3.1.0",
"engine.io-parser": "~2.2.0",
"has-cors": "1.1.0",
"indexof": "0.0.1",
"parseqs": "0.0.5",
"parseuri": "0.0.5",
"parseqs": "0.0.6",
"parseuri": "0.0.6",
"ws": "~6.1.0",
"xmlhttprequest-ssl": "~1.5.4",
"yeast": "0.1.2"
@ -4713,6 +4723,24 @@
"resolved": "https://verdaccio.lossless.one/component-emitter/-/component-emitter-1.3.0.tgz",
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
},
"debug": {
"version": "3.1.0",
"resolved": "https://verdaccio.lossless.one/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "2.0.0"
}
},
"parseqs": {
"version": "0.0.6",
"resolved": "https://verdaccio.lossless.one/parseqs/-/parseqs-0.0.6.tgz",
"integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w=="
},
"parseuri": {
"version": "0.0.6",
"resolved": "https://verdaccio.lossless.one/parseuri/-/parseuri-0.0.6.tgz",
"integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow=="
},
"ws": {
"version": "6.1.4",
"resolved": "https://verdaccio.lossless.one/ws/-/ws-6.1.4.tgz",
@ -4866,7 +4894,7 @@
},
"esutils": {
"version": "2.0.3",
"resolved": "https://verdaccio.lossless.one/esutils/-/esutils-2.0.3.tgz",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true
},
@ -7583,7 +7611,8 @@
"nanoid": {
"version": "2.1.11",
"resolved": "https://verdaccio.lossless.one/nanoid/-/nanoid-2.1.11.tgz",
"integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA=="
"integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==",
"dev": true
},
"nanomatch": {
"version": "1.2.13",
@ -9783,6 +9812,7 @@
"version": "2.2.15",
"resolved": "https://verdaccio.lossless.one/shortid/-/shortid-2.2.15.tgz",
"integrity": "sha512-5EaCy2mx2Jgc/Fdn9uuDuNIIfWBpzY4XIlhoqtXF6qsf+/+SGZ+FxDdX/ZsMZiWupIWNqAEmiNY4RC+LSmCeOw==",
"dev": true,
"requires": {
"nanoid": "^2.1.0"
}
@ -11092,7 +11122,8 @@
"uuid": {
"version": "7.0.3",
"resolved": "https://verdaccio.lossless.one/uuid/-/uuid-7.0.3.tgz",
"integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg=="
"integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==",
"dev": true
},
"v8-compile-cache": {
"version": "2.1.1",

View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartuniverse",
"version": "1.0.102",
"version": "1.0.105",
"private": false,
"description": "messaging service for your micro services",
"main": "dist_ts/index.js",
@ -26,18 +26,16 @@
},
"dependencies": {
"@apiglobal/typedrequest-interfaces": "^1.0.15",
"@pushrocks/isohash": "^1.0.2",
"@pushrocks/isounique": "^1.0.4",
"@pushrocks/lik": "^4.0.17",
"@pushrocks/smartdelay": "^2.0.10",
"@pushrocks/smartexpress": "^3.0.76",
"@pushrocks/smartfile": "^8.0.0",
"@pushrocks/smarthash": "^2.1.6",
"@pushrocks/smartlog": "^2.0.39",
"@pushrocks/smartpromise": "^3.0.6",
"@pushrocks/smartrequest": "^1.1.51",
"@pushrocks/smartrx": "^2.0.19",
"@pushrocks/smartsocket": "^1.1.63",
"@pushrocks/smarttime": "^3.0.35",
"@pushrocks/smartunique": "^3.0.3"
"@pushrocks/smartsocket": "^1.1.67",
"@pushrocks/smarttime": "^3.0.35"
},
"files": [
"ts/**/*",

View File

@ -90,7 +90,7 @@ export class ClientUniverseChannel implements interfaces.IUniverseChannel {
public async postMessage(messageArg: interfaces.IMessageCreator) {
await this.clientUniverseRef.start(); // its ok to call this multiple times
const universeMessageToSend: interfaces.IUniverseMessage = {
id: plugins.smartunique.shortId(),
id: plugins.isounique.uni(),
timestamp: Date.now(),
passphrase: this.passphrase,
targetChannelName: this.name,

View File

@ -37,7 +37,7 @@ export class ReactionRequest<T extends plugins.typedrequestInterfaces.ITypedRequ
) {
const subscriptionMap = new plugins.lik.ObjectMap<plugins.smartrx.rxjs.Subscription>();
const reactionResult = new ReactionResult<T>();
const requestId = plugins.smartunique.shortId();
const requestId = plugins.isounique.uni();
for (const channel of channelsArg) {
subscriptionMap.add(
channel.subscribe(

View File

@ -4,8 +4,6 @@ import * as pluginsTyped from './smartuniverse.pluginstyped';
import { Handler, Route, Server } from '@pushrocks/smartexpress';
import { UniverseCache, UniverseChannel, UniverseMessage } from './';
import * as paths from './smartuniverse.paths';
import * as interfaces from './interfaces';
import { UniverseConnection } from './smartuniverse.classes.universeconnection';
import { logger } from './smartuniverse.logging';
@ -49,7 +47,7 @@ export class Universe {
/**
* get the currently running version of smartuniverse
*/
public getUniverseVersion() {
/* public getUniverseVersion() {
if (this.universeVersionStore) {
return this.universeVersionStore;
} else {
@ -57,7 +55,7 @@ export class Universe {
this.universeVersionStore = packageJson.version;
return this.universeVersionStore;
}
}
} */
/**
* adds a channel to the Universe
@ -79,7 +77,13 @@ export class Universe {
/**
* initiates a server
*/
public async start(portArg: number) {
public async start(portArg?: number) {
if (!this.options.externalServer && !portArg) {
throw new Error(`You supplied an external error. You need to specify a portArg to start on.`);
}
portArg = portArg || 3000; // TODO: remove
// add websocket upgrade
this.smartsocket = new plugins.smartsocket.Smartsocket({
port: portArg
@ -94,7 +98,7 @@ export class Universe {
// add a role for the clients
const ClientRole = new plugins.smartsocket.SocketRole({
name: 'UniverseClient',
passwordHash: plugins.smarthash.sha256FromStringSync('UniverseClient'), // authentication happens on another level
passwordHash: await plugins.isohash.sha256FromString('UniverseClient'), // authentication happens on another level
});
// add the role to smartsocket

View File

@ -157,7 +157,7 @@ export class UniverseChannel {
*/
public async postMessage(messageDescriptor: interfaces.IMessageCreator) {
const messageToSend = new UniverseMessage({
id: plugins.smartunique.shortId(),
id: plugins.isounique.uni(),
messageText: messageDescriptor.messageText,
payload: messageDescriptor.payload,
targetChannelName: this.name,

View File

@ -1,7 +1,5 @@
import * as plugins from './smartuniverse.plugins';
import * as interfaces from './interfaces';
import { Timer, TimeStamp } from '@pushrocks/smarttime';
import { Universe } from './smartuniverse.classes.universe';
import { UniverseChannel } from './smartuniverse.classes.universechannel';
import { UniverseCache } from './smartuniverse.classes.universecache';
@ -24,7 +22,7 @@ export class UniverseMessage<T> implements interfaces.IUniverseMessage {
public id: string;
public timestamp: number;
public smartTimestamp: TimeStamp;
public smartTimestamp: plugins.smarttime.TimeStamp;
public messageText: string;
public passphrase: string;
public payload: T;
@ -49,7 +47,7 @@ export class UniverseMessage<T> implements interfaces.IUniverseMessage {
/**
* a destruction timer for this message
*/
public destructionTimer: Timer; // a timer to take care of message destruction
public destructionTimer: plugins.smarttime.Timer; // a timer to take care of message destruction
/**
* the constructor to create a universe message
@ -57,7 +55,7 @@ export class UniverseMessage<T> implements interfaces.IUniverseMessage {
* @param attachedPayloadArg
*/
constructor(messageDescriptor: interfaces.IUniverseMessage) {
this.smartTimestamp = new TimeStamp(this.timestamp);
this.smartTimestamp = new plugins.smarttime.TimeStamp(this.timestamp);
this.messageText = messageDescriptor.messageText;
this.targetChannelName = messageDescriptor.targetChannelName;
this.passphrase = messageDescriptor.passphrase;
@ -74,7 +72,7 @@ export class UniverseMessage<T> implements interfaces.IUniverseMessage {
public setDestructionTimer(selfdestructAfterArg?: number) {
if (selfdestructAfterArg) {
this.destructionTimer = new Timer(selfdestructAfterArg);
this.destructionTimer = new plugins.smarttime.Timer(selfdestructAfterArg);
this.destructionTimer.start();
// set up self destruction by removing this from the parent messageCache
this.destructionTimer.completed

View File

@ -1,3 +0,0 @@
import * as plugins from './smartuniverse.plugins';
export const packageJson = plugins.path.join(__dirname, '../package.json');

View File

@ -1,8 +1,3 @@
// node native
import * as path from 'path';
export { path };
// apiglobal scope
import * as typedrequestInterfaces from '@apiglobal/typedrequest-interfaces';
@ -10,27 +5,23 @@ export { typedrequestInterfaces };
// pushrocks scope
import * as lik from '@pushrocks/lik';
import * as smarthash from '@pushrocks/smarthash';
import * as isohash from '@pushrocks/isohash';
import * as smartdelay from '@pushrocks/smartdelay';
import * as smartfile from '@pushrocks/smartfile';
import * as smartlog from '@pushrocks/smartlog';
import * as smartpromise from '@pushrocks/smartpromise';
import * as smartrequest from '@pushrocks/smartrequest';
import * as smartrx from '@pushrocks/smartrx';
import * as smartsocket from '@pushrocks/smartsocket';
import * as smarttime from '@pushrocks/smarttime';
import * as smartunique from '@pushrocks/smartunique';
import * as isounique from '@pushrocks/isounique';
export {
lik,
smarthash,
isohash,
smartdelay,
smartfile,
smartlog,
smartpromise,
smartrx,
smartrequest,
smartsocket,
smarttime,
smartunique,
isounique,
};