@social-mail/social-mail-client 1.2.488 → 1.2.490
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/content/local-db/worker.js +2 -2
- package/dist/admin/AdminAppIndex.pack.js +944 -210
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +28 -3
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/model/model.d.ts +9 -5
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js +907 -207
- package/dist/model/model.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js +907 -207
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js +1 -1
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/public/contact-us/ContactUsApp.d.ts +1 -0
- package/dist/public/contact-us/ContactUsApp.d.ts.map +1 -1
- package/dist/public/contact-us/ContactUsApp.js +100 -14
- package/dist/public/contact-us/ContactUsApp.js.map +1 -1
- package/dist/public/contact-us/ContactUsApp.pack.js +100 -14
- package/dist/public/contact-us/ContactUsApp.pack.js.map +1 -1
- package/dist/public/contact-us/ContactUsApp.pack.min.js +82 -14
- package/dist/public/contact-us/ContactUsApp.pack.min.js.map +1 -1
- package/dist/public/store/Store.pack.js +907 -207
- package/dist/public/store/Store.pack.js.map +1 -1
- package/dist/public/store/Store.pack.min.js +1 -1
- package/dist/public/store/Store.pack.min.js.map +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.js +909 -208
- package/dist/public/store/cart/ShoppingCart.pack.js.map +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.min.js +1 -1
- package/dist/public/store/cart/ShoppingCart.pack.min.js.map +1 -1
- package/dist/services/LoginService.d.ts.map +1 -1
- package/dist/services/LoginService.js +2 -1
- package/dist/services/LoginService.js.map +1 -1
- package/dist/services/local-db/LocalDbService.d.ts +12 -5
- package/dist/services/local-db/LocalDbService.d.ts.map +1 -1
- package/dist/services/local-db/LocalDbService.js +57 -21
- package/dist/services/local-db/LocalDbService.js.map +1 -1
- package/dist/services/local-db/core/LocalTable.d.ts +19 -0
- package/dist/services/local-db/core/LocalTable.d.ts.map +1 -0
- package/dist/services/local-db/core/LocalTable.js +120 -0
- package/dist/services/local-db/core/LocalTable.js.map +1 -0
- package/dist/services/local-db/core/TemplateQuery.d.ts +27 -0
- package/dist/services/local-db/core/TemplateQuery.d.ts.map +1 -0
- package/dist/services/local-db/core/TemplateQuery.js +132 -0
- package/dist/services/local-db/core/TemplateQuery.js.map +1 -0
- package/dist/services/local-db/mailboxes/LocalMailbox.d.ts +13 -0
- package/dist/services/local-db/mailboxes/LocalMailbox.d.ts.map +1 -0
- package/dist/services/local-db/mailboxes/LocalMailbox.js +62 -0
- package/dist/services/local-db/mailboxes/LocalMailbox.js.map +1 -0
- package/dist/services/mime-service/MimeNode.js +1 -1
- package/dist/services/mime-service/MimeNode.js.map +1 -1
- package/dist/site-editor/editor/HtmlPageEditor.d.ts.map +1 -1
- package/dist/site-editor/editor/HtmlPageEditor.js +34 -1
- package/dist/site-editor/editor/HtmlPageEditor.js.map +1 -1
- package/dist/tests/template-query/template-queries.test.d.ts +2 -0
- package/dist/tests/template-query/template-queries.test.d.ts.map +1 -0
- package/dist/tests/template-query/template-queries.test.js +27 -0
- package/dist/tests/template-query/template-queries.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +944 -210
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +29 -4
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/page/files/shares/AddSharePage.d.ts +0 -1
- package/dist/web/page/files/shares/AddSharePage.d.ts.map +1 -1
- package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.d.ts +2 -0
- package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.d.ts.map +1 -1
- package/node_modules/@web-atoms/entity/dist/services/BaseEntityService.js.map +1 -1
- package/node_modules/@web-atoms/entity/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@web-atoms/entity/package.json +1 -1
- package/node_modules/@web-atoms/entity/src/services/BaseEntityService.ts +2 -0
- package/package.json +2 -2
- package/pg-worker.js +15 -0
- package/src/model/model.ts +84 -82
- package/src/public/contact-us/ContactUsApp.tsx +102 -17
- package/src/services/LoginService.ts +5 -0
- package/src/services/local-db/LocalDbService.ts +68 -32
- package/src/services/local-db/core/LocalTable.ts +113 -0
- package/src/services/local-db/core/TemplateQuery.ts +135 -0
- package/src/services/local-db/mailboxes/LocalMailbox.ts +60 -0
- package/src/services/mime-service/MimeNode.ts +1 -1
- package/src/site-editor/editor/HtmlPageEditor.tsx +31 -1
- package/src/tests/template-query/template-queries.test.ts +22 -0
- package/dist/services/local-db/SqlDbFactory.d.ts +0 -47
- package/dist/services/local-db/SqlDbFactory.d.ts.map +0 -1
- package/dist/services/local-db/SqlDbFactory.js +0 -179
- package/dist/services/local-db/SqlDbFactory.js.map +0 -1
- package/src/services/local-db/SqlDbFactory.ts +0 -181
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginService.d.ts","sourceRoot":"","sources":["../../src/services/LoginService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAsB,MAAM,gBAAgB,CAAC;AAM1E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"LoginService.d.ts","sourceRoot":"","sources":["../../src/services/LoginService.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,KAAK,EAAsB,MAAM,gBAAgB,CAAC;AAM1E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAI9D,MAAM,CAAC,OAAO,OAAO,YAAY;IAG7B,OAAO,CAAC,aAAa,CAAgB;IAGrC,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,IAAI,CAAQ;IAEP,OAAO;IAUP,KAAK,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW;IAW7D,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW;IAY7D,kBAAkB,CAAC,CAAC,EAAE,gBAAgB;IAItC,MAAM;IASN,YAAY;CAQrB"}
|
|
@@ -27,10 +27,11 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
|
|
|
27
27
|
execute: function () {
|
|
28
28
|
LoginService = class LoginService {
|
|
29
29
|
getUser() {
|
|
30
|
-
var _a, _b;
|
|
30
|
+
var _a, _b, _c;
|
|
31
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
32
|
(_a = this.user) !== null && _a !== void 0 ? _a : this.user = (_b = yield this.entityService.query(LoginSession, "currentUser").firstOrDefault()) === null || _b === void 0 ? void 0 : _b.user;
|
|
33
33
|
SocialMailApp.user = this.user;
|
|
34
|
+
if ((_c = this.user) === null || _c === void 0 ? void 0 : _c.userID) {}
|
|
34
35
|
return this.user;
|
|
35
36
|
});
|
|
36
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DISingleton","_webAtomsCoreDistDiDISingleton","default","_webAtomsCoreDistDiInject","Inject","_EntityService","EntityService","_modelModel","LoginSession","_commonSocialMailApp","SocialMailApp","_webAtomsCoreDistApp","App","_webAtomsCoreDistCoreSleep","sleep","_webAtomsDateTimeDistDateTime","DateTime","execute","LoginService","getUser","_a","user","_b","entityService","query","firstOrDefault","login","session","cancelToken","result","save","invalid","verificationToken","checkSession","catch","console","error","status","location","reload","dateUpdated","now","cancelled","updateRegistration","s","Error","logout","cloner","copy","enforceLogin","
|
|
1
|
+
{"version":3,"names":["DISingleton","_webAtomsCoreDistDiDISingleton","default","_webAtomsCoreDistDiInject","Inject","_EntityService","EntityService","_modelModel","LoginSession","_commonSocialMailApp","SocialMailApp","_webAtomsCoreDistApp","App","_webAtomsCoreDistCoreSleep","sleep","_webAtomsDateTimeDistDateTime","DateTime","execute","LoginService","getUser","_a","user","_b","entityService","query","firstOrDefault","_c","userID","login","session","cancelToken","result","save","invalid","verificationToken","checkSession","catch","console","error","status","location","reload","dateUpdated","now","cancelled","updateRegistration","s","Error","logout","cloner","copy","enforceLogin","__decorate","_export"],"sources":["../../src/services/LoginService.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
import LocalMailbox from "./mailboxes/LocalMailbox";
|
|
2
|
+
import EntityService from "../EntityService";
|
|
3
|
+
import TemplateQuery from "./core/TemplateQuery";
|
|
4
|
+
export interface IResult<T> {
|
|
5
|
+
rows: T[];
|
|
6
|
+
affectedRows: number;
|
|
7
|
+
}
|
|
1
8
|
export default class LocalDbService {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
9
|
+
entityService: EntityService;
|
|
10
|
+
mailboxes: LocalMailbox;
|
|
11
|
+
sync(): void;
|
|
12
|
+
ready(): Promise<any>;
|
|
13
|
+
query<T>(a: TemplateStringsArray | TemplateQuery, ...args: any[]): Promise<IResult<T>>;
|
|
7
14
|
}
|
|
8
15
|
//# sourceMappingURL=LocalDbService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDbService.d.ts","sourceRoot":"","sources":["../../../src/services/local-db/LocalDbService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LocalDbService.d.ts","sourceRoot":"","sources":["../../../src/services/local-db/LocalDbService.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,0BAA0B,CAAC;AAIpD,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAIjD,MAAM,WAAW,OAAO,CAAC,CAAC;IACtB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;CACxB;AAGD,MAAM,CAAC,OAAO,OAAO,cAAc;IAG/B,aAAa,EAAE,aAAa,CAAC;IAEtB,SAAS,eAA0B;IAE1C,IAAI;IAIJ,KAAK;IAsBC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,oBAAoB,GAAG,aAAa,EAAE,GAAI,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAgBhG"}
|
|
@@ -1,40 +1,76 @@
|
|
|
1
|
-
System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "./
|
|
1
|
+
System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "./mailboxes/LocalMailbox", "@web-atoms/core/dist/core/types", "../../common/Modules", "@web-atoms/core/dist/di/Inject", "../EntityService", "./core/TemplateQuery"], function (_export, _context) {
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
-
var __awaiter, __decorate, DISingleton,
|
|
4
|
+
var __awaiter, __decorate, __metadata, DISingleton, LocalMailbox, UMD, Modules, Inject, EntityService, TemplateQuery, pgWorker, LocalDbService;
|
|
5
5
|
return {
|
|
6
6
|
setters: [function (_tslib) {
|
|
7
7
|
__awaiter = _tslib.__awaiter;
|
|
8
8
|
__decorate = _tslib.__decorate;
|
|
9
|
+
__metadata = _tslib.__metadata;
|
|
9
10
|
}, function (_webAtomsCoreDistDiDISingleton) {
|
|
10
11
|
DISingleton = _webAtomsCoreDistDiDISingleton.default;
|
|
11
|
-
}, function (
|
|
12
|
-
|
|
12
|
+
}, function (_mailboxesLocalMailbox) {
|
|
13
|
+
LocalMailbox = _mailboxesLocalMailbox.default;
|
|
14
|
+
}, function (_webAtomsCoreDistCoreTypes) {
|
|
15
|
+
UMD = _webAtomsCoreDistCoreTypes.UMD;
|
|
16
|
+
}, function (_commonModules) {
|
|
17
|
+
Modules = _commonModules.default;
|
|
18
|
+
}, function (_webAtomsCoreDistDiInject) {
|
|
19
|
+
Inject = _webAtomsCoreDistDiInject.Inject;
|
|
20
|
+
}, function (_EntityService) {
|
|
21
|
+
EntityService = _EntityService.default;
|
|
22
|
+
}, function (_coreTemplateQuery) {
|
|
23
|
+
TemplateQuery = _coreTemplateQuery.default;
|
|
13
24
|
}],
|
|
14
25
|
execute: function () {
|
|
26
|
+
pgWorker = UMD.resolvePath("@social-mail/social-mail-client/pg-worker.js");
|
|
15
27
|
LocalDbService = class LocalDbService {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
28
|
+
constructor() {
|
|
29
|
+
this.mailboxes = new LocalMailbox(this);
|
|
30
|
+
}
|
|
31
|
+
sync() {
|
|
32
|
+
this.ready().catch(console.error);
|
|
21
33
|
}
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
ready() {
|
|
35
|
+
const w = (() => __awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
const {
|
|
37
|
+
default: pg
|
|
38
|
+
} = yield Modules.import(pgWorker);
|
|
39
|
+
yield pg.waitReady;
|
|
40
|
+
for (const key in this) {
|
|
41
|
+
if (Object.prototype.hasOwnProperty.call(this, key)) {
|
|
42
|
+
const element = this[key];
|
|
43
|
+
if (element instanceof LocalMailbox) {
|
|
44
|
+
element.sync().catch(console.error);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return pg;
|
|
31
49
|
}))();
|
|
32
|
-
Object.defineProperty(this, "
|
|
33
|
-
value: () =>
|
|
50
|
+
Object.defineProperty(this, "ready", {
|
|
51
|
+
value: () => w
|
|
52
|
+
});
|
|
53
|
+
return w;
|
|
54
|
+
}
|
|
55
|
+
query(a, ...args) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
let q;
|
|
58
|
+
try {
|
|
59
|
+
const pg = yield this.ready();
|
|
60
|
+
if (!(a instanceof TemplateQuery)) {
|
|
61
|
+
a = TemplateQuery.create(a, ...args);
|
|
62
|
+
}
|
|
63
|
+
q = a.toQuery();
|
|
64
|
+
console.log(q);
|
|
65
|
+
return yield pg.query(q.text, q.values);
|
|
66
|
+
} catch (error) {
|
|
67
|
+
console.error(`Failed executing ${q.text}`);
|
|
68
|
+
console.error(error);
|
|
69
|
+
}
|
|
34
70
|
});
|
|
35
|
-
return r;
|
|
36
71
|
}
|
|
37
72
|
};
|
|
73
|
+
__decorate([Inject, __metadata("design:type", EntityService)], LocalDbService.prototype, "entityService", void 0);
|
|
38
74
|
LocalDbService = __decorate([DISingleton()], LocalDbService);
|
|
39
75
|
_export("default", LocalDbService);
|
|
40
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["DISingleton","_webAtomsCoreDistDiDISingleton","default","
|
|
1
|
+
{"version":3,"names":["DISingleton","_webAtomsCoreDistDiDISingleton","default","_mailboxesLocalMailbox","LocalMailbox","_webAtomsCoreDistCoreTypes","UMD","_commonModules","Modules","_webAtomsCoreDistDiInject","Inject","_EntityService","EntityService","_coreTemplateQuery","TemplateQuery","execute","pgWorker","resolvePath","LocalDbService","constructor","mailboxes","sync","ready","catch","console","error","w","__awaiter","pg","import","waitReady","key","Object","prototype","hasOwnProperty","call","element","defineProperty","value","query","a","args","q","create","toQuery","log","text","values","__decorate","_export"],"sources":["../../../src/services/local-db/LocalDbService.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;MACOA,WAAW,GAAAC,8BAAA,CAAAC,OAAA;IAAA,aAAAC,sBAAA;MACXC,YAAY,GAAAD,sBAAA,CAAAD,OAAA;IAAA,aAAAG,0BAAA;MACVC,GAAG,GAAAD,0BAAA,CAAHC,GAAG;IAAA,aAAAC,cAAA;MACLC,OAAO,GAAAD,cAAA,CAAAL,OAAA;IAAA,aAAAO,yBAAA;MACLC,MAAM,GAAAD,yBAAA,CAANC,MAAM;IAAA,aAAAC,cAAA;MACRC,aAAa,GAAAD,cAAA,CAAAT,OAAA;IAAA,aAAAW,kBAAA;MACbC,aAAa,GAAAD,kBAAA,CAAAX,OAAA;IAAA;IAAAa,OAAA,WAAAA,CAAA;MAEdC,QAAQ,GAAGV,GAAG,CAACW,WAAW,CAAC,8CAA8C,CAAC;MAQ3DC,cAAc,GAApB,MAAMA,cAAc;QAApBC,YAAA;UAKJ,KAAAC,SAAS,GAAG,IAAIhB,YAAY,CAAC,IAAI,CAAC;QA4C7C;QA1CIiB,IAAIA,CAAA;UACA,IAAI,CAACC,KAAK,EAAE,CAACC,KAAK,CAACC,OAAO,CAACC,KAAK,CAAC;QACrC;QAEAH,KAAKA,CAAA;UACD,MAAMI,CAAC,GAAG,CAAC,MAAWC,SAAA;YAClB,MAAM;cAAEzB,OAAO,EAAE0B;YAAE,CAAE,GAAE,MAAMpB,OAAO,CAACqB,MAAM,CAACb,QAAQ,CAAC;YAErD,MAAMY,EAAE,CAACE,SAAS;YAGlB,KAAK,MAAMC,GAAG,IAAI,IAAI,EAAE;cACpB,IAAIC,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAAC,IAAI,EAAEJ,GAAG,CAAC,EAAE;gBACjD,MAAMK,OAAO,GAAG,IAAI,CAACL,GAAG,CAAC;gBACzB,IAAIK,OAAO,YAAYhC,YAAY,EAAE;kBACjCgC,OAAO,CAACf,IAAI,EAAE,CAACE,KAAK,CAACC,OAAO,CAACC,KAAK,CAAC;;;;YAK/C,OAAOG,EAAE;UACb,CAAC,GAAC,CAAE;UACJI,MAAM,CAACK,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE;YAAEC,KAAK,EAAEA,CAAA,KAAMZ;UAAC,CAAE,CAAC;UACxD,OAAOA,CAAC;QACZ;QAEMa,KAAKA,CAAIC,CAAuC,EAAE,GAAIC,IAAW;;YACnE,IAAIC,CAAC;YACL,IAAI;cACA,MAAMd,EAAE,GAAG,MAAM,IAAI,CAACN,KAAK,EAAE;cAC7B,IAAI,EAAEkB,CAAC,YAAY1B,aAAa,CAAC,EAAE;gBAC/B0B,CAAC,GAAG1B,aAAa,CAAC6B,MAAM,CAACH,CAAC,EAAE,GAAIC,IAAI,CAAC;;cAEzCC,CAAC,GAAGF,CAAC,CAACI,OAAO,EAAE;cACfpB,OAAO,CAACqB,GAAG,CAAEH,CAAC,CAAC;cACf,OAAO,MAAMd,EAAE,CAACW,KAAK,CAACG,CAAC,CAACI,IAAI,EAAEJ,CAAC,CAACK,MAAM,CAAC;aAC1C,CAAC,OAAOtB,KAAK,EAAE;cACZD,OAAO,CAACC,KAAK,CAAC,oBAAoBiB,CAAC,CAACI,IAAI,EAAE,CAAC;cAC3CtB,OAAO,CAACC,KAAK,CAACA,KAAK,CAAC;;UAE5B,CAAC;;OAEJ;MA/CGuB,UAAA,EAACtC,MAAM,E,0BACQE,aAAa,E,oDAAC;MAHZM,cAAc,GAAA8B,UAAA,EADlChD,WAAW,EAAE,C,EACOkB,cAAc,CAiDlC;MAAA+B,OAAA,YAjDoB/B,cAAc;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IModel } from "@web-atoms/entity/dist/services/BaseEntityService";
|
|
2
|
+
import type LocalDbService from "../LocalDbService";
|
|
3
|
+
import TemplateQuery from "./TemplateQuery";
|
|
4
|
+
import { IResult } from "../LocalDbService";
|
|
5
|
+
export default abstract class LocalTable<T> {
|
|
6
|
+
protected readonly service: LocalDbService;
|
|
7
|
+
name: TemplateQuery;
|
|
8
|
+
model: IModel<T>;
|
|
9
|
+
constructor(service: LocalDbService);
|
|
10
|
+
sync(): Promise<void>;
|
|
11
|
+
abstract startSync(): Promise<void>;
|
|
12
|
+
afterInit(): Promise<void>;
|
|
13
|
+
init(): Promise<void>;
|
|
14
|
+
query(a: TemplateStringsArray | TemplateQuery, ...args: any[]): Promise<IResult<T>>;
|
|
15
|
+
save(element: T, retry?: number): Promise<void>;
|
|
16
|
+
private toPgColumn;
|
|
17
|
+
private toPgType;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=LocalTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalTable.d.ts","sourceRoot":"","sources":["../../../../src/services/local-db/core/LocalTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAuB,MAAM,mDAAmD,CAAC;AAChG,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,UAAU,CAAC,CAAC;IAMlC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,cAAc;IAJ9C,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;gBAGM,OAAO,EAAE,cAAc;IAKxC,IAAI;aAWM,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAE7B,SAAS;IAIT,IAAI;IAcV,KAAK,CAAC,CAAC,EAAE,oBAAoB,GAAG,aAAa,EAAE,GAAI,IAAI,EAAE,GAAG,EAAE;IAI/D,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,SAAI;IAoChC,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,QAAQ;CAoBnB"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
System.register(["tslib", "./TemplateQuery"], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var __awaiter, TemplateQuery, LocalTable;
|
|
5
|
+
_export("default", void 0);
|
|
6
|
+
return {
|
|
7
|
+
setters: [function (_tslib) {
|
|
8
|
+
__awaiter = _tslib.__awaiter;
|
|
9
|
+
}, function (_TemplateQuery) {
|
|
10
|
+
TemplateQuery = _TemplateQuery.default;
|
|
11
|
+
}],
|
|
12
|
+
execute: function () {
|
|
13
|
+
_export("default", LocalTable = class LocalTable {
|
|
14
|
+
constructor(service) {
|
|
15
|
+
this.service = service;
|
|
16
|
+
}
|
|
17
|
+
sync() {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
const s = (() => __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
yield this.init();
|
|
21
|
+
yield this.startSync();
|
|
22
|
+
delete this.sync;
|
|
23
|
+
}))();
|
|
24
|
+
Object.defineProperty(this, "sync", {
|
|
25
|
+
value: () => s
|
|
26
|
+
});
|
|
27
|
+
return s;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
afterInit() {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {});
|
|
32
|
+
}
|
|
33
|
+
init() {
|
|
34
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
let keys = TemplateQuery.fragments(",");
|
|
36
|
+
let pKeys = TemplateQuery.fragments(",");
|
|
37
|
+
for (const {
|
|
38
|
+
name,
|
|
39
|
+
dataType,
|
|
40
|
+
length
|
|
41
|
+
} of this.model.schema.keys) {
|
|
42
|
+
keys = keys.add`${TemplateQuery.literal(name)} ${TemplateQuery.literal(this.toPgType(dataType, length))}`;
|
|
43
|
+
pKeys = pKeys.add`${TemplateQuery.literal(name)}`;
|
|
44
|
+
}
|
|
45
|
+
yield this.query`CREATE TABLE IF NOT EXISTS ${this.name} (${keys}, PRIMARY KEY (${pKeys}))`;
|
|
46
|
+
for (const {
|
|
47
|
+
name,
|
|
48
|
+
dataType,
|
|
49
|
+
length
|
|
50
|
+
} of this.model.schema.properties) {
|
|
51
|
+
yield this.query`ALTER TABLE ${this.name} ADD COLUMN IF NOT EXISTS ${TemplateQuery.literal(name)} ${TemplateQuery.literal(this.toPgColumn(dataType, length))}`;
|
|
52
|
+
}
|
|
53
|
+
yield this.afterInit();
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
query(a, ...args) {
|
|
57
|
+
return this.service.query(a, ...args);
|
|
58
|
+
}
|
|
59
|
+
save(element, retry = 3) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
try {
|
|
62
|
+
let where = TemplateQuery.fragments(" AND ");
|
|
63
|
+
for (const key of this.model.schema.keys) {
|
|
64
|
+
where = where.add`${TemplateQuery.literal(key.name)} = ${element[key.name]}`;
|
|
65
|
+
}
|
|
66
|
+
let fields = TemplateQuery.fragments(" , ");
|
|
67
|
+
for (const field of this.model.schema.properties) {
|
|
68
|
+
fields = fields.add`${TemplateQuery.literal(field.name)} = ${element[field.name]}`;
|
|
69
|
+
}
|
|
70
|
+
const {
|
|
71
|
+
affectedRows
|
|
72
|
+
} = yield this.query`UPDATE ${this.name} SET ${fields} WHERE ${where}`;
|
|
73
|
+
if (affectedRows === 1) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
let values = TemplateQuery.fragments(" , ");
|
|
77
|
+
let columns = TemplateQuery.fragments(" , ");
|
|
78
|
+
for (const key of this.model.schema.keys) {
|
|
79
|
+
columns = columns.add`${element[key.name]}`;
|
|
80
|
+
values = values.add`${element[key.name]}`;
|
|
81
|
+
}
|
|
82
|
+
yield this.query`INSERT INTO ${this.name} (${columns}) VALUES (${values}) `;
|
|
83
|
+
} catch (error) {
|
|
84
|
+
if (--retry) {
|
|
85
|
+
yield this.save(element, retry);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
toPgColumn(type, length) {
|
|
93
|
+
const pgType = this.toPgType(type, length);
|
|
94
|
+
return pgType + " NULL";
|
|
95
|
+
}
|
|
96
|
+
toPgType(type, length) {
|
|
97
|
+
switch (type) {
|
|
98
|
+
case "Integer":
|
|
99
|
+
return "int";
|
|
100
|
+
case "BigInt":
|
|
101
|
+
return "bigint";
|
|
102
|
+
case "Boolean":
|
|
103
|
+
case "Bool":
|
|
104
|
+
return "bool";
|
|
105
|
+
case "DateTime":
|
|
106
|
+
return "timestamp";
|
|
107
|
+
case "Decimal":
|
|
108
|
+
case "Double":
|
|
109
|
+
return "real";
|
|
110
|
+
}
|
|
111
|
+
if (length) {
|
|
112
|
+
return `varchar (${length})`;
|
|
113
|
+
}
|
|
114
|
+
return "text";
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
//# sourceMappingURL=LocalTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LocalTable","_export","setters","_tslib","TemplateQuery","_TemplateQuery","default","execute","constructor","service","sync","s","__awaiter","init","startSync","Object","defineProperty","value","afterInit","keys","fragments","pKeys","name","dataType","length","model","schema","add","literal","toPgType","query","properties","toPgColumn","a","args","save","element","retry","where","key","fields","field","affectedRows","values","columns","error","type","pgType"],"sources":["../../../../src/services/local-db/core/LocalTable.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface IQueryPart {
|
|
2
|
+
literal?: string;
|
|
3
|
+
arg?: any;
|
|
4
|
+
}
|
|
5
|
+
export declare class QueryFragments {
|
|
6
|
+
readonly fragments: IQueryPart[];
|
|
7
|
+
readonly prefix: string;
|
|
8
|
+
readonly separator: string;
|
|
9
|
+
constructor(separator: string, prefix?: string);
|
|
10
|
+
add(query: TemplateQuery | QueryFragments): QueryFragments;
|
|
11
|
+
add(query: TemplateStringsArray, ...args: any[]): QueryFragments;
|
|
12
|
+
toQuery(): TemplateQuery;
|
|
13
|
+
}
|
|
14
|
+
export default class TemplateQuery {
|
|
15
|
+
fragments: IQueryPart[];
|
|
16
|
+
static literal(literal: string): TemplateQuery;
|
|
17
|
+
static create(query: TemplateStringsArray, ...args: any[]): TemplateQuery;
|
|
18
|
+
static fragments(separator: string): QueryFragments;
|
|
19
|
+
constructor(fragments?: IQueryPart[]);
|
|
20
|
+
toQuery(prefix?: string, argName?: (index: any) => string): IQuery;
|
|
21
|
+
toValue(av: any): any;
|
|
22
|
+
}
|
|
23
|
+
export interface IQuery {
|
|
24
|
+
text: string;
|
|
25
|
+
values: any[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=TemplateQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateQuery.d.ts","sourceRoot":"","sources":["../../../../src/services/local-db/core/TemplateQuery.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,GAAG,CAAC;CACb;AAED,qBAAa,cAAc;IAEvB,SAAgB,SAAS,EAAE,UAAU,EAAE,CAAM;IAE7C,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAG9B,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM;IAKZ,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,GAAG,cAAc;IAC1D,GAAG,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAI,IAAI,EAAE,GAAG,EAAE,GAAG,cAAc;IAkBjE,OAAO,IAAI,aAAa;CASlC;AAED,MAAM,CAAC,OAAO,OAAO,aAAa;IA6BX,SAAS,EAAE,UAAU,EAAE;WA3B5B,OAAO,CAAC,OAAO,EAAE,MAAM;WAIvB,MAAM,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAI,IAAI,EAAE,GAAG,EAAE,GAAG,aAAa;WAkBnE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;gBAKvC,SAAS,GAAE,UAAU,EAAO;IAExC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,yBAA6B,GAAG,MAAM;IA4B7E,OAAO,CAAC,EAAE,EAAE,GAAG,GAAG,GAAG;CAoBxB;AAED,MAAM,WAAW,MAAM;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,EAAE,CAAC;CACjB"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
System.register([], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var QueryFragments, TemplateQuery;
|
|
5
|
+
_export({
|
|
6
|
+
QueryFragments: void 0,
|
|
7
|
+
default: void 0
|
|
8
|
+
});
|
|
9
|
+
return {
|
|
10
|
+
setters: [],
|
|
11
|
+
execute: function () {
|
|
12
|
+
_export("QueryFragments", QueryFragments = class QueryFragments {
|
|
13
|
+
constructor(separator, prefix) {
|
|
14
|
+
this.fragments = [];
|
|
15
|
+
this.prefix = prefix;
|
|
16
|
+
this.separator = separator;
|
|
17
|
+
}
|
|
18
|
+
add(query, ...args) {
|
|
19
|
+
const {
|
|
20
|
+
separator
|
|
21
|
+
} = this;
|
|
22
|
+
if (separator && this.fragments.length) {
|
|
23
|
+
this.fragments.push({
|
|
24
|
+
literal: separator
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
if (query instanceof QueryFragments) {
|
|
28
|
+
query = query.toQuery();
|
|
29
|
+
} else if (!(query instanceof TemplateQuery)) {
|
|
30
|
+
query = TemplateQuery.create(query, ...args);
|
|
31
|
+
}
|
|
32
|
+
this.fragments.push(...query.fragments);
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
toQuery() {
|
|
36
|
+
const f = [];
|
|
37
|
+
if (this.prefix) {
|
|
38
|
+
f.push({
|
|
39
|
+
literal: this.prefix
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
f.push(...this.fragments);
|
|
43
|
+
return new TemplateQuery(f);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
_export("default", TemplateQuery = class TemplateQuery {
|
|
47
|
+
static literal(literal) {
|
|
48
|
+
return new TemplateQuery([{
|
|
49
|
+
literal
|
|
50
|
+
}]);
|
|
51
|
+
}
|
|
52
|
+
static create(query, ...args) {
|
|
53
|
+
const q = new TemplateQuery();
|
|
54
|
+
for (let index = 0; index < query.length; index++) {
|
|
55
|
+
const literal = query[index];
|
|
56
|
+
q.fragments.push({
|
|
57
|
+
literal
|
|
58
|
+
});
|
|
59
|
+
if (index < args.length) {
|
|
60
|
+
const arg = args[index];
|
|
61
|
+
if (arg instanceof TemplateQuery || arg instanceof QueryFragments) {
|
|
62
|
+
q.fragments.push(...arg.fragments);
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
q.fragments.push({
|
|
66
|
+
arg
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return q;
|
|
71
|
+
}
|
|
72
|
+
static fragments(separator, prefix) {
|
|
73
|
+
return new QueryFragments(separator, prefix);
|
|
74
|
+
}
|
|
75
|
+
constructor(fragments = []) {
|
|
76
|
+
this.fragments = fragments;
|
|
77
|
+
}
|
|
78
|
+
toQuery(prefix, argName = index => `$${index + 1}`) {
|
|
79
|
+
let text = prefix !== null && prefix !== void 0 ? prefix : "";
|
|
80
|
+
const values = [];
|
|
81
|
+
const map = new Map();
|
|
82
|
+
for (const {
|
|
83
|
+
literal,
|
|
84
|
+
arg
|
|
85
|
+
} of this.fragments) {
|
|
86
|
+
if (literal !== void 0) {
|
|
87
|
+
text += literal;
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
const av = arg !== null && arg !== void 0 ? arg : null;
|
|
91
|
+
if (av === null) {
|
|
92
|
+
text += " NULL ";
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
let an = map.get(av);
|
|
96
|
+
if (an === void 0) {
|
|
97
|
+
an = argName(values.length);
|
|
98
|
+
map.set(av, an);
|
|
99
|
+
values.push(this.toValue(av));
|
|
100
|
+
}
|
|
101
|
+
text += an;
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
text,
|
|
105
|
+
values
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
toValue(av) {
|
|
109
|
+
if (av === void 0) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
if (av === null) {
|
|
113
|
+
return null;
|
|
114
|
+
}
|
|
115
|
+
if (av instanceof Date) {
|
|
116
|
+
return av.toJSON();
|
|
117
|
+
}
|
|
118
|
+
switch (typeof av) {
|
|
119
|
+
case "boolean":
|
|
120
|
+
return av;
|
|
121
|
+
case "string":
|
|
122
|
+
case "number":
|
|
123
|
+
case "bigint":
|
|
124
|
+
return av.toString();
|
|
125
|
+
}
|
|
126
|
+
return av;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=TemplateQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["QueryFragments","TemplateQuery","_export","default","setters","execute","constructor","separator","prefix","fragments","add","query","args","length","push","literal","toQuery","create","f","q","index","arg","argName","text","values","map","Map","av","an","get","set","toValue","Date","toJSON","toString"],"sources":["../../../../src/services/local-db/core/TemplateQuery.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IMailbox } from "../../../model/model";
|
|
2
|
+
import LocalTable from "../core/LocalTable";
|
|
3
|
+
import TemplateQuery from "../core/TemplateQuery";
|
|
4
|
+
export default class LocalMailbox extends LocalTable<IMailbox> {
|
|
5
|
+
name: TemplateQuery;
|
|
6
|
+
model: import("@web-atoms/entity/dist/services/BaseEntityService").IModel<IMailbox, {
|
|
7
|
+
channels: "external";
|
|
8
|
+
}, {
|
|
9
|
+
fetch: "external";
|
|
10
|
+
}>;
|
|
11
|
+
startSync(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=LocalMailbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalMailbox.d.ts","sourceRoot":"","sources":["../../../../src/services/local-db/mailboxes/LocalMailbox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAW,MAAM,sBAAsB,CAAC;AACzD,OAAO,UAAU,MAAM,oBAAoB,CAAC;AAC5C,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU,CAAC,QAAQ,CAAC;IAE1D,IAAI,gBAAsC;IAE1C,KAAK;;;;OAAW;IAEH,SAAS;CAgDzB"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
System.register(["tslib", "@web-atoms/date-time/dist/DateTime", "../../../model/model", "../core/LocalTable", "../core/TemplateQuery"], function (_export, _context) {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var __awaiter, DateTime, Mailbox, LocalTable, TemplateQuery, LocalMailbox;
|
|
5
|
+
_export("default", void 0);
|
|
6
|
+
return {
|
|
7
|
+
setters: [function (_tslib) {
|
|
8
|
+
__awaiter = _tslib.__awaiter;
|
|
9
|
+
}, function (_webAtomsDateTimeDistDateTime) {
|
|
10
|
+
DateTime = _webAtomsDateTimeDistDateTime.default;
|
|
11
|
+
}, function (_modelModel) {
|
|
12
|
+
Mailbox = _modelModel.Mailbox;
|
|
13
|
+
}, function (_coreLocalTable) {
|
|
14
|
+
LocalTable = _coreLocalTable.default;
|
|
15
|
+
}, function (_coreTemplateQuery) {
|
|
16
|
+
TemplateQuery = _coreTemplateQuery.default;
|
|
17
|
+
}],
|
|
18
|
+
execute: function () {
|
|
19
|
+
_export("default", LocalMailbox = class LocalMailbox extends LocalTable {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this.name = TemplateQuery.literal("mailboxes");
|
|
23
|
+
this.model = Mailbox;
|
|
24
|
+
}
|
|
25
|
+
startSync() {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const es = this.service.entityService;
|
|
28
|
+
let q = es.query(this.model);
|
|
29
|
+
let max = null;
|
|
30
|
+
const {
|
|
31
|
+
rows: [first]
|
|
32
|
+
} = yield this.query`SELECT * FROM ${this.name} ORDER BY dateUpdated DESC LIMIT 1`;
|
|
33
|
+
if (first) {
|
|
34
|
+
max = first.dateUpdated;
|
|
35
|
+
q = q.where({
|
|
36
|
+
max
|
|
37
|
+
}, p => x => x.dateUpdated >= p.max);
|
|
38
|
+
}
|
|
39
|
+
let min = DateTime.now;
|
|
40
|
+
do {
|
|
41
|
+
const result = yield q.where({
|
|
42
|
+
min
|
|
43
|
+
}, p => x => x.dateUpdated < p.min).orderByDescending(x => x.dateUpdated).toPagedList({
|
|
44
|
+
start: 0,
|
|
45
|
+
size: 200,
|
|
46
|
+
count: false
|
|
47
|
+
});
|
|
48
|
+
if (!result.items.length) {
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
for (const element of result.items) {
|
|
52
|
+
yield this.save(element);
|
|
53
|
+
min = element.dateUpdated;
|
|
54
|
+
}
|
|
55
|
+
} while (true);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=LocalMailbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["LocalMailbox","_export","setters","_tslib","DateTime","_webAtomsDateTimeDistDateTime","default","_modelModel","Mailbox","_coreLocalTable","LocalTable","_coreTemplateQuery","TemplateQuery","execute","constructor","name","literal","model","startSync","es","service","entityService","q","query","max","rows","first","dateUpdated","where","p","x","min","now","result","orderByDescending","toPagedList","start","size","count","items","length","element","save"],"sources":["../../../../src/services/local-db/mailboxes/LocalMailbox.ts"],"sourcesContent":[null],"mappings":";;;+DAKqBA,YAAa;EAAAC,OAAA;EAAA;IAAAC,OAAA,aAAAC,MAAA;;;MAL3BC,QAAQ,GAAAC,6BAAA,CAAAC,OAAA;IAAA,aAAAC,WAAA;MACIC,OAAO,GAAAD,WAAA,CAAPC,OAAO;IAAA,aAAAC,eAAA;MACnBC,UAAU,GAAAD,eAAA,CAAAH,OAAA;IAAA,aAAAK,kBAAA;MACVC,aAAa,GAAAD,kBAAA,CAAAL,OAAA;IAAA;IAAAO,OAAA,WAAAA,CAAA;MAAAZ,OAAA,YAECD,YAAa,GAApB,MAAOA,YAAa,SAAQU,UAAoB;QAA9DI,YAAA;;UAEI,KAAAC,IAAI,GAAGH,aAAa,CAACI,OAAO,CAAC,WAAW,CAAC;UAEzC,KAAAC,KAAK,GAAGT,OAAO;QAkDnB;QAhDiBU,SAASA,CAAA;;YAElB,MAAMC,EAAE,GAAG,IAAI,CAACC,OAAO,CAACC,aAAa;YAErC,IAAIC,CAAC,GAAGH,EAAE,CAACI,KAAK,CAAC,IAAI,CAACN,KAAK,CAAC;YAE5B,IAAIO,GAAG,GAAG,IAAI;YAGd,MAAM;cAAEC,IAAI,EAAC,CAACC,KAAK;YAAC,CAAE,GAAG,MAAM,IAAI,CAACH,KAAM,iBAAiB,IAAI,CAACR,IAAI,oCAAoC;YACxG,IAAIW,KAAK,EAAE;cACPF,GAAG,GAAGE,KAAK,CAACC,WAAW;cACvBL,CAAC,GAAGA,CAAC,CAACM,KAAK,CAAC;gBAAEJ;cAAG,CAAC,EAAGK,CAAC,IAAMC,CAAC,IAAKA,CAAC,CAACH,WAAW,IAAIE,CAAC,CAACL,GAAG,CAAC;;YAG7D,IAAIO,GAAG,GAAG3B,QAAQ,CAAC4B,GAAG;YAEtB,GAAG;cACC,MAAMC,MAAM,GAAG,MAAMX,CAAC,CAACM,KAAK,CAAC;gBAAEG;cAAG,CAAE,EAAGF,CAAC,IAAMC,CAAC,IAAKA,CAAC,CAACH,WAAW,GAAGE,CAAC,CAACE,GAAG,CAAC,CACrEG,iBAAiB,CAAEJ,CAAC,IAAKA,CAAC,CAACH,WAAW,CAAC,CACvCQ,WAAW,CAAC;gBACTC,KAAK,EAAE,CAAC;gBACRC,IAAI,EAAE,GAAG;gBACTC,KAAK,EAAE;eACV,CAAC;cAEN,IAAI,CAACL,MAAM,CAACM,KAAK,CAACC,MAAM,EAAE;gBACtB;;cAGJ,KAAK,MAAMC,OAAO,IAAIR,MAAM,CAACM,KAAK,EAAE;gBAChC,MAAM,IAAI,CAACG,IAAI,CAACD,OAAO,CAAC;gBACxBV,GAAG,GAAGU,OAAO,CAACd,WAAW;;aAEhC,QAAO,IAAI;UAChB,CAAC;;OAaJ;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -381,7 +381,7 @@ System.register(["tslib", "../../common/QueryIterator", "./AttachmentFile", "./H
|
|
|
381
381
|
writer.writeLine("");
|
|
382
382
|
return;
|
|
383
383
|
}
|
|
384
|
-
let text = this.
|
|
384
|
+
let text = this.text;
|
|
385
385
|
if (this.contentTransferEncoding === "quoted-printable") {
|
|
386
386
|
text = quotedPrintable.encode(RawBuffer.encode(text));
|
|
387
387
|
}
|