Socket
Socket
Sign inDemoInstall

mx-puppet-bridge

Package Overview
Dependencies
198
Maintainers
1
Versions
112
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.35-2 to 0.0.35-3

1

lib/src/index.d.ts

@@ -12,2 +12,1 @@ export * from "./puppetbridge";

export { IStringFormatterVars } from "./structures/stringformatter";
export { ExpireSet } from "./structures/expireset";

@@ -25,3 +25,1 @@ "use strict";

exports.Store = store_1.Store;
var expireset_1 = require("./structures/expireset");
exports.ExpireSet = expireset_1.ExpireSet;

6

lib/src/structures/messagededuplicator.js

@@ -25,3 +25,3 @@ "use strict";

const lock_1 = require("./lock");
const expireset_1 = require("./expireset");
const expire_set_1 = require("expire-set");
const DEFAULT_LOCK_TIMEOUT = 30000;

@@ -33,4 +33,4 @@ const DEFAULT_LOCK_DATA_TIMEOUT = 300000;

const ldt = lockDataTimeout || DEFAULT_LOCK_DATA_TIMEOUT;
this.data = new expireset_1.ExpireSet(ldt);
this.authorIds = new expireset_1.ExpireSet(ldt);
this.data = new expire_set_1.default(ldt);
this.authorIds = new expire_set_1.default(ldt);
}

