@effect-app/infra 2.32.2 → 2.34.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 +22 -0
- package/package.json +174 -632
- package/_cjs/CUPS.cjs +0 -120
- package/_cjs/CUPS.cjs.map +0 -1
- package/_cjs/Emailer/Sendgrid.cjs +0 -109
- package/_cjs/Emailer/Sendgrid.cjs.map +0 -1
- package/_cjs/Emailer/fake.cjs +0 -17
- package/_cjs/Emailer/fake.cjs.map +0 -1
- package/_cjs/Emailer/service.cjs +0 -12
- package/_cjs/Emailer/service.cjs.map +0 -1
- package/_cjs/Emailer.cjs +0 -17
- package/_cjs/Emailer.cjs.map +0 -1
- package/_cjs/MainFiberSet.cjs +0 -61
- package/_cjs/MainFiberSet.cjs.map +0 -1
- package/_cjs/Model/Repository/ext.cjs +0 -68
- package/_cjs/Model/Repository/ext.cjs.map +0 -1
- package/_cjs/Model/Repository/internal/internal.cjs +0 -245
- package/_cjs/Model/Repository/internal/internal.cjs.map +0 -1
- package/_cjs/Model/Repository/legacy.cjs +0 -6
- package/_cjs/Model/Repository/legacy.cjs.map +0 -1
- package/_cjs/Model/Repository/makeRepo.cjs +0 -34
- package/_cjs/Model/Repository/makeRepo.cjs.map +0 -1
- package/_cjs/Model/Repository/service.cjs +0 -6
- package/_cjs/Model/Repository/service.cjs.map +0 -1
- package/_cjs/Model/Repository.cjs +0 -52
- package/_cjs/Model/Repository.cjs.map +0 -1
- package/_cjs/Model/dsl.cjs +0 -54
- package/_cjs/Model/dsl.cjs.map +0 -1
- package/_cjs/Model/filter/filterApi.cjs +0 -6
- package/_cjs/Model/filter/filterApi.cjs.map +0 -1
- package/_cjs/Model/filter/types/errors.cjs +0 -6
- package/_cjs/Model/filter/types/errors.cjs.map +0 -1
- package/_cjs/Model/filter/types/fields.cjs +0 -6
- package/_cjs/Model/filter/types/fields.cjs.map +0 -1
- package/_cjs/Model/filter/types/path/common.cjs +0 -6
- package/_cjs/Model/filter/types/path/common.cjs.map +0 -1
- package/_cjs/Model/filter/types/path/eager.cjs +0 -37
- package/_cjs/Model/filter/types/path/eager.cjs.map +0 -1
- package/_cjs/Model/filter/types/path/index.cjs +0 -6
- package/_cjs/Model/filter/types/path/index.cjs.map +0 -1
- package/_cjs/Model/filter/types/utils.cjs +0 -6
- package/_cjs/Model/filter/types/utils.cjs.map +0 -1
- package/_cjs/Model/filter/types/validator.cjs +0 -6
- package/_cjs/Model/filter/types/validator.cjs.map +0 -1
- package/_cjs/Model/filter/types.cjs +0 -50
- package/_cjs/Model/filter/types.cjs.map +0 -1
- package/_cjs/Model/query/dsl.cjs +0 -133
- package/_cjs/Model/query/dsl.cjs.map +0 -1
- package/_cjs/Model/query/new-kid-interpreter.cjs +0 -162
- package/_cjs/Model/query/new-kid-interpreter.cjs.map +0 -1
- package/_cjs/Model/query.cjs +0 -28
- package/_cjs/Model/query.cjs.map +0 -1
- package/_cjs/Model.cjs +0 -34
- package/_cjs/Model.cjs.map +0 -1
- package/_cjs/Operations.cjs +0 -105
- package/_cjs/Operations.cjs.map +0 -1
- package/_cjs/OperationsRepo.cjs +0 -21
- package/_cjs/OperationsRepo.cjs.map +0 -1
- package/_cjs/QueueMaker/SQLQueue.cjs +0 -149
- package/_cjs/QueueMaker/SQLQueue.cjs.map +0 -1
- package/_cjs/QueueMaker/errors.cjs +0 -29
- package/_cjs/QueueMaker/errors.cjs.map +0 -1
- package/_cjs/QueueMaker/memQueue.cjs +0 -90
- package/_cjs/QueueMaker/memQueue.cjs.map +0 -1
- package/_cjs/QueueMaker/sbqueue.cjs +0 -107
- package/_cjs/QueueMaker/sbqueue.cjs.map +0 -1
- package/_cjs/QueueMaker/service.cjs +0 -10
- package/_cjs/QueueMaker/service.cjs.map +0 -1
- package/_cjs/RequestContext.cjs +0 -54
- package/_cjs/RequestContext.cjs.map +0 -1
- package/_cjs/RequestFiberSet.cjs +0 -85
- package/_cjs/RequestFiberSet.cjs.map +0 -1
- package/_cjs/Store/ContextMapContainer.cjs +0 -19
- package/_cjs/Store/ContextMapContainer.cjs.map +0 -1
- package/_cjs/Store/Cosmos/query.cjs +0 -170
- package/_cjs/Store/Cosmos/query.cjs.map +0 -1
- package/_cjs/Store/Cosmos.cjs +0 -302
- package/_cjs/Store/Cosmos.cjs.map +0 -1
- package/_cjs/Store/Disk.cjs +0 -118
- package/_cjs/Store/Disk.cjs.map +0 -1
- package/_cjs/Store/Memory.cjs +0 -174
- package/_cjs/Store/Memory.cjs.map +0 -1
- package/_cjs/Store/codeFilter.cjs +0 -128
- package/_cjs/Store/codeFilter.cjs.map +0 -1
- package/_cjs/Store/index.cjs +0 -46
- package/_cjs/Store/index.cjs.map +0 -1
- package/_cjs/Store/service.cjs +0 -73
- package/_cjs/Store/service.cjs.map +0 -1
- package/_cjs/Store/utils.cjs +0 -70
- package/_cjs/Store/utils.cjs.map +0 -1
- package/_cjs/Store.cjs +0 -17
- package/_cjs/Store.cjs.map +0 -1
- package/_cjs/adapters/SQL/Model.cjs +0 -501
- package/_cjs/adapters/SQL/Model.cjs.map +0 -1
- package/_cjs/adapters/SQL.cjs +0 -11
- package/_cjs/adapters/SQL.cjs.map +0 -1
- package/_cjs/adapters/ServiceBus.cjs +0 -76
- package/_cjs/adapters/ServiceBus.cjs.map +0 -1
- package/_cjs/adapters/cosmos-client.cjs +0 -18
- package/_cjs/adapters/cosmos-client.cjs.map +0 -1
- package/_cjs/adapters/index.cjs +0 -6
- package/_cjs/adapters/index.cjs.map +0 -1
- package/_cjs/adapters/logger.cjs +0 -9
- package/_cjs/adapters/logger.cjs.map +0 -1
- package/_cjs/adapters/memQueue.cjs +0 -27
- package/_cjs/adapters/memQueue.cjs.map +0 -1
- package/_cjs/adapters/mongo-client.cjs +0 -20
- package/_cjs/adapters/mongo-client.cjs.map +0 -1
- package/_cjs/adapters/redis-client.cjs +0 -83
- package/_cjs/adapters/redis-client.cjs.map +0 -1
- package/_cjs/api/codec.cjs +0 -13
- package/_cjs/api/codec.cjs.map +0 -1
- package/_cjs/api/internal/RequestContextMiddleware.cjs +0 -41
- package/_cjs/api/internal/RequestContextMiddleware.cjs.map +0 -1
- package/_cjs/api/internal/auth.cjs +0 -58
- package/_cjs/api/internal/auth.cjs.map +0 -1
- package/_cjs/api/internal/events.cjs +0 -34
- package/_cjs/api/internal/events.cjs.map +0 -1
- package/_cjs/api/internal/health.cjs +0 -13
- package/_cjs/api/internal/health.cjs.map +0 -1
- package/_cjs/api/internal/middlewares.cjs +0 -197
- package/_cjs/api/internal/middlewares.cjs.map +0 -1
- package/_cjs/api/middlewares.cjs +0 -115
- package/_cjs/api/middlewares.cjs.map +0 -1
- package/_cjs/api/reportError.cjs +0 -29
- package/_cjs/api/reportError.cjs.map +0 -1
- package/_cjs/api/routing/DynamicMiddleware.cjs +0 -19
- package/_cjs/api/routing/DynamicMiddleware.cjs.map +0 -1
- package/_cjs/api/routing/schema/jwt.cjs +0 -21
- package/_cjs/api/routing/schema/jwt.cjs.map +0 -1
- package/_cjs/api/routing/utils.cjs +0 -53
- package/_cjs/api/routing/utils.cjs.map +0 -1
- package/_cjs/api/routing.cjs +0 -228
- package/_cjs/api/routing.cjs.map +0 -1
- package/_cjs/api/routing.legacy.cjs +0 -191
- package/_cjs/api/routing.legacy.cjs.map +0 -1
- package/_cjs/api/routing.legacy2.cjs +0 -210
- package/_cjs/api/routing.legacy2.cjs.map +0 -1
- package/_cjs/api/routing.legacy3.cjs +0 -214
- package/_cjs/api/routing.legacy3.cjs.map +0 -1
- package/_cjs/api/setupRequest.cjs +0 -58
- package/_cjs/api/setupRequest.cjs.map +0 -1
- package/_cjs/api/util.cjs +0 -17
- package/_cjs/api/util.cjs.map +0 -1
- package/_cjs/arbs.cjs +0 -25
- package/_cjs/arbs.cjs.map +0 -1
- package/_cjs/errorReporter.cjs +0 -74
- package/_cjs/errorReporter.cjs.map +0 -1
- package/_cjs/errors.cjs +0 -17
- package/_cjs/errors.cjs.map +0 -1
- package/_cjs/fileUtil.cjs +0 -48
- package/_cjs/fileUtil.cjs.map +0 -1
- package/_cjs/index.cjs +0 -11
- package/_cjs/index.cjs.map +0 -1
- package/_cjs/logger/jsonLogger.cjs +0 -43
- package/_cjs/logger/jsonLogger.cjs.map +0 -1
- package/_cjs/logger/logFmtLogger.cjs +0 -25
- package/_cjs/logger/logFmtLogger.cjs.map +0 -1
- package/_cjs/logger/shared.cjs +0 -30
- package/_cjs/logger/shared.cjs.map +0 -1
- package/_cjs/logger.cjs +0 -9
- package/_cjs/logger.cjs.map +0 -1
- package/_cjs/rateLimit.cjs +0 -76
- package/_cjs/rateLimit.cjs.map +0 -1
- package/_cjs/test.cjs +0 -77
- package/_cjs/test.cjs.map +0 -1
- package/_cjs/vitest.cjs +0 -28
- package/_cjs/vitest.cjs.map +0 -1
package/_cjs/CUPS.cjs
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.prepareTempDir = exports.makePrintJobTempFileArrayBuffer = exports.makePrintJobTempFile = exports.PrinterId = exports.CUPSConfig = exports.CUPS = void 0;
|
|
7
|
-
var _fileUtil = require("@effect-app/infra/fileUtil");
|
|
8
|
-
var _child_process = _interopRequireDefault(require("child_process"));
|
|
9
|
-
var _effectApp = require("effect-app");
|
|
10
|
-
var _utils = require("effect-app/utils");
|
|
11
|
-
var _fs = _interopRequireDefault(require("fs"));
|
|
12
|
-
var _os = _interopRequireDefault(require("os"));
|
|
13
|
-
var _path = _interopRequireDefault(require("path"));
|
|
14
|
-
var _util = _interopRequireDefault(require("util"));
|
|
15
|
-
var _logger = require("./logger.cjs");
|
|
16
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
const PrinterId = exports.PrinterId = _effectApp.S.NonEmptyString255;
|
|
18
|
-
const exec_ = _util.default.promisify(_child_process.default.exec);
|
|
19
|
-
const exec = command => _effectApp.Effect.andThen(_logger.InfraLogger.logDebug(`Executing: ${command}`), _effectApp.Effect.tap(_effectApp.Effect.tryPromise(() => exec_(command)), r => _logger.InfraLogger.logDebug(`Executed`).pipe(_effectApp.Effect.annotateLogs("result", (0, _utils.pretty)(r)))));
|
|
20
|
-
function printFile(printer, options) {
|
|
21
|
-
return filePath => printFile_(filePath, printer, options);
|
|
22
|
-
}
|
|
23
|
-
function printFile_(filePath, printer, options) {
|
|
24
|
-
return exec(["lp", ...buildPrintArgs(filePath, printer, options)].join(" "));
|
|
25
|
-
}
|
|
26
|
-
function* buildPrintArgs(filePath, printer, options) {
|
|
27
|
-
if (printer) {
|
|
28
|
-
if (printer.url) {
|
|
29
|
-
yield `-h ${printer.url.host}`;
|
|
30
|
-
if (printer.url.username) {
|
|
31
|
-
yield `-U ${printer.url.username}`;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
yield `-d "${printer.id}"`;
|
|
35
|
-
for (const o of options) {
|
|
36
|
-
yield `-o ${o}`;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
yield `"${filePath}"`;
|
|
40
|
-
}
|
|
41
|
-
const prepareTempDir = exports.prepareTempDir = _effectApp.Effect.sync(() => {
|
|
42
|
-
// TODO
|
|
43
|
-
try {
|
|
44
|
-
_fs.default.mkdirSync(_path.default.join(_os.default.tmpdir(), "effect-ts-app"));
|
|
45
|
-
} catch (err) {
|
|
46
|
-
if (`${err}`.includes("EEXIST")) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
throw err;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
const makeTempFile = (0, _fileUtil.tempFile)("effect-ts-app");
|
|
53
|
-
const makePrintJobTempFile = exports.makePrintJobTempFile = makeTempFile("print-job");
|
|
54
|
-
const makePrintJobTempFileArrayBuffer = (buffer, options) => makePrintJobTempFile(Buffer.from(buffer), options);
|
|
55
|
-
exports.makePrintJobTempFileArrayBuffer = makePrintJobTempFileArrayBuffer;
|
|
56
|
-
function printBuffer(printer, options) {
|
|
57
|
-
return buffer => makePrintJobTempFileArrayBuffer(buffer).pipe(_effectApp.Effect.flatMap(printFile(printer, options)), _effectApp.Effect.scoped);
|
|
58
|
-
}
|
|
59
|
-
function getAvailablePrinters(host) {
|
|
60
|
-
return _effectApp.Effect.gen(function* () {
|
|
61
|
-
const {
|
|
62
|
-
stdout
|
|
63
|
-
} = yield* exec(["lpstat", ...buildListArgs({
|
|
64
|
-
host
|
|
65
|
-
}), "-s"].join(" "));
|
|
66
|
-
return [...stdout.matchAll(/device for (\w+):/g)].map(_ => _[1]).filter(_effectApp.Predicate.isNotNullable).map(_ => _effectApp.S.NonEmptyString255(_));
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
function* buildListArgs(config) {
|
|
70
|
-
if (config?.host) {
|
|
71
|
-
yield `-h ${config.host}`;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
const CUPSConfig = exports.CUPSConfig = _effectApp.Config.all({
|
|
75
|
-
server: _effectApp.Config.string("server").pipe(_effectApp.Config.map(s => new URL(s)), _effectApp.Config.option, _effectApp.Config.nested("cups"))
|
|
76
|
-
});
|
|
77
|
-
class CUPS extends _effectApp.Effect.Service()("effect-app/CUPS", {
|
|
78
|
-
effect: _effectApp.Effect.gen(function* () {
|
|
79
|
-
const config = yield* CUPSConfig;
|
|
80
|
-
function print(buffer, printerId, ...options) {
|
|
81
|
-
const _print = printBuffer({
|
|
82
|
-
id: printerId,
|
|
83
|
-
url: config.server.value
|
|
84
|
-
}, options);
|
|
85
|
-
return _print(buffer);
|
|
86
|
-
}
|
|
87
|
-
return {
|
|
88
|
-
print,
|
|
89
|
-
printFile: (filePath, printerId, ...options) => printFile({
|
|
90
|
-
id: printerId,
|
|
91
|
-
url: config.server.value
|
|
92
|
-
}, options)(filePath),
|
|
93
|
-
getAvailablePrinters: getAvailablePrinters(config.server.value?.host)
|
|
94
|
-
};
|
|
95
|
-
})
|
|
96
|
-
}) {
|
|
97
|
-
static Fake = _effectApp.Layer.effect(this, _effectApp.Effect.sync(() => {
|
|
98
|
-
return this.make({
|
|
99
|
-
print: (buffer, printerId, ...options) => _logger.InfraLogger.logInfo("Printing to fake printer").pipe(_effectApp.Effect.zipRight(_effectApp.Effect.sync(() => ({
|
|
100
|
-
stdout: "fake",
|
|
101
|
-
stderr: ""
|
|
102
|
-
}))), _effectApp.Effect.annotateLogs({
|
|
103
|
-
printerId,
|
|
104
|
-
"options": (0, _utils.pretty)(options),
|
|
105
|
-
"bufferSize": buffer.byteLength.toString()
|
|
106
|
-
})),
|
|
107
|
-
printFile: (filePath, printerId, ...options) => _logger.InfraLogger.logInfo("Printing to fake printer").pipe(_effectApp.Effect.zipRight(_effectApp.Effect.sync(() => ({
|
|
108
|
-
stdout: "fake",
|
|
109
|
-
stderr: ""
|
|
110
|
-
}))), _effectApp.Effect.annotateLogs({
|
|
111
|
-
printerId,
|
|
112
|
-
filePath,
|
|
113
|
-
"options": (0, _utils.pretty)(options)
|
|
114
|
-
})),
|
|
115
|
-
getAvailablePrinters: _effectApp.Effect.sync(() => [])
|
|
116
|
-
});
|
|
117
|
-
}));
|
|
118
|
-
}
|
|
119
|
-
exports.CUPS = CUPS;
|
|
120
|
-
//# sourceMappingURL=CUPS.cjs.map
|
package/_cjs/CUPS.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CUPS.cjs","names":["_fileUtil","require","_child_process","_interopRequireDefault","_effectApp","_utils","_fs","_os","_path","_util","_logger","e","__esModule","default","PrinterId","exports","S","NonEmptyString255","exec_","util","promisify","cp","exec","command","Effect","andThen","InfraLogger","logDebug","tap","tryPromise","r","pipe","annotateLogs","pretty","printFile","printer","options","filePath","printFile_","buildPrintArgs","join","url","host","username","id","o","prepareTempDir","sync","fs","mkdirSync","path","os","tmpdir","err","includes","makeTempFile","tempFile","makePrintJobTempFile","makePrintJobTempFileArrayBuffer","buffer","Buffer","from","printBuffer","flatMap","scoped","getAvailablePrinters","gen","stdout","buildListArgs","matchAll","map","_","filter","Predicate","isNotNullable","config","CUPSConfig","Config","all","server","string","s","URL","option","nested","CUPS","Service","effect","print","printerId","_print","value","Fake","Layer","make","logInfo","zipRight","stderr","byteLength","toString"],"sources":["../src/CUPS.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.Sendgrid = Sendgrid;
|
|
7
|
-
exports.isTestAddress = isTestAddress;
|
|
8
|
-
exports.renderMessage = renderMessage;
|
|
9
|
-
var _mail = _interopRequireDefault(require("@sendgrid/mail"));
|
|
10
|
-
var _effectApp = require("effect-app");
|
|
11
|
-
var _utils = require("effect-app/utils");
|
|
12
|
-
var _util = require("util");
|
|
13
|
-
var _logger = require("../logger.cjs");
|
|
14
|
-
var _service = require("./service.cjs");
|
|
15
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
16
|
-
const makeSendgrid = ({
|
|
17
|
-
apiKey,
|
|
18
|
-
defaultFrom,
|
|
19
|
-
defaultReplyTo,
|
|
20
|
-
realMail,
|
|
21
|
-
subjectPrefix
|
|
22
|
-
}) => _effectApp.Effect.sync(() => {
|
|
23
|
-
_mail.default.setApiKey(_effectApp.Redacted.value(apiKey));
|
|
24
|
-
return _service.Emailer.of({
|
|
25
|
-
sendMail(msg_) {
|
|
26
|
-
return _effectApp.Effect.gen(function* () {
|
|
27
|
-
const msg = (0, _utils.dropUndefinedT)({
|
|
28
|
-
...msg_,
|
|
29
|
-
from: msg_.from ?? defaultFrom,
|
|
30
|
-
replyTo: msg_.replyTo ?? (msg_.from ? undefined : defaultReplyTo)
|
|
31
|
-
});
|
|
32
|
-
const render = renderMessage(!realMail);
|
|
33
|
-
const renderedMsg_ = render(msg);
|
|
34
|
-
const renderedMsg = {
|
|
35
|
-
...renderedMsg_,
|
|
36
|
-
subject: `${subjectPrefix}${renderedMsg_.subject}`,
|
|
37
|
-
...("content" in renderedMsg_ ? {
|
|
38
|
-
content: [...renderedMsg_.content]
|
|
39
|
-
} : {})
|
|
40
|
-
};
|
|
41
|
-
yield* _logger.InfraLogger.logDebug("Sending email").pipe(_effectApp.Effect.annotateLogs("msg", (0, _util.inspect)(renderedMsg, false, 5)));
|
|
42
|
-
const ret = yield* _effectApp.Effect.async(cb => void _mail.default.send(renderedMsg,
|
|
43
|
-
// sue me
|
|
44
|
-
msg.isMultiple ?? true, (err, result) => err ? cb(_effectApp.Effect.fail(err)) : cb(_effectApp.Effect.sync(() => result)))).pipe(_effectApp.Effect.mapError(raw => new _service.SendMailError({
|
|
45
|
-
raw
|
|
46
|
-
})));
|
|
47
|
-
// const event = {
|
|
48
|
-
// name: "EmailSent",
|
|
49
|
-
// properties: {
|
|
50
|
-
// templateId: msg.templateId
|
|
51
|
-
// }
|
|
52
|
-
// }
|
|
53
|
-
// yield* InfraLogger.logDebug("Tracking email event").annotateLogs("event", event.$$.pretty)
|
|
54
|
-
// const { trackEvent } = yield* AiContextService
|
|
55
|
-
// trackEvent(event)
|
|
56
|
-
return ret;
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
function Sendgrid(config) {
|
|
62
|
-
return _service.Emailer.toLayer(makeSendgrid(config));
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* @hidden
|
|
66
|
-
*/
|
|
67
|
-
function renderMessage(forceFake) {
|
|
68
|
-
let i = 0;
|
|
69
|
-
const makeId = () => i++;
|
|
70
|
-
return forceFake ? msg => (0, _utils.dropUndefinedT)({
|
|
71
|
-
...msg,
|
|
72
|
-
to: msg.to && renderFake(msg.to, makeId),
|
|
73
|
-
cc: msg.cc && renderFake(msg.cc, makeId),
|
|
74
|
-
bcc: msg.bcc && renderFake(msg.bcc, makeId)
|
|
75
|
-
}) : msg => (0, _utils.dropUndefinedT)({
|
|
76
|
-
...msg,
|
|
77
|
-
to: msg.to && renderFakeIfTest(msg.to, makeId),
|
|
78
|
-
cc: msg.cc && renderFakeIfTest(msg.cc, makeId),
|
|
79
|
-
bcc: msg.bcc && renderFakeIfTest(msg.bcc, makeId)
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* @hidden
|
|
84
|
-
*/
|
|
85
|
-
function isTestAddress(to) {
|
|
86
|
-
return typeof to === "string" && to.toLowerCase().endsWith(".test") || typeof to === "object" && "email" in to && to.email.toLowerCase().endsWith(".test");
|
|
87
|
-
}
|
|
88
|
-
function renderFake(addr, makeId) {
|
|
89
|
-
return {
|
|
90
|
-
name: renderMailData(addr),
|
|
91
|
-
email: `test+${makeId()}@nomizz.com`
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
const eq = _effectApp.Equivalence.mapInput(_effectApp.Equivalence.string, to => typeof to === "string" ? to.toLowerCase() : to.email.toLowerCase());
|
|
95
|
-
// TODO: should just not add any already added email address
|
|
96
|
-
// https://stackoverflow.com/a/53603076/11595834
|
|
97
|
-
function renderFakeIfTest(addr, makeId) {
|
|
98
|
-
return _effectApp.Array.isArray(addr) ? _effectApp.Array.dedupeWith(addr.map(x => isTestAddress(x) ? renderFake(x, makeId) : x), eq) : isTestAddress(addr) ? renderFake(addr, makeId) : addr;
|
|
99
|
-
}
|
|
100
|
-
function renderMailData(md) {
|
|
101
|
-
if (_effectApp.Array.isArray(md)) {
|
|
102
|
-
return md.map(renderMailData).join(", ");
|
|
103
|
-
}
|
|
104
|
-
if (typeof md === "string") {
|
|
105
|
-
return md;
|
|
106
|
-
}
|
|
107
|
-
return md.email;
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=Sendgrid.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Sendgrid.cjs","names":["_mail","_interopRequireDefault","require","_effectApp","_utils","_util","_logger","_service","e","__esModule","default","makeSendgrid","apiKey","defaultFrom","defaultReplyTo","realMail","subjectPrefix","Effect","sync","sgMail","setApiKey","Redacted","value","Emailer","of","sendMail","msg_","gen","msg","dropUndefinedT","from","replyTo","undefined","render","renderMessage","renderedMsg_","renderedMsg","subject","content","InfraLogger","logDebug","pipe","annotateLogs","inspect","ret","async","cb","send","isMultiple","err","result","fail","mapError","raw","SendMailError","Sendgrid","config","toLayer","forceFake","i","makeId","to","renderFake","cc","bcc","renderFakeIfTest","isTestAddress","toLowerCase","endsWith","email","addr","name","renderMailData","eq","Equivalence","mapInput","string","Array","isArray","dedupeWith","map","x","md","join"],"sources":["../../src/Emailer/Sendgrid.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/_cjs/Emailer/fake.cjs
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.FakeSendgrid = void 0;
|
|
7
|
-
var _effectApp = require("effect-app");
|
|
8
|
-
var _utils = require("effect-app/utils");
|
|
9
|
-
var _logger = require("../logger.cjs");
|
|
10
|
-
var _service = require("./service.cjs");
|
|
11
|
-
const makeFake = _logger.InfraLogger.logInfo("FAKE Emailer Service enabled").pipe(_effectApp.Effect.map(() => _service.Emailer.of({
|
|
12
|
-
sendMail(msg) {
|
|
13
|
-
return _logger.InfraLogger.logDebug(`Fake send mail`).pipe(_effectApp.Effect.annotateLogs("msg", (0, _utils.pretty)(msg)));
|
|
14
|
-
}
|
|
15
|
-
})));
|
|
16
|
-
const FakeSendgrid = exports.FakeSendgrid = _service.Emailer.toLayer(makeFake);
|
|
17
|
-
//# sourceMappingURL=fake.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fake.cjs","names":["_effectApp","require","_utils","_logger","_service","makeFake","InfraLogger","logInfo","pipe","Effect","map","Emailer","of","sendMail","msg","logDebug","annotateLogs","pretty","FakeSendgrid","exports","toLayer"],"sources":["../../src/Emailer/fake.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAEA,MAAMI,QAAQ,GAAGC,mBAAW,CACzBC,OAAO,CAAC,8BAA8B,CAAC,CACvCC,IAAI,CAACC,iBAAM,CAACC,GAAG,CAAC,MACfC,gBAAO,CAACC,EAAE,CAAC;EACTC,QAAQA,CAACC,GAAG;IACV,OAAOR,mBAAW,CACfS,QAAQ,CAAC,gBAAgB,CAAC,CAC1BP,IAAI,CAACC,iBAAM,CAACO,YAAY,CAAC,KAAK,EAAE,IAAAC,aAAM,EAACH,GAAG,CAAC,CAAC,CAAC;EAClD;CACD,CAAC,CACH,CAAC;AAEG,MAAMI,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAGP,gBAAO,CAACS,OAAO,CAACf,QAAQ,CAAC","ignoreList":[]}
|
package/_cjs/Emailer/service.cjs
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.SendMailError = exports.Emailer = void 0;
|
|
7
|
-
var _effectApp = require("effect-app");
|
|
8
|
-
class SendMailError extends _effectApp.Data.TaggedError("SendMailError") {}
|
|
9
|
-
exports.SendMailError = SendMailError;
|
|
10
|
-
class Emailer extends _effectApp.Context.TagId("effect-app/Emailer")() {}
|
|
11
|
-
exports.Emailer = Emailer;
|
|
12
|
-
//# sourceMappingURL=service.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.cjs","names":["_effectApp","require","SendMailError","Data","TaggedError","exports","Emailer","Context","TagId"],"sources":["../../src/Emailer/service.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AAGM,MAAOC,aAAc,SAAQC,eAAI,CAACC,WAAW,CAAC,eAAe,CAEjE;AAAGC,OAAA,CAAAH,aAAA,GAAAA,aAAA;AAEC,MAAOI,OAAQ,SAAQC,kBAAO,CAACC,KAAK,CAAC,oBAAoB,CAAC,EAE5D;AAAGH,OAAA,CAAAC,OAAA,GAAAA,OAAA","ignoreList":[]}
|
package/_cjs/Emailer.cjs
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _service = require("./Emailer/service.cjs");
|
|
7
|
-
Object.keys(_service).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _service[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function () {
|
|
13
|
-
return _service[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=Emailer.cjs.map
|
package/_cjs/Emailer.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Emailer.cjs","names":["_service","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../src/Emailer.ts"],"sourcesContent":[null],"mappings":";;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,QAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
package/_cjs/MainFiberSet.cjs
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.MainFiberSet = void 0;
|
|
7
|
-
var _effectApp = require("effect-app");
|
|
8
|
-
var _logger = require("./logger.cjs");
|
|
9
|
-
var _errors = require("./QueueMaker/errors.cjs");
|
|
10
|
-
var _RequestFiberSet = require("./RequestFiberSet.cjs");
|
|
11
|
-
const make = _effectApp.Effect.gen(function* () {
|
|
12
|
-
const set = yield* _effectApp.FiberSet.make();
|
|
13
|
-
const add = (...fibers) => _effectApp.Effect.sync(() => fibers.forEach(_ => _effectApp.FiberSet.unsafeAdd(set, _)));
|
|
14
|
-
const addAll = fibers => _effectApp.Effect.sync(() => fibers.forEach(_ => _effectApp.FiberSet.unsafeAdd(set, _)));
|
|
15
|
-
const join = _effectApp.FiberSet.size(set).pipe(_effectApp.Effect.andThen(count => _logger.InfraLogger.logDebug(`Joining ${count} current fibers on the MainFiberSet`)), _effectApp.Effect.andThen(_effectApp.FiberSet.join(set)));
|
|
16
|
-
const run = _effectApp.FiberSet.run(set);
|
|
17
|
-
// const waitUntilEmpty = Effect.gen(function*() {
|
|
18
|
-
// const currentSize = yield* FiberSet.size(set)
|
|
19
|
-
// if (currentSize === 0) {
|
|
20
|
-
// return
|
|
21
|
-
// }
|
|
22
|
-
// yield* InfraLogger.logInfo("Waiting MainFiberSet to be empty: " + currentSize)
|
|
23
|
-
// while ((yield* FiberSet.size(set)) > 0) yield* Effect.sleep("250 millis")
|
|
24
|
-
// yield* InfraLogger.logDebug("MainFiberSet is empty")
|
|
25
|
-
// })
|
|
26
|
-
// TODO: loop and interrupt all fibers in the set continuously?
|
|
27
|
-
const interrupt = _effectApp.Fiber.interruptAll(set);
|
|
28
|
-
/**
|
|
29
|
-
* Forks the effect into a new fiber attached to the MainFiberSet scope. Because the
|
|
30
|
-
* new fiber isn't attached to the parent, when the fiber executing the
|
|
31
|
-
* returned effect terminates, the forked fiber will continue running.
|
|
32
|
-
* The fiber will be interrupted when the MainFiberSet scope is closed.
|
|
33
|
-
*
|
|
34
|
-
* The parent span is set to the root span of the current fiber.
|
|
35
|
-
* Reports and then swallows errors.
|
|
36
|
-
*/
|
|
37
|
-
function forkDaemonReport(self) {
|
|
38
|
-
return self.pipe(_effectApp.Effect.asVoid, _effectApp.Effect.catchAllCause((0, _errors.reportNonInterruptedFailureCause)({})), _RequestFiberSet.setRootParentSpan, _effectApp.Effect.uninterruptible, run);
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
interrupt,
|
|
42
|
-
join,
|
|
43
|
-
forkDaemonReport,
|
|
44
|
-
run,
|
|
45
|
-
add,
|
|
46
|
-
addAll
|
|
47
|
-
};
|
|
48
|
-
});
|
|
49
|
-
/**
|
|
50
|
-
* Whenever you fork long running (e.g worker) fibers via e.g `Effect.forkScoped` or `Effect.forkDaemon`
|
|
51
|
-
* you should register these long running fibers in a FiberSet, and join them at the end of your main program.
|
|
52
|
-
* This way any errors will blow up the main program instead of fibers dying unknowingly.
|
|
53
|
-
*/
|
|
54
|
-
class MainFiberSet extends _effectApp.Context.TagMakeId("MainFiberSet", make)() {
|
|
55
|
-
static Live = this.toLayerScoped();
|
|
56
|
-
static JoinLive = this.pipe(_effectApp.Effect.andThen(_ => _.join), _effectApp.Layer.effectDiscard, _effectApp.Layer.provide(this.Live));
|
|
57
|
-
static run = self => this.use(_ => _.run(self));
|
|
58
|
-
static forkDaemonReport = self => this.use(_ => _.forkDaemonReport(self));
|
|
59
|
-
}
|
|
60
|
-
exports.MainFiberSet = MainFiberSet;
|
|
61
|
-
//# sourceMappingURL=MainFiberSet.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MainFiberSet.cjs","names":["_effectApp","require","_logger","_errors","_RequestFiberSet","make","Effect","gen","set","FiberSet","add","fibers","sync","forEach","_","unsafeAdd","addAll","join","size","pipe","andThen","count","InfraLogger","logDebug","run","interrupt","Fiber","interruptAll","forkDaemonReport","self","asVoid","catchAllCause","reportNonInterruptedFailureCause","setRootParentSpan","uninterruptible","MainFiberSet","Context","TagMakeId","Live","toLayerScoped","JoinLive","Layer","effectDiscard","provide","use"],"sources":["../src/MainFiberSet.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAEA,MAAMI,IAAI,GAAGC,iBAAM,CAACC,GAAG,CAAC,aAAS;EAC/B,MAAMC,GAAG,GAAG,OAAOC,mBAAQ,CAACJ,IAAI,EAAkB;EAClD,MAAMK,GAAG,GAAGA,CAAC,GAAGC,MAA0C,KACxDL,iBAAM,CAACM,IAAI,CAAC,MAAMD,MAAM,CAACE,OAAO,CAAEC,CAAC,IAAKL,mBAAQ,CAACM,SAAS,CAACP,GAAG,EAAEM,CAAC,CAAC,CAAC,CAAC;EACtE,MAAME,MAAM,GAAIL,MAAmD,IACjEL,iBAAM,CAACM,IAAI,CAAC,MAAMD,MAAM,CAACE,OAAO,CAAEC,CAAC,IAAKL,mBAAQ,CAACM,SAAS,CAACP,GAAG,EAAEM,CAAC,CAAC,CAAC,CAAC;EACtE,MAAMG,IAAI,GAAGR,mBAAQ,CAACS,IAAI,CAACV,GAAG,CAAC,CAACW,IAAI,CAClCb,iBAAM,CAACc,OAAO,CAAEC,KAAK,IAAKC,mBAAW,CAACC,QAAQ,CAAC,WAAWF,KAAK,qCAAqC,CAAC,CAAC,EACtGf,iBAAM,CAACc,OAAO,CAACX,mBAAQ,CAACQ,IAAI,CAACT,GAAG,CAAC,CAAC,CACnC;EACD,MAAMgB,GAAG,GAAGf,mBAAQ,CAACe,GAAG,CAAChB,GAAG,CAAC;EAE7B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA,MAAMiB,SAAS,GAAGC,gBAAK,CAACC,YAAY,CAACnB,GAAG,CAAC;EAEzC;;;;;;;;;EASA,SAASoB,gBAAgBA,CAAUC,IAAqB;IACtD,OAAOA,IAAI,CAACV,IAAI,CACdb,iBAAM,CAACwB,MAAM,EACbxB,iBAAM,CAACyB,aAAa,CAAC,IAAAC,wCAAgC,EAAC,EAAE,CAAC,CAAC,EAC1DC,kCAAiB,EACjB3B,iBAAM,CAAC4B,eAAe,EACtBV,GAAG,CACJ;EACH;EACA,OAAO;IACLC,SAAS;IACTR,IAAI;IACJW,gBAAgB;IAChBJ,GAAG;IACHd,GAAG;IACHM;GACD;AACH,CAAC,CAAC;AAEF;;;;;AAKM,MAAOmB,YAAa,SAAQC,kBAAO,CAACC,SAAS,CAAC,cAAc,EAAEhC,IAAI,CAAC,EAAgB;EACvF,OAAgBiC,IAAI,GAAG,IAAI,CAACC,aAAa,EAAE;EAC3C,OAAgBC,QAAQ,GAAG,IAAI,CAACrB,IAAI,CAACb,iBAAM,CAACc,OAAO,CAAEN,CAAC,IAAKA,CAAC,CAACG,IAAI,CAAC,EAAEwB,gBAAK,CAACC,aAAa,EAAED,gBAAK,CAACE,OAAO,CAAC,IAAI,CAACL,IAAI,CAAC,CAAC;EAClH,OAAgBd,GAAG,GAAUK,IAAyB,IAAK,IAAI,CAACe,GAAG,CAAE9B,CAAC,IAAKA,CAAC,CAACU,GAAG,CAACK,IAAI,CAAC,CAAC;EACvF,OAAgBD,gBAAgB,GAAaC,IAAqB,IAAK,IAAI,CAACe,GAAG,CAAE9B,CAAC,IAAKA,CAAC,CAACc,gBAAgB,CAACC,IAAI,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.extendRepo = void 0;
|
|
7
|
-
var _effectApp = require("effect-app");
|
|
8
|
-
var _client = require("effect-app/client");
|
|
9
|
-
var _Pure = require("effect-app/Pure");
|
|
10
|
-
var _dsl = require("../dsl.cjs");
|
|
11
|
-
var Q = _interopRequireWildcard(require("../query.cjs"));
|
|
12
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
-
const extendRepo = repo => {
|
|
15
|
-
const get = id => _effectApp.Effect.flatMap(repo.find(id), _ => _effectApp.Effect.mapError(_, () => new _client.NotFoundError({
|
|
16
|
-
type: repo.itemType,
|
|
17
|
-
id
|
|
18
|
-
})));
|
|
19
|
-
function saveManyWithPure_(items, pure) {
|
|
20
|
-
return saveAllWithEffectInt((0, _Pure.runTerm)(pure, [...items]));
|
|
21
|
-
}
|
|
22
|
-
function saveWithPure_(item, pure) {
|
|
23
|
-
return saveAllWithEffectInt((0, _Pure.runTerm)(pure, item).pipe(_effectApp.Effect.map(([item, events, a]) => [[item], events, a])));
|
|
24
|
-
}
|
|
25
|
-
function saveAllWithEffectInt(gen) {
|
|
26
|
-
return _effectApp.Effect.flatMap(gen, ([items, events, a]) => repo.saveAndPublish(items, events).pipe(_effectApp.Effect.map(() => a)));
|
|
27
|
-
}
|
|
28
|
-
function saveManyWithPureBatched_(items, pure, batchSize = 100) {
|
|
29
|
-
return _effectApp.Effect.forEach(_effectApp.Array.chunk_(items, batchSize), batch => saveAllWithEffectInt((0, _Pure.runTerm)(pure, batch)));
|
|
30
|
-
}
|
|
31
|
-
const queryAndSavePure = (q, pure, batch) => repo.query(q).pipe(_effectApp.Effect.andThen(_ => _effectApp.Array.isArray(_) ? batch === undefined ? saveManyWithPure_(_, pure) : saveManyWithPureBatched_(_, pure, batch === "batched" ? 100 : batch) : saveWithPure_(_, pure)));
|
|
32
|
-
const saveManyWithPure = (items, pure, batch) => batch ? _effectApp.Effect.forEach(_effectApp.Array.chunk_(items, batch === "batched" ? 100 : batch), batch => saveAllWithEffectInt((0, _Pure.runTerm)(pure, batch))) : saveAllWithEffectInt((0, _Pure.runTerm)(pure, [...items]));
|
|
33
|
-
const byIdAndSaveWithPure = (id, pure) => get(id).pipe(_effectApp.Effect.flatMap(item => saveWithPure_(item, pure)));
|
|
34
|
-
const _request = _effectApp.Request.tagged(`Get${repo.itemType}`);
|
|
35
|
-
const requestResolver = _effectApp.RequestResolver.makeBatched(requests => repo.query(Q.where(repo.idKey, "in", requests.map(_ => _.id)))
|
|
36
|
-
// TODO
|
|
37
|
-
.pipe(_effectApp.Effect.andThen(items => _effectApp.Effect.forEach(requests, r => _effectApp.Request.complete(r, _effectApp.Array.findFirst(items, _ => _[repo.idKey] === r.id).pipe(_effectApp.Option.match({
|
|
38
|
-
onNone: () => _effectApp.Exit.fail(new _client.NotFoundError({
|
|
39
|
-
type: repo.itemType,
|
|
40
|
-
id: r.id
|
|
41
|
-
})),
|
|
42
|
-
onSome: _effectApp.Exit.succeed
|
|
43
|
-
}))), {
|
|
44
|
-
discard: true
|
|
45
|
-
})), _effectApp.Effect.catchAllCause(cause => _effectApp.Effect.forEach(requests, _effectApp.Request.complete(_effectApp.Exit.failCause(cause)), {
|
|
46
|
-
discard: true
|
|
47
|
-
})))).pipe(_effectApp.RequestResolver.batchN(20));
|
|
48
|
-
const exts = {
|
|
49
|
-
request: id => _effectApp.Effect.request(_request({
|
|
50
|
-
id
|
|
51
|
-
}), requestResolver),
|
|
52
|
-
get,
|
|
53
|
-
log: evt => _dsl.AnyPureDSL.log(evt),
|
|
54
|
-
removeById: id => _effectApp.Effect.andThen(get(id), _ => repo.removeAndPublish([_])),
|
|
55
|
-
save: (...items) => repo.saveAndPublish(items),
|
|
56
|
-
saveWithEvents: events => (...items) => repo.saveAndPublish(items, events),
|
|
57
|
-
queryAndSavePure,
|
|
58
|
-
saveManyWithPure,
|
|
59
|
-
byIdAndSaveWithPure,
|
|
60
|
-
saveWithPure: (item, pure) => saveAllWithEffectInt((0, _Pure.runTerm)(pure, item).pipe(_effectApp.Effect.map(([item, events, a]) => [[item], events, a])))
|
|
61
|
-
};
|
|
62
|
-
return {
|
|
63
|
-
...repo,
|
|
64
|
-
...exts
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
exports.extendRepo = extendRepo;
|
|
68
|
-
//# sourceMappingURL=ext.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ext.cjs","names":["_effectApp","require","_client","_Pure","_dsl","Q","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","extendRepo","repo","id","Effect","flatMap","find","_","mapError","NotFoundError","type","itemType","saveManyWithPure_","items","pure","saveAllWithEffectInt","runTerm","saveWithPure_","item","pipe","map","events","gen","saveAndPublish","saveManyWithPureBatched_","batchSize","forEach","Array","chunk_","batch","queryAndSavePure","q","query","andThen","isArray","undefined","saveManyWithPure","byIdAndSaveWithPure","_request","Request","tagged","requestResolver","RequestResolver","makeBatched","requests","where","idKey","complete","findFirst","Option","match","onNone","Exit","fail","onSome","succeed","discard","catchAllCause","cause","failCause","batchN","exts","request","log","evt","AnyPureDSL","removeById","removeAndPublish","save","saveWithEvents","saveWithPure","exports"],"sources":["../../../src/Model/Repository/ext.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|