@botonic/core 0.25.0-alpha.0 → 0.25.0-alpha.1
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/lib/esm/constants.js +7 -4
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/core-bot.js +50 -20
- package/lib/esm/core-bot.js.map +1 -1
- package/lib/esm/data-provider/dynamodb-data-provider.js +25 -13
- package/lib/esm/data-provider/dynamodb-data-provider.js.map +1 -1
- package/lib/esm/data-provider/dynamodb-utils.js +60 -40
- package/lib/esm/data-provider/dynamodb-utils.js.map +1 -1
- package/lib/esm/data-provider/factory.js +14 -10
- package/lib/esm/data-provider/factory.js.map +1 -1
- package/lib/esm/data-provider/index.js +20 -4
- package/lib/esm/data-provider/index.js.map +1 -1
- package/lib/esm/data-provider/local-data-provider.js +16 -11
- package/lib/esm/data-provider/local-data-provider.js.map +1 -1
- package/lib/esm/debug/index.js +17 -1
- package/lib/esm/debug/index.js.map +1 -1
- package/lib/esm/debug/inspector.js +14 -4
- package/lib/esm/debug/inspector.js.map +1 -1
- package/lib/esm/handoff.js +44 -17
- package/lib/esm/handoff.js.map +1 -1
- package/lib/esm/hubtype-service.js +36 -11
- package/lib/esm/hubtype-service.js.map +1 -1
- package/lib/esm/i18n.js +5 -1
- package/lib/esm/i18n.js.map +1 -1
- package/lib/esm/index.js +27 -11
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/models/events/base-event.js +5 -2
- package/lib/esm/models/events/base-event.js.map +1 -1
- package/lib/esm/models/events/botonic-event.js +2 -1
- package/lib/esm/models/events/connections/connection-event.js +5 -2
- package/lib/esm/models/events/connections/connection-event.js.map +1 -1
- package/lib/esm/models/events/connections/index.js +17 -1
- package/lib/esm/models/events/connections/index.js.map +1 -1
- package/lib/esm/models/events/index.js +20 -4
- package/lib/esm/models/events/index.js.map +1 -1
- package/lib/esm/models/events/message/buttons.js +2 -1
- package/lib/esm/models/events/message/carousel.js +2 -1
- package/lib/esm/models/events/message/contact.js +2 -1
- package/lib/esm/models/events/message/custom.js +2 -1
- package/lib/esm/models/events/message/form.js +2 -1
- package/lib/esm/models/events/message/index.js +27 -11
- package/lib/esm/models/events/message/index.js.map +1 -1
- package/lib/esm/models/events/message/location.js +2 -1
- package/lib/esm/models/events/message/media.js +9 -6
- package/lib/esm/models/events/message/media.js.map +1 -1
- package/lib/esm/models/events/message/message-event.js +9 -6
- package/lib/esm/models/events/message/message-event.js.map +1 -1
- package/lib/esm/models/events/message/missed.js +2 -1
- package/lib/esm/models/events/message/postback.js +2 -1
- package/lib/esm/models/events/message/replies.js +2 -1
- package/lib/esm/models/events/message/text.js +2 -1
- package/lib/esm/models/index.js +19 -3
- package/lib/esm/models/index.js.map +1 -1
- package/lib/esm/models/legacy-types.js +12 -9
- package/lib/esm/models/legacy-types.js.map +1 -1
- package/lib/esm/models/user.js +2 -1
- package/lib/esm/output-parser/botonic-output-parser.js +19 -14
- package/lib/esm/output-parser/botonic-output-parser.js.map +1 -1
- package/lib/esm/output-parser/factory.js +26 -22
- package/lib/esm/output-parser/factory.js.map +1 -1
- package/lib/esm/output-parser/index.js +19 -3
- package/lib/esm/output-parser/index.js.map +1 -1
- package/lib/esm/output-parser/parsers.js +104 -41
- package/lib/esm/output-parser/parsers.js.map +1 -1
- package/lib/esm/plugins.js +7 -2
- package/lib/esm/plugins.js.map +1 -1
- package/lib/esm/pusher-utils.js +7 -3
- package/lib/esm/pusher-utils.js.map +1 -1
- package/lib/esm/routing/index.js +18 -2
- package/lib/esm/routing/index.js.map +1 -1
- package/lib/esm/routing/router-utils.js +26 -15
- package/lib/esm/routing/router-utils.js.map +1 -1
- package/lib/esm/routing/router.js +47 -37
- package/lib/esm/routing/router.js.map +1 -1
- package/lib/esm/utils.js +22 -12
- package/lib/esm/utils.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
MessageEventTypes.
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MEDIA_TYPES = void 0;
|
|
4
|
+
const message_event_1 = require("./message-event");
|
|
5
|
+
exports.MEDIA_TYPES = [
|
|
6
|
+
message_event_1.MessageEventTypes.AUDIO,
|
|
7
|
+
message_event_1.MessageEventTypes.IMAGE,
|
|
8
|
+
message_event_1.MessageEventTypes.DOCUMENT,
|
|
9
|
+
message_event_1.MessageEventTypes.VIDEO,
|
|
7
10
|
];
|
|
8
11
|
//# sourceMappingURL=media.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../../../src/models/events/message/media.ts"],"names":[],"mappings":"AACA,
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../../../../src/models/events/message/media.ts"],"names":[],"mappings":";;;AACA,mDAAwE;AAE3D,QAAA,WAAW,GAAG;IACzB,iCAAiB,CAAC,KAAK;IACvB,iCAAiB,CAAC,KAAK;IACvB,iCAAiB,CAAC,QAAQ;IAC1B,iCAAiB,CAAC,KAAK;CACxB,CAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageEventFrom = exports.MessageEventAck = exports.MessageEventTypes = void 0;
|
|
4
|
+
var MessageEventTypes;
|
|
2
5
|
(function (MessageEventTypes) {
|
|
3
6
|
MessageEventTypes["AUDIO"] = "audio";
|
|
4
7
|
MessageEventTypes["CAROUSEL"] = "carousel";
|
|
@@ -16,18 +19,18 @@ export var MessageEventTypes;
|
|
|
16
19
|
/**
|
|
17
20
|
* TODO: buttonmessage?, webchatsettings, whatsapp template
|
|
18
21
|
*/
|
|
19
|
-
})(MessageEventTypes || (MessageEventTypes = {}));
|
|
20
|
-
|
|
22
|
+
})(MessageEventTypes = exports.MessageEventTypes || (exports.MessageEventTypes = {}));
|
|
23
|
+
var MessageEventAck;
|
|
21
24
|
(function (MessageEventAck) {
|
|
22
25
|
MessageEventAck["DRAFT"] = "draft";
|
|
23
26
|
MessageEventAck["READ"] = "read";
|
|
24
27
|
MessageEventAck["RECEIVED"] = "received";
|
|
25
28
|
MessageEventAck["SENT"] = "sent";
|
|
26
|
-
})(MessageEventAck || (MessageEventAck = {}));
|
|
27
|
-
|
|
29
|
+
})(MessageEventAck = exports.MessageEventAck || (exports.MessageEventAck = {}));
|
|
30
|
+
var MessageEventFrom;
|
|
28
31
|
(function (MessageEventFrom) {
|
|
29
32
|
MessageEventFrom["AGENT"] = "agent";
|
|
30
33
|
MessageEventFrom["BOT"] = "bot";
|
|
31
34
|
MessageEventFrom["USER"] = "user";
|
|
32
|
-
})(MessageEventFrom || (MessageEventFrom = {}));
|
|
35
|
+
})(MessageEventFrom = exports.MessageEventFrom || (exports.MessageEventFrom = {}));
|
|
33
36
|
//# sourceMappingURL=message-event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-event.js","sourceRoot":"","sources":["../../../../../src/models/events/message/message-event.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"message-event.js","sourceRoot":"","sources":["../../../../../src/models/events/message/message-event.ts"],"names":[],"mappings":";;;AAEA,IAAY,iBAiBX;AAjBD,WAAY,iBAAiB;IAC3B,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf,0CAAqB,CAAA;IACrB,kCAAa,CAAA;IACb,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf,sCAAiB,CAAA;IACjB,kCAAa,CAAA;IACb,6CAAwB,CAAA;IACxB;;OAEG;AACL,CAAC,EAjBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAiB5B;AAED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,gCAAa,CAAA;AACf,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAED,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,+BAAW,CAAA;IACX,iCAAa,CAAA;AACf,CAAC,EAJW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAI3B"}
|
package/lib/esm/models/index.js
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./events"), exports);
|
|
18
|
+
__exportStar(require("./legacy-types"), exports);
|
|
19
|
+
__exportStar(require("./user"), exports);
|
|
4
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,iDAA8B;AAC9B,yCAAsB"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// TODO: This file contains all the legacy types we had in index.ts. After some refactors, we should be able to get rid of many of them.
|
|
2
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Providers = exports.CASE_RESOLUTION = exports.CASE_STATUS = exports.INPUT = exports.PROVIDER = void 0;
|
|
5
|
+
var PROVIDER;
|
|
3
6
|
(function (PROVIDER) {
|
|
4
7
|
PROVIDER["APPLE"] = "apple";
|
|
5
8
|
PROVIDER["DEV"] = "dev";
|
|
@@ -13,8 +16,8 @@ export var PROVIDER;
|
|
|
13
16
|
PROVIDER["WEBCHAT"] = "webchat";
|
|
14
17
|
PROVIDER["WECHAT"] = "wechat";
|
|
15
18
|
PROVIDER["WHATSAPP"] = "whatsapp";
|
|
16
|
-
})(PROVIDER || (PROVIDER = {}));
|
|
17
|
-
|
|
19
|
+
})(PROVIDER = exports.PROVIDER || (exports.PROVIDER = {}));
|
|
20
|
+
var INPUT;
|
|
18
21
|
(function (INPUT) {
|
|
19
22
|
INPUT["TEXT"] = "text";
|
|
20
23
|
INPUT["POSTBACK"] = "postback";
|
|
@@ -32,22 +35,22 @@ export var INPUT;
|
|
|
32
35
|
INPUT["RAW"] = "raw";
|
|
33
36
|
INPUT["CHAT_EVENT"] = "chatevent";
|
|
34
37
|
INPUT["WHATSAPP_BUTTON_LIST"] = "whatsapp-button-list";
|
|
35
|
-
})(INPUT || (INPUT = {}));
|
|
36
|
-
|
|
38
|
+
})(INPUT = exports.INPUT || (exports.INPUT = {}));
|
|
39
|
+
var CASE_STATUS;
|
|
37
40
|
(function (CASE_STATUS) {
|
|
38
41
|
CASE_STATUS["WAITING"] = "status_waiting";
|
|
39
42
|
CASE_STATUS["ATTENDING"] = "status_attending";
|
|
40
43
|
CASE_STATUS["IDLE"] = "status_idle";
|
|
41
44
|
CASE_STATUS["RESOLVED"] = "status_resolved";
|
|
42
|
-
})(CASE_STATUS || (CASE_STATUS = {}));
|
|
43
|
-
|
|
45
|
+
})(CASE_STATUS = exports.CASE_STATUS || (exports.CASE_STATUS = {}));
|
|
46
|
+
var CASE_RESOLUTION;
|
|
44
47
|
(function (CASE_RESOLUTION) {
|
|
45
48
|
CASE_RESOLUTION["OK"] = "result_ok";
|
|
46
49
|
CASE_RESOLUTION["NOK"] = "result_nok";
|
|
47
50
|
CASE_RESOLUTION["NOT_SOLVED"] = "result_not_solved";
|
|
48
51
|
CASE_RESOLUTION["BANNED"] = "result_banned";
|
|
49
|
-
})(CASE_RESOLUTION || (CASE_RESOLUTION = {}));
|
|
50
|
-
|
|
52
|
+
})(CASE_RESOLUTION = exports.CASE_RESOLUTION || (exports.CASE_RESOLUTION = {}));
|
|
53
|
+
exports.Providers = Object.freeze({
|
|
51
54
|
Messaging: {
|
|
52
55
|
APPLE: 'apple',
|
|
53
56
|
FACEBOOK: 'facebook',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":"AAAA,wIAAwI
|
|
1
|
+
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":";AAAA,wIAAwI;;;AAiBxI,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;AACvB,CAAC,EAbW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAanB;AAED,IAAY,KAiBX;AAjBD,WAAY,KAAK;IACf,sBAAa,CAAA;IACb,8BAAqB,CAAA;IACrB,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,8BAAqB,CAAA;IACrB,8BAAqB,CAAA;IACrB,4BAAmB,CAAA;IACnB,yCAAgC,CAAA;IAChC,8BAAqB,CAAA;IACrB,0BAAiB,CAAA;IACjB,6CAAoC,CAAA;IACpC,+CAAsC,CAAA;IACtC,oBAAW,CAAA;IACX,iCAAwB,CAAA;IACxB,sDAA6C,CAAA;AAC/C,CAAC,EAjBW,KAAK,GAAL,aAAK,KAAL,aAAK,QAiBhB;AAED,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AA6LY,QAAA,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE;QACT,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,UAAU;KACrB;CACF,CAAC,CAAA"}
|
package/lib/esm/models/user.js
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BotonicOutputParser = exports.TEXT_NODE_NAME = void 0;
|
|
1
4
|
// eslint-disable-next-line import/named
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const fast_xml_parser_1 = require("fast-xml-parser");
|
|
6
|
+
const html_entities_1 = require("html-entities");
|
|
7
|
+
const factory_1 = require("./factory");
|
|
8
|
+
exports.TEXT_NODE_NAME = 'text';
|
|
9
|
+
class BotonicOutputParser {
|
|
10
|
+
factory;
|
|
11
|
+
static OPTIONS = {
|
|
12
|
+
ignoreAttributes: false,
|
|
13
|
+
attributeNamePrefix: '',
|
|
14
|
+
textNodeName: exports.TEXT_NODE_NAME,
|
|
15
|
+
arrayMode: true,
|
|
16
|
+
attrValueProcessor: a => (0, html_entities_1.decode)(a),
|
|
17
|
+
};
|
|
18
|
+
constructor(factory = new factory_1.MessageParsingFactory()) {
|
|
8
19
|
this.factory = factory;
|
|
9
20
|
}
|
|
10
21
|
xmlToMessageEvents(html) {
|
|
@@ -20,14 +31,8 @@ export class BotonicOutputParser {
|
|
|
20
31
|
return this.factory.parse(input);
|
|
21
32
|
}
|
|
22
33
|
xmlToJSONMessages(html) {
|
|
23
|
-
return parse(html, BotonicOutputParser.OPTIONS).message;
|
|
34
|
+
return (0, fast_xml_parser_1.parse)(html, BotonicOutputParser.OPTIONS).message;
|
|
24
35
|
}
|
|
25
36
|
}
|
|
26
|
-
BotonicOutputParser
|
|
27
|
-
ignoreAttributes: false,
|
|
28
|
-
attributeNamePrefix: '',
|
|
29
|
-
textNodeName: TEXT_NODE_NAME,
|
|
30
|
-
arrayMode: true,
|
|
31
|
-
attrValueProcessor: a => decode(a),
|
|
32
|
-
};
|
|
37
|
+
exports.BotonicOutputParser = BotonicOutputParser;
|
|
33
38
|
//# sourceMappingURL=botonic-output-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"botonic-output-parser.js","sourceRoot":"","sources":["../../../src/output-parser/botonic-output-parser.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"botonic-output-parser.js","sourceRoot":"","sources":["../../../src/output-parser/botonic-output-parser.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AACxC,qDAAmD;AACnD,iDAAsC;AAGtC,uCAAiD;AAEpC,QAAA,cAAc,GAAG,MAAM,CAAA;AAEpC,MAAa,mBAAmB;IASD;IARrB,MAAM,CAAC,OAAO,GAAwB;QAC5C,gBAAgB,EAAE,KAAK;QACvB,mBAAmB,EAAE,EAAE;QACvB,YAAY,EAAE,sBAAc;QAC5B,SAAS,EAAE,IAAI;QACf,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAA,sBAAM,EAAC,CAAC,CAAC;KACnC,CAAA;IAED,YAA6B,UAAU,IAAI,+BAAqB,EAAE;QAArC,YAAO,GAAP,OAAO,CAA8B;IAAG,CAAC;IAEtE,kBAAkB,CAAC,IAAY;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACjD,OAAO,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;IACvE,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,KAAU;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAEO,iBAAiB,CAAC,IAAS;QACjC,OAAO,IAAA,uBAAK,EAAC,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAA;IACzD,CAAC;;AA3BH,kDA4BC"}
|
|
@@ -1,32 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MessageParsingFactory = void 0;
|
|
4
|
+
const models_1 = require("../models");
|
|
5
|
+
const parsers_1 = require("./parsers");
|
|
6
|
+
class MessageParsingFactory {
|
|
4
7
|
parse(msgToParse) {
|
|
5
8
|
const type = msgToParse.type;
|
|
6
|
-
const parsedMessage = parseMessage({ toParse: msgToParse });
|
|
7
|
-
if (MEDIA_TYPES.includes(type)) {
|
|
8
|
-
return parseMedia(parseButtons(parsedMessage)).parsed;
|
|
9
|
+
const parsedMessage = (0, parsers_1.parseMessage)({ toParse: msgToParse });
|
|
10
|
+
if (models_1.MEDIA_TYPES.includes(type)) {
|
|
11
|
+
return (0, parsers_1.parseMedia)((0, parsers_1.parseButtons)(parsedMessage)).parsed;
|
|
9
12
|
}
|
|
10
13
|
switch (type) {
|
|
11
|
-
case MessageEventTypes.TEXT:
|
|
14
|
+
case models_1.MessageEventTypes.TEXT:
|
|
12
15
|
// statement 1
|
|
13
|
-
return parseText(parseReplies(parseButtons(parsedMessage))).parsed;
|
|
14
|
-
case MessageEventTypes.POSTBACK:
|
|
15
|
-
return parsePostback(parsedMessage).parsed;
|
|
16
|
-
case MessageEventTypes.LOCATION:
|
|
17
|
-
return parseLocation(parsedMessage).parsed;
|
|
18
|
-
case MessageEventTypes.CAROUSEL:
|
|
19
|
-
return parseCarousel(parsedMessage).parsed;
|
|
20
|
-
case MessageEventTypes.CUSTOM:
|
|
21
|
-
return parseCustom(parseReplies(parsedMessage)).parsed;
|
|
22
|
-
case MessageEventTypes.FORM:
|
|
23
|
-
return parseForm(parsedMessage).parsed;
|
|
24
|
-
case MessageEventTypes.CONTACT:
|
|
25
|
-
return parseContact(parsedMessage).parsed;
|
|
26
|
-
case MessageEventTypes.MISSED:
|
|
27
|
-
return parseMissed(parsedMessage).parsed;
|
|
16
|
+
return (0, parsers_1.parseText)((0, parsers_1.parseReplies)((0, parsers_1.parseButtons)(parsedMessage))).parsed;
|
|
17
|
+
case models_1.MessageEventTypes.POSTBACK:
|
|
18
|
+
return (0, parsers_1.parsePostback)(parsedMessage).parsed;
|
|
19
|
+
case models_1.MessageEventTypes.LOCATION:
|
|
20
|
+
return (0, parsers_1.parseLocation)(parsedMessage).parsed;
|
|
21
|
+
case models_1.MessageEventTypes.CAROUSEL:
|
|
22
|
+
return (0, parsers_1.parseCarousel)(parsedMessage).parsed;
|
|
23
|
+
case models_1.MessageEventTypes.CUSTOM:
|
|
24
|
+
return (0, parsers_1.parseCustom)((0, parsers_1.parseReplies)(parsedMessage)).parsed;
|
|
25
|
+
case models_1.MessageEventTypes.FORM:
|
|
26
|
+
return (0, parsers_1.parseForm)(parsedMessage).parsed;
|
|
27
|
+
case models_1.MessageEventTypes.CONTACT:
|
|
28
|
+
return (0, parsers_1.parseContact)(parsedMessage).parsed;
|
|
29
|
+
case models_1.MessageEventTypes.MISSED:
|
|
30
|
+
return (0, parsers_1.parseMissed)(parsedMessage).parsed;
|
|
28
31
|
}
|
|
29
32
|
throw new Error(`Parsing for type: '${type}' not implemented.`);
|
|
30
33
|
}
|
|
31
34
|
}
|
|
35
|
+
exports.MessageParsingFactory = MessageParsingFactory;
|
|
32
36
|
//# sourceMappingURL=factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/output-parser/factory.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/output-parser/factory.ts"],"names":[],"mappings":";;;AAAA,sCAAwE;AACxE,uCAakB;AAElB,MAAa,qBAAqB;IAChC,KAAK,CAAC,UAAe;QACnB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;QAC5B,MAAM,aAAa,GAAG,IAAA,sBAAY,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;QAC3D,IAAI,oBAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,IAAA,oBAAU,EAAC,IAAA,sBAAY,EAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAA;SACtD;QACD,QAAQ,IAAI,EAAE;YACZ,KAAK,0BAAiB,CAAC,IAAI;gBACzB,cAAc;gBACd,OAAO,IAAA,mBAAS,EAAC,IAAA,sBAAY,EAAC,IAAA,sBAAY,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YACpE,KAAK,0BAAiB,CAAC,QAAQ;gBAC7B,OAAO,IAAA,uBAAa,EAAC,aAAa,CAAC,CAAC,MAAM,CAAA;YAC5C,KAAK,0BAAiB,CAAC,QAAQ;gBAC7B,OAAO,IAAA,uBAAa,EAAC,aAAa,CAAC,CAAC,MAAM,CAAA;YAC5C,KAAK,0BAAiB,CAAC,QAAQ;gBAC7B,OAAO,IAAA,uBAAa,EAAC,aAAa,CAAC,CAAC,MAAM,CAAA;YAC5C,KAAK,0BAAiB,CAAC,MAAM;gBAC3B,OAAO,IAAA,qBAAW,EAAC,IAAA,sBAAY,EAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAA;YACxD,KAAK,0BAAiB,CAAC,IAAI;gBACzB,OAAO,IAAA,mBAAS,EAAC,aAAa,CAAC,CAAC,MAAM,CAAA;YACxC,KAAK,0BAAiB,CAAC,OAAO;gBAC5B,OAAO,IAAA,sBAAY,EAAC,aAAa,CAAC,CAAC,MAAM,CAAA;YAC3C,KAAK,0BAAiB,CAAC,MAAM;gBAC3B,OAAO,IAAA,qBAAW,EAAC,aAAa,CAAC,CAAC,MAAM,CAAA;SAC3C;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,oBAAoB,CAAC,CAAA;IACjE,CAAC;CACF;AA5BD,sDA4BC"}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./botonic-output-parser"), exports);
|
|
18
|
+
__exportStar(require("./factory"), exports);
|
|
19
|
+
__exportStar(require("./parsers"), exports);
|
|
4
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-parser/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/output-parser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAuC;AACvC,4CAAyB;AACzB,4CAAyB"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseContact = exports.parseForm = exports.parseMissed = exports.parseCustom = exports.parseCarousel = exports.parseElement = exports.parseLocation = exports.parseMedia = exports.parsePostback = exports.parseText = exports.parseReplies = exports.parseReply = exports.parseButtons = exports.parseButton = exports.parseMessage = exports.parseBoolean = exports.parseNumber = void 0;
|
|
4
|
+
const models_1 = require("../models");
|
|
5
|
+
const botonic_output_parser_1 = require("./botonic-output-parser");
|
|
6
|
+
function parseNumber(strNumber) {
|
|
4
7
|
return parseInt(strNumber);
|
|
5
8
|
}
|
|
6
|
-
|
|
9
|
+
exports.parseNumber = parseNumber;
|
|
10
|
+
function parseBoolean(strNumber) {
|
|
7
11
|
if (strNumber === '0')
|
|
8
12
|
return false;
|
|
9
13
|
return true;
|
|
10
14
|
}
|
|
15
|
+
exports.parseBoolean = parseBoolean;
|
|
11
16
|
// COMMON
|
|
12
|
-
|
|
17
|
+
const parseMessage = args => {
|
|
13
18
|
const typingAndDelay = {};
|
|
14
19
|
if (args.toParse.delay !== undefined) {
|
|
15
20
|
typingAndDelay['delay'] = parseNumber(args.toParse.delay);
|
|
@@ -19,14 +24,20 @@ export const parseMessage = args => {
|
|
|
19
24
|
}
|
|
20
25
|
return {
|
|
21
26
|
toParse: args.toParse,
|
|
22
|
-
parsed:
|
|
27
|
+
parsed: {
|
|
23
28
|
// Following properties added later before saving event: eventId, userId, createdAt, from, ack
|
|
24
|
-
eventType: EventTypes.MESSAGE,
|
|
29
|
+
eventType: models_1.EventTypes.MESSAGE,
|
|
30
|
+
type: args.toParse.type,
|
|
31
|
+
ack: args.toParse.ack,
|
|
32
|
+
from: args.toParse.from,
|
|
33
|
+
...typingAndDelay,
|
|
34
|
+
},
|
|
25
35
|
};
|
|
26
36
|
};
|
|
37
|
+
exports.parseMessage = parseMessage;
|
|
27
38
|
// BUTTONS
|
|
28
|
-
|
|
29
|
-
const title = button[TEXT_NODE_NAME];
|
|
39
|
+
const parseButton = (button) => {
|
|
40
|
+
const title = button[botonic_output_parser_1.TEXT_NODE_NAME];
|
|
30
41
|
if ('payload' in button) {
|
|
31
42
|
return { title, payload: button.payload };
|
|
32
43
|
}
|
|
@@ -45,65 +56,91 @@ export const parseButton = (button) => {
|
|
|
45
56
|
}
|
|
46
57
|
throw new Error('Invalid parsed Button');
|
|
47
58
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const hasButtons =
|
|
59
|
+
exports.parseButton = parseButton;
|
|
60
|
+
const parseButtons = args => {
|
|
61
|
+
const hasButtons = args.toParse?.button?.length > 0;
|
|
51
62
|
let buttons = [];
|
|
52
63
|
if (hasButtons) {
|
|
53
|
-
buttons = args.toParse.button.map(button => parseButton(button));
|
|
64
|
+
buttons = args.toParse.button.map(button => (0, exports.parseButton)(button));
|
|
54
65
|
}
|
|
55
66
|
return {
|
|
56
67
|
toParse: args.toParse,
|
|
57
|
-
parsed:
|
|
68
|
+
parsed: {
|
|
69
|
+
...args.parsed,
|
|
70
|
+
buttons,
|
|
71
|
+
},
|
|
58
72
|
};
|
|
59
73
|
};
|
|
74
|
+
exports.parseButtons = parseButtons;
|
|
60
75
|
// REPLIES
|
|
61
|
-
|
|
62
|
-
title: reply[TEXT_NODE_NAME],
|
|
76
|
+
const parseReply = (reply) => ({
|
|
77
|
+
title: reply[botonic_output_parser_1.TEXT_NODE_NAME],
|
|
63
78
|
payload: reply.payload,
|
|
64
79
|
});
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const hasReplies =
|
|
80
|
+
exports.parseReply = parseReply;
|
|
81
|
+
const parseReplies = args => {
|
|
82
|
+
const hasReplies = args.toParse?.reply?.length > 0;
|
|
68
83
|
let replies = [];
|
|
69
84
|
if (hasReplies) {
|
|
70
|
-
replies = args.toParse.reply.map(reply => parseReply(reply));
|
|
85
|
+
replies = args.toParse.reply.map(reply => (0, exports.parseReply)(reply));
|
|
71
86
|
}
|
|
72
87
|
return {
|
|
73
88
|
toParse: args.toParse,
|
|
74
|
-
parsed:
|
|
89
|
+
parsed: {
|
|
90
|
+
...args.parsed,
|
|
91
|
+
replies,
|
|
92
|
+
},
|
|
75
93
|
};
|
|
76
94
|
};
|
|
95
|
+
exports.parseReplies = parseReplies;
|
|
77
96
|
// TEXT
|
|
78
|
-
|
|
97
|
+
const parseText = args => {
|
|
79
98
|
return {
|
|
80
99
|
toParse: args.toParse,
|
|
81
|
-
parsed:
|
|
100
|
+
parsed: {
|
|
101
|
+
...args.parsed,
|
|
102
|
+
text: args.toParse[botonic_output_parser_1.TEXT_NODE_NAME],
|
|
103
|
+
markdown: parseBoolean(args.toParse.markdown),
|
|
104
|
+
},
|
|
82
105
|
};
|
|
83
106
|
};
|
|
107
|
+
exports.parseText = parseText;
|
|
84
108
|
// POSTBACK
|
|
85
|
-
|
|
109
|
+
const parsePostback = args => {
|
|
86
110
|
return {
|
|
87
111
|
toParse: args.toParse,
|
|
88
|
-
parsed:
|
|
112
|
+
parsed: {
|
|
113
|
+
...args.parsed,
|
|
114
|
+
payload: args.toParse.payload,
|
|
115
|
+
},
|
|
89
116
|
};
|
|
90
117
|
};
|
|
118
|
+
exports.parsePostback = parsePostback;
|
|
91
119
|
// MEDIA
|
|
92
|
-
|
|
120
|
+
const parseMedia = args => {
|
|
93
121
|
return {
|
|
94
122
|
toParse: args.toParse,
|
|
95
|
-
parsed:
|
|
123
|
+
parsed: {
|
|
124
|
+
...args.parsed,
|
|
125
|
+
src: args.toParse.src,
|
|
126
|
+
},
|
|
96
127
|
};
|
|
97
128
|
};
|
|
129
|
+
exports.parseMedia = parseMedia;
|
|
98
130
|
// LOCATION
|
|
99
|
-
|
|
131
|
+
const parseLocation = args => {
|
|
100
132
|
return {
|
|
101
133
|
toParse: args.toParse,
|
|
102
|
-
parsed:
|
|
134
|
+
parsed: {
|
|
135
|
+
...args.parsed,
|
|
136
|
+
lat: args.toParse.lat,
|
|
137
|
+
long: args.toParse.long,
|
|
138
|
+
},
|
|
103
139
|
};
|
|
104
140
|
};
|
|
141
|
+
exports.parseLocation = parseLocation;
|
|
105
142
|
// CAROUSEL
|
|
106
|
-
|
|
143
|
+
const parseElement = (element) => {
|
|
107
144
|
const e = {
|
|
108
145
|
pic: element.pic,
|
|
109
146
|
title: element.title,
|
|
@@ -111,41 +148,67 @@ export const parseElement = (element) => {
|
|
|
111
148
|
};
|
|
112
149
|
const hasButtons = element.button !== undefined;
|
|
113
150
|
if (hasButtons)
|
|
114
|
-
e.buttons = element.button.map(b => parseButton(b));
|
|
151
|
+
e.buttons = element.button.map(b => (0, exports.parseButton)(b));
|
|
115
152
|
return e;
|
|
116
153
|
};
|
|
117
|
-
|
|
154
|
+
exports.parseElement = parseElement;
|
|
155
|
+
const parseCarousel = args => {
|
|
118
156
|
return {
|
|
119
157
|
toParse: args.toParse,
|
|
120
|
-
parsed:
|
|
158
|
+
parsed: {
|
|
159
|
+
...args.parsed,
|
|
160
|
+
elements: args.toParse.element.map(element => (0, exports.parseElement)(element)),
|
|
161
|
+
},
|
|
121
162
|
};
|
|
122
163
|
};
|
|
164
|
+
exports.parseCarousel = parseCarousel;
|
|
123
165
|
// CUSTOM
|
|
124
|
-
|
|
166
|
+
const parseCustom = args => {
|
|
125
167
|
return {
|
|
126
168
|
toParse: args.toParse,
|
|
127
|
-
parsed:
|
|
169
|
+
parsed: {
|
|
170
|
+
...args.parsed,
|
|
171
|
+
json: JSON.parse(args.toParse.json),
|
|
172
|
+
},
|
|
128
173
|
};
|
|
129
174
|
};
|
|
175
|
+
exports.parseCustom = parseCustom;
|
|
130
176
|
// MISSED
|
|
131
|
-
|
|
177
|
+
const parseMissed = args => {
|
|
132
178
|
return {
|
|
133
179
|
toParse: args.toParse,
|
|
134
|
-
parsed:
|
|
180
|
+
parsed: {
|
|
181
|
+
...args.parsed,
|
|
182
|
+
reason: args.toParse.reason,
|
|
183
|
+
media_type: args.toParse.media_type,
|
|
184
|
+
},
|
|
135
185
|
};
|
|
136
186
|
};
|
|
187
|
+
exports.parseMissed = parseMissed;
|
|
137
188
|
// FORM
|
|
138
|
-
|
|
189
|
+
const parseForm = args => {
|
|
139
190
|
return {
|
|
140
191
|
toParse: args.toParse,
|
|
141
|
-
parsed:
|
|
192
|
+
parsed: {
|
|
193
|
+
...args.parsed,
|
|
194
|
+
form_title: args.toParse.form_title,
|
|
195
|
+
form_answers: args.toParse.form_answers,
|
|
196
|
+
},
|
|
142
197
|
};
|
|
143
198
|
};
|
|
199
|
+
exports.parseForm = parseForm;
|
|
144
200
|
// CONTACT
|
|
145
|
-
|
|
201
|
+
const parseContact = args => {
|
|
146
202
|
return {
|
|
147
203
|
toParse: args.toParse,
|
|
148
|
-
parsed:
|
|
204
|
+
parsed: {
|
|
205
|
+
...args.parsed,
|
|
206
|
+
phone_number: args.toParse.phone_number,
|
|
207
|
+
first_name: args.toParse.first_name,
|
|
208
|
+
last_name: args.toParse.last_name,
|
|
209
|
+
vcard: args.toParse.vcard,
|
|
210
|
+
},
|
|
149
211
|
};
|
|
150
212
|
};
|
|
213
|
+
exports.parseContact = parseContact;
|
|
151
214
|
//# sourceMappingURL=parsers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/output-parser/parsers.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/output-parser/parsers.ts"],"names":[],"mappings":"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"}
|