@@ -37,0 +37,0 @@ lock(roomId, authorId, message) {

@@ -18,4 +18,5 @@ export interface IStringFormatterVars {

static getIfParts(pattern: string, i: number): IStringFormatterGetIfPartsResult;
static scanBlock(pattern: string, i: number): string;
static scanBlock(pattern: string, i: number, chars: string): string;
static condition(pattern: string, vars: IStringFormatterVars): string;
}
export {};

@@ -30,3 +30,3 @@ "use strict";

i += res.length;
const ifComputed = StringFormatter.format(res.if, vars);
const ifComputed = StringFormatter.condition(res.if, vars);
if (ifComputed) {

@@ -56,3 +56,3 @@ result += StringFormatter.format(res.then, vars);

const char = pattern[i];
if (char.match(/[a-z]/)) {
if (char.match(/[a-z0-9]/)) {
length++;

@@ -83,3 +83,3 @@ varName += char;

if (char === "[") {
const res = StringFormatter.scanBlock(pattern, i);
const res = StringFormatter.scanBlock(pattern, i, "[]");
i += res.length - 1;

@@ -111,3 +111,3 @@ length += res.length - 1;

}
static scanBlock(pattern, i) {
static scanBlock(pattern, i, chars) {
let result = "";

@@ -122,6 +122,6 @@ let depth = 0;

}
else if (char === "[") {
else if (char === chars[0]) {
depth++;
}
else if (char === "]") {
else if (char === chars[1]) {
depth--;

@@ -135,3 +135,58 @@ if (depth === 0) {

}
static condition(pattern, vars) {
let result = "";
for (let i = 0; i < pattern.length; i++) {
const char = pattern[i];
switch (char) {
case ":": {
const res = StringFormatter.insertVar(pattern, vars, i);
result += res.result;
i += res.length;
break;
}
case "=": {
const res = StringFormatter.condition(pattern.substr(i + 1), vars);
if (res === result) {
return res;
}
return "";
}
case "|": {
if (result) {
return result;
}
return StringFormatter.condition(pattern.substr(i + 1), vars);
}
case "&": {
if (!result) {
return "";
}
return StringFormatter.condition(pattern.substr(i + 1), vars);
}
case "^": {
const res = StringFormatter.condition(pattern.substr(i + 1), vars);
const res1 = result ? 1 : 0;
const res2 = res ? 1 : 0;
if (res1 ^ res2) {
return result || res;
}
return "";
}
case "(": {
const res = StringFormatter.scanBlock(pattern, i, "()");
i += res.length - 1;
result += StringFormatter.condition(res.substring(1, res.length - 1), vars);
break;
}
case "\\":
i++;
result += pattern[i];
break;
default:
result += char;
}
}
return result;
}
}
exports.StringFormatter = StringFormatter;

@@ -25,3 +25,3 @@ "use strict";

const log_1 = require("./log");
const expireset_1 = require("./structures/expireset");
const expire_set_1 = require("expire-set");
const log = new log_1.Log("TypingHandler");

@@ -32,3 +32,3 @@ class TypingHandler {

this.timeout = timeout;
this.typingUsers = new expireset_1.ExpireSet(this.timeout);
this.typingUsers = new expire_set_1.default(this.timeout);
}

@@ -35,0 +35,0 @@ set(mxid, roomId, typing) {

{
"name": "mx-puppet-bridge",
"version": "0.0.35-2",
"version": "0.0.35-3",
"description": "Matrix Puppeting Bridge library",

@@ -25,2 +25,3 @@ "repository": {

"events": "^3.1.0",
"expire-set": "^1.0.0",
"file-type": "^12.4.2",

@@ -30,3 +31,3 @@ "hasha": "^5.2.0",

"markdown-it": "^9.1.0",
"matrix-bot-sdk": "^0.5.3",
"matrix-bot-sdk": "git+https://github.com/Sorunome/matrix-js-bot-sdk.git#d7bd4433b908322d809a65a0793e2a54921aa1b0",
"pg-promise": "^8.7.5",

@@ -33,0 +34,0 @@ "request": "^2.88.2",

@@ -25,2 +25,1 @@ /*

export { IStringFormatterVars } from "./structures/stringformatter";
export { ExpireSet } from "./structures/expireset";

@@ -15,3 +15,3 @@ /*

import { Lock } from "./lock";
import { ExpireSet } from "./expireset";
import ExpireSet from "expire-set";

@@ -18,0 +18,0 @@ const DEFAULT_LOCK_TIMEOUT = 30000;

@@ -45,3 +45,3 @@ /*

i += res.length;
const ifComputed = StringFormatter.format(res.if, vars);
const ifComputed = StringFormatter.condition(res.if, vars);
if (ifComputed) {

@@ -71,3 +71,3 @@ result += StringFormatter.format(res.then, vars);

const char = pattern[i];
if (char.match(/[a-z]/)) {
if (char.match(/[a-z0-9]/)) {
length++;

@@ -98,3 +98,3 @@ varName += char;

if (char === "[") {
const res = StringFormatter.scanBlock(pattern, i);
const res = StringFormatter.scanBlock(pattern, i, "[]");
i += res.length - 1;

@@ -124,3 +124,3 @@ length += res.length - 1;

public static scanBlock(pattern: string, i: number): string {
public static scanBlock(pattern: string, i: number, chars: string): string {
let result = "";

@@ -134,5 +134,5 @@ let depth = 0;

result += pattern[i];
} else if (char === "[") {
} else if (char === chars[0]) {
depth++;
} else if (char === "]") {
} else if (char === chars[1]) {
depth--;

@@ -146,2 +146,58 @@ if (depth === 0) {

}
public static condition(pattern: string, vars: IStringFormatterVars): string {
let result = "";
for (let i = 0; i < pattern.length; i++) {
const char = pattern[i];
switch (char) {
case ":": {
const res = StringFormatter.insertVar(pattern, vars, i);
result += res.result;
i += res.length;
break;
}
case "=": {
const res = StringFormatter.condition(pattern.substr(i+1), vars);
if (res === result) {
return res;
}
return "";
}
case "|": {
if (result) {
return result;
}
return StringFormatter.condition(pattern.substr(i+1), vars);
}
case "&": {
if (!result) {
return "";
}
return StringFormatter.condition(pattern.substr(i+1), vars);
}
case "^": {
const res = StringFormatter.condition(pattern.substr(i+1), vars);
const res1 = result ? 1 : 0;
const res2 = res ? 1 : 0;
if (res1 ^ res2) {
return result || res;
}
return "";
}
case "(": {
const res = StringFormatter.scanBlock(pattern, i, "()");
i += res.length - 1;
result += StringFormatter.condition(res.substring(1, res.length - 1), vars);
break;
}
case "\\":
i++;
result += pattern[i];
break;
default:
result += char;
}
}
return result;
}
}

@@ -16,3 +16,3 @@ /*

import { Log } from "./log";
import { ExpireSet } from "./structures/expireset";
import ExpireSet from "expire-set";

@@ -19,0 +19,0 @@ const log = new Log("TypingHandler");

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc