Forráskód Böngészése

update changelog
fix package name in README

afrokick 5 éve
szülő
commit
813f7aaec8
6 módosított fájl, 41 hozzáadás és 26 törlés
  1. 22 16
      README.md
  2. 8 0
      changelog.md
  3. 4 4
      package-lock.json
  4. 1 1
      src/api/v1/public/index.ts
  5. 1 0
      src/config/index.ts
  6. 5 5
      src/models/realm.ts

+ 22 - 16
README.md

@@ -37,11 +37,11 @@ $> peerjs --port 9000 --key peerjs --path /myapp
 Or, create a custom server:
 
 ```bash
-$> npm install peerjs-server
+$> npm install peer
 ```
 
 ```javascript
-import {PeerServer} from 'peerjs-server';
+import {PeerServer} from 'peer';
 
 const server = PeerServer({port: 9000, path: '/myapp'});
 ```
@@ -60,7 +60,7 @@ const server = PeerServer({port: 9000, path: '/myapp'});
 
 ```javascript
 import fs from 'fs';
-import {PeerServer} from 'peerjs-server';
+import {PeerServer} from 'peer';
 
 const server = PeerServer({
   port: 9000,
@@ -79,41 +79,47 @@ The option is passed verbatim to the
 if it is truthy.
 
 ```javascript
-import {PeerServer} from 'peerjs-server';
+import {PeerServer} from 'peer';
 
-const server = PeerServer({port: 9000, path: '/myapp', proxied: true});
+const server = PeerServer({
+  port: 9000,
+  path:
+  '/myapp',
+  proxied: true
+});
 ```
 
-
 ### Custom client ID generation
+By default, PeerServer uses `uuid/v4` package to generate random client IDs.
 
-You can specify a custom function to use to generate client IDs.
+You can set `generateClientId` option in config to specify a custom function to generate client IDs.
 
 ```javascript
-const genRandomId = () => {
-    // Original generation algorithm
-    return (Math.random().toString(36) + '0000000000000000000').substr(2, 16);
-}
+const customGenerationFunction = () => (Math.random().toString(36) + '0000000000000000000').substr(2, 16);
 
-const server = PeerServer({port: 9000, path: '/myapp', proxied: true, genRandomId: genRandomId });
+const server = PeerServer({
+  port: 9000,
+  path: '/myapp',
+  generateClientId: customGenerationFunction
+});
 ```
 
 ### Combining with existing express app
 
 ```javascript
 import express from 'express';
-import {ExpressPeerServer} from 'peerjs-server';
+import {ExpressPeerServer} from 'peer';
 
 const app = express();
-app.get('/', (req, res, next) => { res.send('Hello world!'); });
+app.get('/', (req, res, next) => res.send('Hello world!'));
 
 // =======
 
 const server = app.listen(9000);
 
 const options = {
-    debug: true,
-    path: '/peerjs'
+  debug: true,
+  path: '/peerjs'
 }
 
 const peerserver = ExpressPeerServer(server, options);

+ 8 - 0
changelog.md

@@ -1,5 +1,13 @@
 # PeerServer Changelog
 
+### 0.4.0
+
+* New: Allow passing in custom client ID generation function - #157 Thanks @ajmar
+
+### 0.3.2
+
+* Fixed: fix main field in package.json
+
 ### 0.3.1
 
 * Fixed: no expire message in some cases

+ 4 - 4
package-lock.json

@@ -1,6 +1,6 @@
 {
   "name": "peer",
-  "version": "0.3.1",
+  "version": "0.3.2",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
@@ -3754,9 +3754,9 @@
       },
       "dependencies": {
         "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         }
       }

+ 1 - 1
src/api/v1/public/index.ts

@@ -10,7 +10,7 @@ export default ({ config, realm }: {
   // Retrieve guaranteed random ID.
   app.get("/id", (_, res: express.Response) => {
     res.contentType("html");
-    res.send(realm.generateClientId(config.genRandomId));
+    res.send(realm.generateClientId(config.generateClientId));
   });
 
   // Get a list of all peers for a key, enabled by the `allowDiscovery` flag.

+ 1 - 0
src/config/index.ts

@@ -12,6 +12,7 @@ export interface IConfig {
     key: string;
     cert: string;
   };
+  readonly generateClientId?: () => string;
 }
 
 const defaultConfig: IConfig = {

+ 5 - 5
src/models/realm.ts

@@ -20,7 +20,7 @@ export interface IRealm {
 
   clearMessageQueue(id: string): void;
 
-  generateClientId(genRandomId?: () => string): string;
+  generateClientId(generateClientId?: () => string): string;
 }
 
 export class Realm implements IRealm {
@@ -69,14 +69,14 @@ export class Realm implements IRealm {
     this.messageQueues.delete(id);
   }
 
-  public generateClientId(genRandomId?: () => string): string {
+  public generateClientId(generateClientId?: () => string): string {
 
-    const _genRandomId = genRandomId ? genRandomId : uuidv4;
+    const generateId = generateClientId ? generateClientId : uuidv4;
 
-    let clientId = _genRandomId();
+    let clientId = generateId();
 
     while (this.getClientById(clientId)) {
-      clientId = _genRandomId();
+      clientId = generateId();
     }
 
     return clientId;