@quenty/textfilterservice 7.10.0 → 7.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [7.11.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/textfilterservice@7.10.0...@quenty/textfilterservice@7.11.0) (2023-08-01)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * Fix missing Rx dependency in TextFilterService ([22c1326](https://github.com/Quenty/NevermoreEngine/commit/22c13268d17b838cd1baebac3000ecb93bafc905))
12
+
13
+
14
+ ### Features
15
+
16
+ * Ensure we add back in whitespace after filtering ([632e1e0](https://github.com/Quenty/NevermoreEngine/commit/632e1e0d383ea90b67d81f8edd8bc8dd9b874d68))
17
+
18
+
19
+
20
+
21
+
6
22
  # [7.10.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/textfilterservice@7.9.1...@quenty/textfilterservice@7.10.0) (2023-07-28)
7
23
 
8
24
  **Note:** Version bump only for package @quenty/textfilterservice
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quenty/textfilterservice",
3
- "version": "7.10.0",
3
+ "version": "7.11.0",
4
4
  "description": "Utility service that provides text filtering to the client",
5
5
  "keywords": [
6
6
  "Roblox",
@@ -30,11 +30,12 @@
30
30
  "@quenty/loader": "^6.2.1",
31
31
  "@quenty/promise": "^6.7.0",
32
32
  "@quenty/remoting": "^6.9.0",
33
+ "@quenty/rx": "^7.14.0",
33
34
  "@quenty/table": "^3.2.0",
34
- "@quenty/textfilterutils": "^6.7.0"
35
+ "@quenty/textfilterutils": "^6.8.0"
35
36
  },
36
37
  "publishConfig": {
37
38
  "access": "public"
38
39
  },
39
- "gitHead": "539b6bcf1266fb18e143059d08381654cca200bd"
40
+ "gitHead": "839b4d929e4d6154aadf719f1ecfb9add4c8b247"
40
41
  }
@@ -9,10 +9,19 @@ local RunService = game:GetService("RunService")
9
9
  local Promise = require("Promise")
10
10
  local PromiseGetRemoteFunction = require("PromiseGetRemoteFunction")
11
11
  local TextFilterServiceConstants = require("TextFilterServiceConstants")
12
+ local Rx = require("Rx")
13
+ local TextFilterUtils = require("TextFilterUtils")
12
14
 
13
15
  local TextFilterServiceClient = {}
14
16
  TextFilterServiceClient.ServiceName = "TextFilterServiceClient"
15
17
 
18
+ --[=[
19
+ Filters a non-chat string for a user
20
+
21
+ @param text string
22
+ @param fromUserId number
23
+ @return Promise<string>
24
+ ]=]
16
25
  function TextFilterServiceClient:PromiseNonChatStringForUser(text, fromUserId)
17
26
  assert(type(text) == "string", "Bad text")
18
27
  assert(type(fromUserId) == "number", "Bad fromUserId")
@@ -23,6 +32,13 @@ function TextFilterServiceClient:PromiseNonChatStringForUser(text, fromUserId)
23
32
  fromUserId)
24
33
  end
25
34
 
35
+ --[=[
36
+ Filters a non-chat string for a broadcast
37
+
38
+ @param text string
39
+ @param fromUserId number
40
+ @return Promise<string>
41
+ ]=]
26
42
  function TextFilterServiceClient:PromiseNonChatStringForBroadcast(text, fromUserId)
27
43
  assert(type(text) == "string", "Bad text")
28
44
  assert(type(fromUserId) == "number", "Bad fromUserId")
@@ -33,6 +49,12 @@ function TextFilterServiceClient:PromiseNonChatStringForBroadcast(text, fromUser
33
49
  fromUserId)
34
50
  end
35
51
 
52
+ --[=[
53
+ Filters a preview-non-chat string for a broadcast
54
+
55
+ @param text string
56
+ @return Promise<string>
57
+ ]=]
36
58
  function TextFilterServiceClient:PromisePreviewNonChatStringForBroadcast(text)
37
59
  assert(type(text) == "string", "Bad text")
38
60
 
@@ -41,6 +63,16 @@ function TextFilterServiceClient:PromisePreviewNonChatStringForBroadcast(text)
41
63
  text)
42
64
  end
43
65
 
66
+ --[=[
67
+ Observes a non-chat string preview for broadcast
68
+
69
+ @param text string
70
+ @return Promise<string>
71
+ ]=]
72
+ function TextFilterServiceClient:ObservePreviewNonChatStringForBroadcast(text)
73
+ return Rx.fromPromise(self:PromisePreviewNonChatStringForBroadcast(text))
74
+ end
75
+
44
76
  function TextFilterServiceClient:_promiseInvokeRemoteFunction(request, text, ...)
45
77
  assert(type(request) == "string", "Bad request")
46
78
  assert(type(text) == "string", "Bad text")
@@ -71,7 +103,7 @@ function TextFilterServiceClient:_promiseInvokeRemoteFunction(request, text, ...
71
103
  return reject(err or result or "Failed to get string result from server")
72
104
  end
73
105
 
74
- return resolve(result)
106
+ return resolve(TextFilterUtils.addBackInNewLinesAndWhitespace(text, result))
75
107
  end)
76
108
  end)
77
109
  end
@@ -86,12 +118,14 @@ function TextFilterServiceClient:_promiseRemoteFunction()
86
118
  end
87
119
 
88
120
  function TextFilterServiceClient:_fakeTestFilter(text)
89
- text = text:gsub("[fF][uU][cC][kK]", "####")
121
+ local filteredText = text
122
+ filteredText = filteredText:gsub("[fF][uU][cC][kK]", "####")
123
+ filteredText = filteredText:gsub("\n", "")
90
124
 
91
125
  return Promise.spawn(function(resolve, _)
92
126
  -- Simulate testing
93
127
  task.delay(0.5, function()
94
- resolve(text)
128
+ resolve(TextFilterUtils.addBackInNewLinesAndWhitespace(text, filteredText))
95
129
  end)
96
130
  end)
97
131
  end