@sima-land/isomorph 11.0.0-alpha.3 → 11.0.0-alpha.31
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/cache/types.d.ts +24 -2
- package/config/{index.d.ts → base.d.ts} +2 -2
- package/config/{index.js → base.js} +3 -3
- package/config/base.js.map +1 -0
- package/config/browser.d.ts +1 -1
- package/config/browser.js +11 -2
- package/config/browser.js.map +1 -1
- package/config/node.d.ts +1 -1
- package/config/node.js +17 -6
- package/config/node.js.map +1 -1
- package/config/types.d.ts +8 -1
- package/di/application.d.ts +10 -0
- package/{container → di}/application.js +29 -8
- package/di/application.js.map +1 -0
- package/di/container.d.ts +6 -0
- package/di/container.js +52 -0
- package/di/container.js.map +1 -0
- package/di/errors.d.ts +32 -0
- package/di/errors.js +48 -0
- package/di/errors.js.map +1 -0
- package/di/index.d.ts +6 -0
- package/di/index.js +17 -0
- package/di/index.js.map +1 -0
- package/di/preset.d.ts +9 -0
- package/di/preset.js +31 -0
- package/di/preset.js.map +1 -0
- package/di/token.d.ts +7 -0
- package/di/token.js +39 -0
- package/di/token.js.map +1 -0
- package/di/types.d.ts +88 -0
- package/{container → di}/types.js +0 -0
- package/{logger → di}/types.js.map +1 -1
- package/error-tracking/index.d.ts +25 -0
- package/error-tracking/index.js +34 -0
- package/error-tracking/index.js.map +1 -0
- package/error-tracking/types.d.ts +20 -0
- package/{error-tracker → error-tracking}/types.js +0 -0
- package/{container → error-tracking}/types.js.map +1 -1
- package/http-client/middleware/cookie.d.ts +1 -0
- package/http-client/middleware/cookie.js +5 -3
- package/http-client/middleware/cookie.js.map +1 -1
- package/http-client/middleware/headers.d.ts +13 -0
- package/http-client/middleware/headers.js +25 -0
- package/http-client/middleware/headers.js.map +1 -0
- package/http-client/middleware/log.d.ts +27 -0
- package/http-client/middleware/log.js +26 -0
- package/http-client/middleware/log.js.map +1 -0
- package/http-client/middleware/tracing.d.ts +3 -3
- package/http-client/middleware/tracing.js +22 -9
- package/http-client/middleware/tracing.js.map +1 -1
- package/http-client/sauce/index.d.ts +20 -5
- package/http-client/sauce/index.js +38 -21
- package/http-client/sauce/index.js.map +1 -1
- package/http-client/types.d.ts +1 -1
- package/http-client/utils.d.ts +14 -7
- package/http-client/utils.js +43 -12
- package/http-client/utils.js.map +1 -1
- package/http-server/errors.d.ts +11 -0
- package/http-server/errors.js +18 -0
- package/http-server/errors.js.map +1 -0
- package/http-server/handler/health-check.d.ts +1 -1
- package/http-server/handler/health-check.js +1 -1
- package/http-server/middleware/{logging.d.ts → log.d.ts} +2 -2
- package/http-server/middleware/log.js +43 -0
- package/http-server/middleware/log.js.map +1 -0
- package/http-server/middleware/metrics.js +2 -2
- package/http-server/middleware/metrics.js.map +1 -1
- package/http-server/middleware/tracing.d.ts +7 -1
- package/http-server/middleware/tracing.js +20 -2
- package/http-server/middleware/tracing.js.map +1 -1
- package/http-server/template/index.js +11 -6
- package/http-server/template/index.js.map +1 -1
- package/http-server/types.d.ts +2 -0
- package/http-server/utils.d.ts +14 -5
- package/http-server/utils.js +46 -21
- package/http-server/utils.js.map +1 -1
- package/log/handler/pino.d.ts +8 -0
- package/log/handler/pino.js +29 -0
- package/log/handler/pino.js.map +1 -0
- package/log/handler/sentry.d.ts +8 -0
- package/log/handler/sentry.js +50 -0
- package/log/handler/sentry.js.map +1 -0
- package/log/index.d.ts +2 -0
- package/log/index.js +6 -0
- package/log/index.js.map +1 -0
- package/{logger/index.d.ts → log/logger.d.ts} +0 -0
- package/{logger/index.js → log/logger.js} +1 -1
- package/log/logger.js.map +1 -0
- package/log/types.d.ts +41 -0
- package/{logger → log}/types.js +0 -0
- package/{preset → log}/types.js.map +1 -1
- package/metrics/constants.d.ts +3 -0
- package/metrics/constants.js +3 -0
- package/metrics/constants.js.map +1 -1
- package/metrics/node.d.ts +7 -0
- package/metrics/node.js +1 -0
- package/metrics/node.js.map +1 -1
- package/package.json +35 -30
- package/preset/browser/index.d.ts +10 -0
- package/preset/browser/index.js +71 -0
- package/preset/browser/index.js.map +1 -0
- package/preset/node/index.d.ts +16 -11
- package/preset/node/index.js +105 -61
- package/preset/node/index.js.map +1 -1
- package/preset/node/response.d.ts +12 -8
- package/preset/node/response.js +98 -28
- package/preset/node/response.js.map +1 -1
- package/preset/parts/providers.d.ts +7 -0
- package/preset/parts/providers.js +26 -0
- package/preset/parts/providers.js.map +1 -0
- package/preset/parts/types.d.ts +8 -0
- package/preset/{types.js → parts/types.js} +0 -0
- package/{error-tracker → preset/parts}/types.js.map +1 -1
- package/preset/parts/utils.d.ts +110 -0
- package/preset/parts/utils.js +261 -0
- package/preset/parts/utils.js.map +1 -0
- package/tokens.d.ts +39 -21
- package/tokens.js +35 -20
- package/tokens.js.map +1 -1
- package/tracing/index.d.ts +10 -0
- package/tracing/index.js +21 -0
- package/tracing/index.js.map +1 -0
- package/utils/browser/analytics/data-layer.d.ts +2 -2
- package/utils/browser/analytics/data-layer.js +4 -5
- package/utils/browser/analytics/data-layer.js.map +1 -1
- package/utils/browser/analytics/oko.d.ts +3 -2
- package/utils/browser/analytics/oko.js +2 -1
- package/utils/browser/analytics/oko.js.map +1 -1
- package/utils/browser/storage/index.d.ts +8 -0
- package/utils/browser/storage/index.js +6 -1
- package/utils/browser/storage/index.js.map +1 -1
- package/utils/function.d.ts +28 -0
- package/utils/function.js +23 -0
- package/utils/function.js.map +1 -0
- package/utils/react/error-handlers/index.d.ts +11 -8
- package/utils/react/error-handlers/index.js +8 -10
- package/utils/react/error-handlers/index.js.map +1 -1
- package/utils/redux/index.d.ts +3 -0
- package/utils/redux/index.js +8 -0
- package/utils/redux/index.js.map +1 -0
- package/utils/redux/remote-data.d.ts +83 -5
- package/utils/redux/remote-data.js +83 -1
- package/utils/redux/remote-data.js.map +1 -1
- package/utils/redux-saga/index.d.ts +3 -0
- package/utils/redux-saga/index.js +8 -0
- package/utils/redux-saga/index.js.map +1 -0
- package/utils/redux-saga/middleware.d.ts +8 -0
- package/utils/redux-saga/middleware.js +143 -0
- package/utils/redux-saga/middleware.js.map +1 -0
- package/utils/redux-saga/take-chain.d.ts +2 -0
- package/utils/redux-saga/take-chain.js +2 -0
- package/utils/redux-saga/take-chain.js.map +1 -1
- package/utils/redux-saga/types.d.ts +36 -0
- package/{saga-runner → utils/redux-saga}/types.js +0 -0
- package/utils/redux-saga/types.js.map +1 -0
- package/utils/ssr/index.d.ts +41 -0
- package/utils/ssr/index.js +54 -0
- package/utils/ssr/index.js.map +1 -0
- package/utils/webpack/env/index.d.ts +18 -0
- package/utils/webpack/env/index.js +76 -0
- package/utils/webpack/env/index.js.map +1 -0
- package/utils/webpack/env/types.d.ts +11 -0
- package/utils/webpack/env/types.js +3 -0
- package/utils/webpack/env/types.js.map +1 -0
- package/utils/webpack/env/utils.d.ts +15 -0
- package/utils/webpack/env/utils.js +52 -0
- package/utils/webpack/env/utils.js.map +1 -0
- package/utils/webpack/index.d.ts +6 -0
- package/utils/webpack/index.js +8 -0
- package/utils/webpack/index.js.map +1 -0
- package/utils/webpack/module-federation/index.d.ts +7 -1
- package/utils/webpack/module-federation/index.js +11 -4
- package/utils/webpack/module-federation/index.js.map +1 -1
- package/utils/webpack/module-federation/types.d.ts +11 -3
- package/utils/webpack/module-federation/utils.d.ts +6 -0
- package/utils/webpack/module-federation/utils.js +73 -17
- package/utils/webpack/module-federation/utils.js.map +1 -1
- package/config/index.js.map +0 -1
- package/config/utils.d.ts +0 -5
- package/config/utils.js +0 -12
- package/config/utils.js.map +0 -1
- package/container/application.d.ts +0 -25
- package/container/application.js.map +0 -1
- package/container/index.d.ts +0 -18
- package/container/index.js +0 -74
- package/container/index.js.map +0 -1
- package/container/types.d.ts +0 -14
- package/error-tracker/browser.d.ts +0 -8
- package/error-tracker/browser.js +0 -40
- package/error-tracker/browser.js.map +0 -1
- package/error-tracker/node.d.ts +0 -8
- package/error-tracker/node.js +0 -40
- package/error-tracker/node.js.map +0 -1
- package/error-tracker/types.d.ts +0 -18
- package/error-tracker/utils.d.ts +0 -12
- package/error-tracker/utils.js +0 -19
- package/error-tracker/utils.js.map +0 -1
- package/http-server/middleware/logging.js +0 -31
- package/http-server/middleware/logging.js.map +0 -1
- package/logger/handler/console.d.ts +0 -8
- package/logger/handler/console.js +0 -36
- package/logger/handler/console.js.map +0 -1
- package/logger/handler/sentry.d.ts +0 -8
- package/logger/handler/sentry.js +0 -36
- package/logger/handler/sentry.js.map +0 -1
- package/logger/index.js.map +0 -1
- package/logger/types.d.ts +0 -24
- package/preset/index.d.ts +0 -7
- package/preset/index.js +0 -25
- package/preset/index.js.map +0 -1
- package/preset/types.d.ts +0 -7
- package/saga-runner/index.d.ts +0 -8
- package/saga-runner/index.js +0 -79
- package/saga-runner/index.js.map +0 -1
- package/saga-runner/types.d.ts +0 -10
- package/saga-runner/types.js.map +0 -1
package/tokens.d.ts
CHANGED
|
@@ -1,46 +1,64 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { Application } from 'express';
|
|
3
3
|
import type { DefaultMiddleware, PageAssets, PageTemplate, ResponseContext } from './http-server/types';
|
|
4
|
-
import type {
|
|
5
|
-
import type { Logger } from './
|
|
4
|
+
import type { SagaExtendedMiddleware } from './utils/redux-saga';
|
|
5
|
+
import type { Logger } from './log/types';
|
|
6
6
|
import type { HttpClientFactory } from './http-client/types';
|
|
7
7
|
import type { BaseConfig } from './config/types';
|
|
8
8
|
import type { Tracer } from '@opentelemetry/api';
|
|
9
9
|
import type { Cache } from './cache/types';
|
|
10
|
-
import type { BasicTracerProvider, SpanExporter } from '@opentelemetry/
|
|
10
|
+
import type { BasicTracerProvider, SpanExporter } from '@opentelemetry/sdk-trace-base';
|
|
11
|
+
import type { Resource } from '@opentelemetry/resources';
|
|
12
|
+
import type { StrictMap, KnownHttpApiKey } from './preset/parts/types';
|
|
13
|
+
import type { BridgeClientSide, BridgeServerSide } from './utils/ssr';
|
|
14
|
+
import type { PageResponse } from './http-server/utils';
|
|
15
|
+
import type { LogMiddlewareHandlerInit } from './http-client/middleware/log';
|
|
11
16
|
export declare const KnownToken: {
|
|
12
17
|
readonly Config: {
|
|
13
|
-
readonly source: import("./
|
|
14
|
-
readonly base: import("./
|
|
18
|
+
readonly source: import("./di").Token<import("@humanwhocodes/env").Env>;
|
|
19
|
+
readonly base: import("./di").Token<BaseConfig>;
|
|
15
20
|
};
|
|
16
|
-
readonly cache: import("./
|
|
17
|
-
readonly logger: import("./
|
|
21
|
+
readonly cache: import("./di").Token<Cache>;
|
|
22
|
+
readonly logger: import("./di").Token<Logger>;
|
|
23
|
+
readonly sagaMiddleware: import("./di").Token<SagaExtendedMiddleware>;
|
|
18
24
|
readonly Tracing: {
|
|
19
|
-
readonly tracer: import("./
|
|
20
|
-
readonly spanExporter: import("./
|
|
21
|
-
readonly tracerProvider: import("./
|
|
25
|
+
readonly tracer: import("./di").Token<Tracer>;
|
|
26
|
+
readonly spanExporter: import("./di").Token<SpanExporter>;
|
|
27
|
+
readonly tracerProvider: import("./di").Token<BasicTracerProvider>;
|
|
28
|
+
readonly tracerProviderResource: import("./di").Token<Resource>;
|
|
22
29
|
};
|
|
23
30
|
readonly Metrics: {
|
|
24
|
-
readonly httpApp: import("./
|
|
31
|
+
readonly httpApp: import("./di").Token<Application>;
|
|
25
32
|
};
|
|
26
33
|
readonly Http: {
|
|
27
34
|
readonly Client: {
|
|
28
|
-
readonly factory: import("./
|
|
35
|
+
readonly factory: import("./di").Token<HttpClientFactory>;
|
|
36
|
+
readonly LogMiddleware: {
|
|
37
|
+
readonly handler: import("./di").Token<LogMiddlewareHandlerInit>;
|
|
38
|
+
};
|
|
29
39
|
};
|
|
30
40
|
readonly Server: {
|
|
31
|
-
readonly factory: import("./
|
|
41
|
+
readonly factory: import("./di").Token<() => Application>;
|
|
32
42
|
readonly Defaults: {
|
|
33
|
-
readonly middleware: import("./
|
|
43
|
+
readonly middleware: import("./di").Token<DefaultMiddleware>;
|
|
34
44
|
};
|
|
35
45
|
};
|
|
46
|
+
readonly Api: {
|
|
47
|
+
readonly knownHosts: import("./di").Token<StrictMap<KnownHttpApiKey>>;
|
|
48
|
+
};
|
|
36
49
|
};
|
|
37
50
|
readonly Response: {
|
|
38
|
-
readonly
|
|
39
|
-
readonly
|
|
40
|
-
readonly
|
|
41
|
-
readonly
|
|
42
|
-
readonly
|
|
43
|
-
readonly
|
|
44
|
-
readonly
|
|
51
|
+
readonly builder: import("./di").Token<PageResponse>;
|
|
52
|
+
readonly params: import("./di").Token<Record<string, unknown>>;
|
|
53
|
+
readonly template: import("./di").Token<PageTemplate>;
|
|
54
|
+
readonly context: import("./di").Token<ResponseContext>;
|
|
55
|
+
readonly assets: import("./di").Token<PageAssets>;
|
|
56
|
+
readonly prepare: import("./di").Token<() => JSX.Element | Promise<JSX.Element>>;
|
|
57
|
+
readonly render: import("./di").Token<(element: JSX.Element) => string | Promise<string>>;
|
|
58
|
+
readonly main: import("./di").Token<() => void>;
|
|
59
|
+
};
|
|
60
|
+
readonly SsrBridge: {
|
|
61
|
+
readonly clientSide: import("./di").Token<BridgeClientSide<unknown>>;
|
|
62
|
+
readonly serverSide: import("./di").Token<BridgeServerSide>;
|
|
45
63
|
};
|
|
46
64
|
};
|
package/tokens.js
CHANGED
|
@@ -1,48 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.KnownToken = void 0;
|
|
4
|
-
const
|
|
4
|
+
const di_1 = require("./di");
|
|
5
5
|
exports.KnownToken = {
|
|
6
6
|
// config
|
|
7
7
|
Config: {
|
|
8
|
-
source: (0,
|
|
9
|
-
base: (0,
|
|
8
|
+
source: (0, di_1.createToken)('config.source'),
|
|
9
|
+
base: (0, di_1.createToken)('config.base'),
|
|
10
10
|
},
|
|
11
11
|
// cache
|
|
12
|
-
cache: (0,
|
|
13
|
-
//
|
|
14
|
-
logger: (0,
|
|
12
|
+
cache: (0, di_1.createToken)('cache'),
|
|
13
|
+
// log
|
|
14
|
+
logger: (0, di_1.createToken)('logger'),
|
|
15
|
+
// saga runner
|
|
16
|
+
sagaMiddleware: (0, di_1.createToken)('saga-middleware'),
|
|
15
17
|
// tracing
|
|
16
18
|
Tracing: {
|
|
17
|
-
tracer: (0,
|
|
18
|
-
spanExporter: (0,
|
|
19
|
-
tracerProvider: (0,
|
|
19
|
+
tracer: (0, di_1.createToken)('tracing.tracer'),
|
|
20
|
+
spanExporter: (0, di_1.createToken)('tracing.span-exporter'),
|
|
21
|
+
tracerProvider: (0, di_1.createToken)('tracing.tracer-provider'),
|
|
22
|
+
tracerProviderResource: (0, di_1.createToken)('tracing.tracer-provider-resource'),
|
|
20
23
|
},
|
|
21
24
|
// metrics
|
|
22
25
|
Metrics: {
|
|
23
|
-
httpApp: (0,
|
|
26
|
+
httpApp: (0, di_1.createToken)('metrics.http-app'),
|
|
24
27
|
},
|
|
25
28
|
// http
|
|
26
29
|
Http: {
|
|
27
30
|
Client: {
|
|
28
|
-
factory: (0,
|
|
31
|
+
factory: (0, di_1.createToken)('http.client.factory'),
|
|
32
|
+
LogMiddleware: {
|
|
33
|
+
handler: (0, di_1.createToken)('http.client.log-middleware.handler'),
|
|
34
|
+
},
|
|
29
35
|
},
|
|
30
36
|
Server: {
|
|
31
|
-
factory: (0,
|
|
37
|
+
factory: (0, di_1.createToken)('http.server.factory'),
|
|
32
38
|
Defaults: {
|
|
33
|
-
middleware: (0,
|
|
39
|
+
middleware: (0, di_1.createToken)('http.server.defaults.middleware'),
|
|
34
40
|
},
|
|
35
41
|
},
|
|
42
|
+
Api: {
|
|
43
|
+
knownHosts: (0, di_1.createToken)('http.api.known-hosts'),
|
|
44
|
+
},
|
|
36
45
|
},
|
|
37
46
|
// scope: page response
|
|
38
47
|
Response: {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
builder: (0, di_1.createToken)('response/builder'),
|
|
49
|
+
params: (0, di_1.createToken)('response/params'),
|
|
50
|
+
template: (0, di_1.createToken)('response/template'),
|
|
51
|
+
context: (0, di_1.createToken)('response/context'),
|
|
52
|
+
assets: (0, di_1.createToken)('response/assets'),
|
|
53
|
+
prepare: (0, di_1.createToken)('response/prepare'),
|
|
54
|
+
render: (0, di_1.createToken)('response/render'),
|
|
55
|
+
main: (0, di_1.createToken)('response/main'),
|
|
56
|
+
},
|
|
57
|
+
// SSR
|
|
58
|
+
SsrBridge: {
|
|
59
|
+
clientSide: (0, di_1.createToken)('ssr-bridge/client-side'),
|
|
60
|
+
serverSide: (0, di_1.createToken)('ssr-bridge/server-side'),
|
|
46
61
|
},
|
|
47
62
|
};
|
|
48
63
|
//# sourceMappingURL=tokens.js.map
|
package/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA,6BAAmC;AAqBtB,QAAA,UAAU,GAAG;IACxB,SAAS;IACT,MAAM,EAAE;QACN,MAAM,EAAE,IAAA,gBAAW,EAAe,eAAe,CAAC;QAClD,IAAI,EAAE,IAAA,gBAAW,EAAa,aAAa,CAAC;KAC7C;IAED,QAAQ;IACR,KAAK,EAAE,IAAA,gBAAW,EAAQ,OAAO,CAAC;IAElC,MAAM;IACN,MAAM,EAAE,IAAA,gBAAW,EAAS,QAAQ,CAAC;IAErC,cAAc;IACd,cAAc,EAAE,IAAA,gBAAW,EAAyB,iBAAiB,CAAC;IAEtE,UAAU;IACV,OAAO,EAAE;QACP,MAAM,EAAE,IAAA,gBAAW,EAAS,gBAAgB,CAAC;QAC7C,YAAY,EAAE,IAAA,gBAAW,EAAe,uBAAuB,CAAC;QAChE,cAAc,EAAE,IAAA,gBAAW,EAAsB,yBAAyB,CAAC;QAC3E,sBAAsB,EAAE,IAAA,gBAAW,EAAW,kCAAkC,CAAC;KAClF;IAED,UAAU;IACV,OAAO,EAAE;QACP,OAAO,EAAE,IAAA,gBAAW,EAAc,kBAAkB,CAAC;KACtD;IAED,OAAO;IACP,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,gBAAW,EAAoB,qBAAqB,CAAC;YAC9D,aAAa,EAAE;gBACb,OAAO,EAAE,IAAA,gBAAW,EAA2B,oCAAoC,CAAC;aACrF;SACF;QACD,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,gBAAW,EAAoB,qBAAqB,CAAC;YAC9D,QAAQ,EAAE;gBACR,UAAU,EAAE,IAAA,gBAAW,EAAoB,iCAAiC,CAAC;aAC9E;SACF;QACD,GAAG,EAAE;YACH,UAAU,EAAE,IAAA,gBAAW,EAA6B,sBAAsB,CAAC;SAC5E;KACF;IAED,uBAAuB;IACvB,QAAQ,EAAE;QACR,OAAO,EAAE,IAAA,gBAAW,EAAe,kBAAkB,CAAC;QACtD,MAAM,EAAE,IAAA,gBAAW,EAA0B,iBAAiB,CAAC;QAC/D,QAAQ,EAAE,IAAA,gBAAW,EAAe,mBAAmB,CAAC;QACxD,OAAO,EAAE,IAAA,gBAAW,EAAkB,kBAAkB,CAAC;QACzD,MAAM,EAAE,IAAA,gBAAW,EAAa,iBAAiB,CAAC;QAClD,OAAO,EAAE,IAAA,gBAAW,EAA2C,kBAAkB,CAAC;QAClF,MAAM,EAAE,IAAA,gBAAW,EAAqD,iBAAiB,CAAC;QAC1F,IAAI,EAAE,IAAA,gBAAW,EAAa,eAAe,CAAC;KAC/C;IAED,MAAM;IACN,SAAS,EAAE;QACT,UAAU,EAAE,IAAA,gBAAW,EAA4B,wBAAwB,CAAC;QAC5E,UAAU,EAAE,IAAA,gBAAW,EAAmB,wBAAwB,CAAC;KACpE;CACO,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { BaseConfig } from '../config/types';
|
|
2
|
+
import { Resource } from '@opentelemetry/resources';
|
|
3
|
+
/**
|
|
4
|
+
* Возвращает ресурс для BasicTracerProvider, заполненный данными по соглашению.
|
|
5
|
+
* Может быть дополнен с помощью метода merge.
|
|
6
|
+
* @param config Конфиг.
|
|
7
|
+
* @return Ресурс для провайдера.
|
|
8
|
+
* @todo Перенести в пресеты?
|
|
9
|
+
*/
|
|
10
|
+
export declare function getConventionalResource(config: BaseConfig): Resource;
|
package/tracing/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getConventionalResource = void 0;
|
|
4
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
5
|
+
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
6
|
+
/**
|
|
7
|
+
* Возвращает ресурс для BasicTracerProvider, заполненный данными по соглашению.
|
|
8
|
+
* Может быть дополнен с помощью метода merge.
|
|
9
|
+
* @param config Конфиг.
|
|
10
|
+
* @return Ресурс для провайдера.
|
|
11
|
+
* @todo Перенести в пресеты?
|
|
12
|
+
*/
|
|
13
|
+
function getConventionalResource(config) {
|
|
14
|
+
return new resources_1.Resource({
|
|
15
|
+
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: config.appName,
|
|
16
|
+
[semantic_conventions_1.SemanticResourceAttributes.SERVICE_VERSION]: config.appVersion,
|
|
17
|
+
[semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: config.env,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
exports.getConventionalResource = getConventionalResource;
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tracing/index.ts"],"names":[],"mappings":";;;AACA,wDAAoD;AACpD,8EAAiF;AAEjF;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,MAAkB;IACxD,OAAO,IAAI,oBAAQ,CAAC;QAClB,CAAC,iDAA0B,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO;QACzD,CAAC,iDAA0B,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,UAAU;QAC/D,CAAC,iDAA0B,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC,GAAG;KAChE,CAAC,CAAC;AACL,CAAC;AAND,0DAMC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Отправка аналитики в
|
|
2
|
+
* Отправка аналитики в dataLayer.
|
|
3
3
|
* @param eventData Данные события для отправки.
|
|
4
4
|
*/
|
|
5
|
-
export declare
|
|
5
|
+
export declare function dataLayerPush(eventData: Record<string, any>): void;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.dataLayerPush = void 0;
|
|
4
|
-
const lodash_1 = require("lodash");
|
|
5
4
|
/**
|
|
6
|
-
* Отправка аналитики в
|
|
5
|
+
* Отправка аналитики в dataLayer.
|
|
7
6
|
* @param eventData Данные события для отправки.
|
|
8
7
|
*/
|
|
9
|
-
|
|
8
|
+
function dataLayerPush(eventData) {
|
|
10
9
|
const win = window;
|
|
11
10
|
// копируем объект так как window.dataLayer.push может менять аргумент в процессе работы
|
|
12
|
-
|
|
13
|
-
}
|
|
11
|
+
typeof win.dataLayer?.push === 'function' && win.dataLayer.push({ ...eventData });
|
|
12
|
+
}
|
|
14
13
|
exports.dataLayerPush = dataLayerPush;
|
|
15
14
|
//# sourceMappingURL=data-layer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-layer.js","sourceRoot":"","sources":["../../../../src/utils/browser/analytics/data-layer.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"data-layer.js","sourceRoot":"","sources":["../../../../src/utils/browser/analytics/data-layer.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,aAAa,CAAC,SAA8B;IAC1D,MAAM,GAAG,GAAQ,MAAM,CAAC;IAExB,wFAAwF;IACxF,OAAO,GAAG,CAAC,SAAS,EAAE,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;AACpF,CAAC;AALD,sCAKC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type OkoEvent = Record<string, any>;
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Получив объект события, запустит его отправку в ОКО (если на странице есть ОКО).
|
|
4
4
|
* @param eventData Данные события для отправки.
|
|
5
5
|
*/
|
|
6
6
|
export declare const okoPush: (eventData: OkoEvent) => void;
|
|
7
7
|
/**
|
|
8
8
|
* Хук, возвращающий функцию, которая отправит аналитику в ОКО.
|
|
9
|
+
* Не позволяет менять данные для отправки.
|
|
9
10
|
* @param data Данные события для отправки в ОКО.
|
|
10
11
|
* @return Функция.
|
|
11
12
|
*/
|
|
@@ -4,7 +4,7 @@ exports.useOkoPush = exports.okoPush = void 0;
|
|
|
4
4
|
const react_1 = require("react");
|
|
5
5
|
const lodash_1 = require("lodash");
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Получив объект события, запустит его отправку в ОКО (если на странице есть ОКО).
|
|
8
8
|
* @param eventData Данные события для отправки.
|
|
9
9
|
*/
|
|
10
10
|
const okoPush = (eventData) => {
|
|
@@ -15,6 +15,7 @@ const okoPush = (eventData) => {
|
|
|
15
15
|
exports.okoPush = okoPush;
|
|
16
16
|
/**
|
|
17
17
|
* Хук, возвращающий функцию, которая отправит аналитику в ОКО.
|
|
18
|
+
* Не позволяет менять данные для отправки.
|
|
18
19
|
* @param data Данные события для отправки в ОКО.
|
|
19
20
|
* @return Функция.
|
|
20
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oko.js","sourceRoot":"","sources":["../../../../src/utils/browser/analytics/oko.ts"],"names":[],"mappings":";;;AAAA,iCAA+B;AAC/B,mCAA6C;AAI7C;;;GAGG;AACI,MAAM,OAAO,GAAG,CAAC,SAAmB,EAAE,EAAE;IAC7C,MAAM,GAAG,GAAQ,MAAM,CAAC;IAExB,qFAAqF;IACrF,IAAA,mBAAU,EAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEF
|
|
1
|
+
{"version":3,"file":"oko.js","sourceRoot":"","sources":["../../../../src/utils/browser/analytics/oko.ts"],"names":[],"mappings":";;;AAAA,iCAA+B;AAC/B,mCAA6C;AAI7C;;;GAGG;AACI,MAAM,OAAO,GAAG,CAAC,SAAmB,EAAE,EAAE;IAC7C,MAAM,GAAG,GAAQ,MAAM,CAAC;IAExB,qFAAqF;IACrF,IAAA,mBAAU,EAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC;AALW,QAAA,OAAO,WAKlB;AAEF;;;;;GAKG;AACI,MAAM,UAAU,GAAG,CAAC,IAAc,EAAE,EAAE;IAC3C,MAAM,OAAO,GAAG,IAAA,cAAM,GAAY,CAAC;IACnC,MAAM,KAAK,GAAG,IAAA,cAAM,GAAc,CAAC;IAEnC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;QACpB,OAAO,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;KAC/B;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,OAAmB,CAAC,CAAC;KAC5D;IAED,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;QACnC,MAAM,KAAK,CACT;YACE,gDAAgD;YAChD,wFAAwF;SACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;KACH;IAED,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC;AAtBW,QAAA,UAAU,cAsBrB"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Интерфейс объекта-обертки для безопасной работы с WebStorage.
|
|
3
|
+
*/
|
|
1
4
|
export interface StorageUtils extends Pick<Storage, 'clear' | 'getItem' | 'key' | 'removeItem' | 'setItem' | 'length'> {
|
|
2
5
|
isAvailable: () => boolean;
|
|
3
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Возвращает объект для безопасной работы с браузерным хранилищем (LocalStorage, SessionStorage).
|
|
9
|
+
* @param getStorage Функция, которая должна вернуть целевое хранилище.
|
|
10
|
+
* @return Объект-обертка для безопасной работы с браузерным хранилищем.
|
|
11
|
+
*/
|
|
4
12
|
export declare function createStorageUtils(getStorage: () => Storage): StorageUtils;
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.createStorageUtils = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* Возвращает объект для безопасной работы с браузерным хранилищем (LocalStorage, SessionStorage).
|
|
7
|
+
* @param getStorage Функция, которая должна вернуть целевое хранилище.
|
|
8
|
+
* @return Объект-обертка для безопасной работы с браузерным хранилищем.
|
|
9
|
+
*/
|
|
5
10
|
function createStorageUtils(getStorage) {
|
|
6
11
|
function isAvailable() {
|
|
7
12
|
try {
|
|
8
|
-
const testKey = `
|
|
13
|
+
const testKey = `storage_test_key::${Date.now()}`;
|
|
9
14
|
getStorage().setItem(testKey, testKey);
|
|
10
15
|
getStorage().removeItem(testKey);
|
|
11
16
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/browser/storage/index.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/browser/storage/index.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAUvD;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,UAAyB;IAC1D,SAAS,WAAW;QAClB,IAAI;YACF,MAAM,OAAO,GAAG,qBAAqB,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAElD,UAAU,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,UAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAEjC,OAAO,IAAI,CAAC;SACb;QAAC,MAAM;YACN,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,SAAS,KAAK;QACZ,IAAI,WAAW,EAAE,EAAE;YACjB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;SACtB;IACH,CAAC;IAED,SAAS,OAAO,CAAC,IAAY;QAC3B,IAAI,WAAW,EAAE,EAAE;YACjB,OAAO,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACnC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,GAAG,CAAC,KAAa;QACxB,IAAI,WAAW,EAAE,EAAE;YACjB,OAAO,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,UAAU,CAAC,IAAY;QAC9B,IAAI,WAAW,EAAE,EAAE;YACjB,UAAU,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;QAC1C,IAAI,WAAW,EAAE,EAAE;YACjB,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACnC;IACH,CAAC;IAED,SAAS,MAAM;QACb,IAAI,WAAW,EAAE,EAAE;YACjB,OAAO,UAAU,EAAE,CAAC,MAAM,CAAC;SAC5B;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACL,WAAW;QAEX,KAAK;QACL,OAAO;QACP,GAAG;QACH,UAAU;QACV,OAAO;QACP,IAAI,MAAM;YACR,OAAO,MAAM,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAnED,gDAmEC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
interface SafetyDoneInfo<T> {
|
|
2
|
+
ok: true;
|
|
3
|
+
result: T;
|
|
4
|
+
}
|
|
5
|
+
interface SafetyFailInfo {
|
|
6
|
+
ok: false;
|
|
7
|
+
error: unknown;
|
|
8
|
+
}
|
|
9
|
+
export type SafetyInfo<T> = SafetyDoneInfo<T> | SafetyFailInfo;
|
|
10
|
+
interface SafetyFormatter<T, F> {
|
|
11
|
+
(info: SafetyInfo<T>): F;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Возвращает функцию, результатом которой является promise, который никогда не переходит в состояние rejected.
|
|
15
|
+
* При перехвате исключения результат будет содержать ошибку.
|
|
16
|
+
* @param fn Оборачиваемая функция.
|
|
17
|
+
* @return Функция.
|
|
18
|
+
*/
|
|
19
|
+
export declare function safetyAsync<T, P extends any[]>(fn: (...args: P) => Promise<T>): (...args: P) => Promise<SafetyInfo<T>>;
|
|
20
|
+
/**
|
|
21
|
+
* Возвращает функцию, результатом которой является promise, который никогда не переходит в состояние rejected.
|
|
22
|
+
* При перехвате исключения результат будет содержать ошибку.
|
|
23
|
+
* @param fn Оборачиваемая функция.
|
|
24
|
+
* @param format Получив базовую информацию об ответе должна вернуть отформатированную информацию.
|
|
25
|
+
* @return Функция.
|
|
26
|
+
*/
|
|
27
|
+
export declare function safetyAsync<T, P extends any[], F>(fn: (...args: P) => Promise<T>, format: SafetyFormatter<T, F>): (...args: P) => Promise<F>;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.safetyAsync = void 0;
|
|
4
|
+
const lodash_1 = require("lodash");
|
|
5
|
+
/**
|
|
6
|
+
* Возвращает функцию, результатом которой является promise, который никогда не переходит в состояние rejected.
|
|
7
|
+
* При перехвате исключения результат будет содержать ошибку.
|
|
8
|
+
* @param fn Оборачиваемая функция.
|
|
9
|
+
* @param format Получив базовую информацию об ответе должна вернуть отформатированную информацию.
|
|
10
|
+
* @return Функция.
|
|
11
|
+
*/
|
|
12
|
+
function safetyAsync(fn, format = lodash_1.identity) {
|
|
13
|
+
return async function safetyWrapper(...args) {
|
|
14
|
+
try {
|
|
15
|
+
return format({ ok: true, result: await fn(...args) });
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
return format({ ok: false, error });
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
exports.safetyAsync = safetyAsync;
|
|
23
|
+
//# sourceMappingURL=function.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/utils/function.ts"],"names":[],"mappings":";;;AAAA,mCAAkC;AAwClC;;;;;;GAMG;AACH,SAAgB,WAAW,CACzB,EAA8B,EAC9B,SAAgC,iBAAQ;IAExC,OAAO,KAAK,UAAU,aAAa,CAAC,GAAG,IAAO;QAC5C,IAAI;YACF,OAAO,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;SACxD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;SACrC;IACH,CAAC,CAAC;AACJ,CAAC;AAXD,kCAWC"}
|
|
@@ -1,27 +1,30 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Component } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Опции компонентов ErrorBoundary и SafeSuspense.
|
|
4
|
+
*/
|
|
2
5
|
export interface Props {
|
|
3
|
-
/** Дочерний
|
|
6
|
+
/** Дочерний элемент. */
|
|
4
7
|
children: NonNullable<React.ReactNode> | null;
|
|
5
|
-
/**
|
|
8
|
+
/** Содержимое, которое будет выведено если возникла ошибка. */
|
|
6
9
|
fallback: NonNullable<React.ReactNode> | null;
|
|
7
|
-
/** Функция для логирования
|
|
10
|
+
/** Функция для логирования ошибок. */
|
|
8
11
|
onError?: (error: Error, errorInfo: React.ErrorInfo) => void;
|
|
9
12
|
}
|
|
10
13
|
/**
|
|
11
|
-
* Обработчик ошибок в React-компонентах.
|
|
14
|
+
* Компонент-предохранитель. Обработчик ошибок в React-компонентах.
|
|
12
15
|
*/
|
|
13
|
-
export declare class ErrorBoundary extends
|
|
16
|
+
export declare class ErrorBoundary extends Component<Props, {
|
|
14
17
|
hasError: boolean;
|
|
15
18
|
}> {
|
|
16
19
|
/**
|
|
17
20
|
* @param props Свойства.
|
|
18
21
|
*/
|
|
19
22
|
constructor(props: Props);
|
|
20
|
-
/** @
|
|
23
|
+
/** @inheritDoc */
|
|
21
24
|
static getDerivedStateFromError(): {
|
|
22
25
|
hasError: boolean;
|
|
23
26
|
};
|
|
24
|
-
/** @
|
|
27
|
+
/** @inheritDoc */
|
|
25
28
|
componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
|
|
26
29
|
/**
|
|
27
30
|
* Рендер.
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.SafeSuspense = exports.ErrorBoundary = void 0;
|
|
7
|
-
const
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
8
6
|
/**
|
|
9
|
-
* Обработчик ошибок в React-компонентах.
|
|
7
|
+
* Компонент-предохранитель. Обработчик ошибок в React-компонентах.
|
|
10
8
|
*/
|
|
11
|
-
class ErrorBoundary extends react_1.
|
|
9
|
+
class ErrorBoundary extends react_1.Component {
|
|
12
10
|
/**
|
|
13
11
|
* @param props Свойства.
|
|
14
12
|
*/
|
|
@@ -16,12 +14,13 @@ class ErrorBoundary extends react_1.default.Component {
|
|
|
16
14
|
super(props);
|
|
17
15
|
this.state = { hasError: false };
|
|
18
16
|
}
|
|
19
|
-
/** @
|
|
17
|
+
/** @inheritDoc */
|
|
20
18
|
static getDerivedStateFromError() {
|
|
21
19
|
return { hasError: true };
|
|
22
20
|
}
|
|
23
|
-
/** @
|
|
21
|
+
/** @inheritDoc */
|
|
24
22
|
componentDidCatch(error, errorInfo) {
|
|
23
|
+
// @todo добавить возможность брать onError из специального контекста (это упростит передачу из di-контейнера)
|
|
25
24
|
const { onError } = this.props;
|
|
26
25
|
onError?.(error, errorInfo);
|
|
27
26
|
}
|
|
@@ -41,7 +40,6 @@ exports.ErrorBoundary = ErrorBoundary;
|
|
|
41
40
|
* @param props Свойства.
|
|
42
41
|
* @return Элемент.
|
|
43
42
|
*/
|
|
44
|
-
const SafeSuspense = ({ children, fallback, onError }) => (
|
|
45
|
-
react_1.default.createElement(ErrorBoundary, { fallback: fallback, onError: onError }, children)));
|
|
43
|
+
const SafeSuspense = ({ children, fallback, onError }) => ((0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: fallback, children: (0, jsx_runtime_1.jsx)(ErrorBoundary, { fallback: fallback, onError: onError, children: children }) }));
|
|
46
44
|
exports.SafeSuspense = SafeSuspense;
|
|
47
45
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/react/error-handlers/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/react/error-handlers/index.tsx"],"names":[],"mappings":";;;;AAAA,iCAA4C;AAgB5C;;GAEG;AACH,MAAa,aAAc,SAAQ,iBAAuC;IACxE;;OAEG;IACH,YAAY,KAAY;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,wBAAwB;QAC7B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,kBAAkB;IAClB,iBAAiB,CAAC,KAAY,EAAE,SAA0B;QACxD,8GAA8G;QAC9G,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE/B,OAAO,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE1C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnD,CAAC;CACF;AAhCD,sCAgCC;AAED;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAS,EAAE,EAAE,CAAC,CACtE,uBAAC,gBAAQ,IAAC,QAAQ,EAAE,QAAQ,YAC1B,uBAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,YAChD,QAAQ,GACK,GACP,CACZ,CAAC;AANW,QAAA,YAAY,gBAMvB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createRemoteDataReducers = exports.RemoteData = exports.STATUS = void 0;
|
|
4
|
+
const remote_data_1 = require("./remote-data");
|
|
5
|
+
Object.defineProperty(exports, "STATUS", { enumerable: true, get: function () { return remote_data_1.STATUS; } });
|
|
6
|
+
Object.defineProperty(exports, "RemoteData", { enumerable: true, get: function () { return remote_data_1.RemoteData; } });
|
|
7
|
+
Object.defineProperty(exports, "createRemoteDataReducers", { enumerable: true, get: function () { return remote_data_1.createRemoteDataReducers; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/redux/index.ts"],"names":[],"mappings":";;;AAAA,+CAMuB;AAGd,uFANP,oBAAM,OAMO;AAAE,2FALf,wBAAU,OAKe;AAAE,yGAJ3B,sCAAwB,OAI2B"}
|
|
@@ -1,13 +1,90 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
1
|
+
import { ActionReducerMapBuilder, Draft, PayloadAction, PayloadActionCreator } from '@reduxjs/toolkit';
|
|
2
|
+
interface RemoteDataActions<TData, TError = unknown, TPayload = void> {
|
|
3
|
+
request: PayloadActionCreator<TPayload, string>;
|
|
4
|
+
success: PayloadActionCreator<TData, string>;
|
|
5
|
+
failure: PayloadActionCreator<TError, string>;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Статус загрузки данных.
|
|
9
|
+
*/
|
|
10
|
+
export type Status = 'initial' | 'fetching' | 'success' | 'failure';
|
|
11
|
+
/**
|
|
12
|
+
* Базовая структура хранилища удаленных данных.
|
|
13
|
+
*/
|
|
3
14
|
export interface RemoteDataState<TData, TError> {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
15
|
+
/** Загружаемые данные. */
|
|
16
|
+
readonly data: TData;
|
|
17
|
+
/** Данные ошибки запроса. */
|
|
18
|
+
readonly error: TError;
|
|
19
|
+
/** Статус загрузки данных. */
|
|
20
|
+
readonly status: Status;
|
|
21
|
+
/** Количество запросов. */
|
|
22
|
+
readonly fetchCount?: number;
|
|
7
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Возможные статусы загрузки данных.
|
|
26
|
+
*/
|
|
8
27
|
export declare const STATUS: Record<Status, Status>;
|
|
28
|
+
/** Работа с удаленными данными. */
|
|
29
|
+
export declare abstract class RemoteData {
|
|
30
|
+
static get STATUS(): Record<Status, Status>;
|
|
31
|
+
/**
|
|
32
|
+
* Возвращает action'ы для работы с удаленными данными.
|
|
33
|
+
* @param name Префикс имён.
|
|
34
|
+
* @return Набор.
|
|
35
|
+
*/
|
|
36
|
+
static createActions<TData = never, TError = never, TPayload = void>(name: string): RemoteDataActions<TData, TError, TPayload>;
|
|
37
|
+
/**
|
|
38
|
+
* Возвращает набор обработчиков для работы с удаленными данными.
|
|
39
|
+
* @return Набор.
|
|
40
|
+
*/
|
|
41
|
+
static createHandlers<TData, TError, S extends RemoteDataState<TData, TError> = RemoteDataState<TData, TError>>(): {
|
|
42
|
+
readonly request: (state: S | Draft<S>) => S | Draft<S>;
|
|
43
|
+
readonly success: (state: S | Draft<S>, action: PayloadAction<TData>) => S | Draft<S>;
|
|
44
|
+
readonly failure: (state: S | Draft<S>, action: PayloadAction<TError>) => S | Draft<S>;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Применяет обработчики для работы с удаленными данными.
|
|
48
|
+
* @param actions Набор action'ов.
|
|
49
|
+
* @param builder Builder.
|
|
50
|
+
*/
|
|
51
|
+
static applyHandlers<TData, TError>(actions: RemoteDataActions<TData, TError, any | never>, builder: Pick<ActionReducerMapBuilder<RemoteDataState<TData, TError>>, 'addCase'>): void;
|
|
52
|
+
/**
|
|
53
|
+
* Возвращает новый набор селекторов данных.
|
|
54
|
+
* @param selectRoot Функция получения состояния.
|
|
55
|
+
* @return Набор селекторов.
|
|
56
|
+
*/
|
|
57
|
+
static createSelectors<S extends RemoteDataState<unknown, unknown>, R = unknown>(selectRoot: (root: R) => S): {
|
|
58
|
+
readonly isInitial: ((state: R) => boolean) & import("reselect").OutputSelectorFields<(args_0: S) => boolean & {
|
|
59
|
+
clearCache: () => void;
|
|
60
|
+
}> & {
|
|
61
|
+
clearCache: () => void;
|
|
62
|
+
};
|
|
63
|
+
readonly isFetching: ((state: R) => boolean) & import("reselect").OutputSelectorFields<(args_0: S) => boolean & {
|
|
64
|
+
clearCache: () => void;
|
|
65
|
+
}> & {
|
|
66
|
+
clearCache: () => void;
|
|
67
|
+
};
|
|
68
|
+
readonly isSuccess: ((state: R) => boolean) & import("reselect").OutputSelectorFields<(args_0: S) => boolean & {
|
|
69
|
+
clearCache: () => void;
|
|
70
|
+
}> & {
|
|
71
|
+
clearCache: () => void;
|
|
72
|
+
};
|
|
73
|
+
readonly isFailed: ((state: R) => boolean) & import("reselect").OutputSelectorFields<(args_0: S) => boolean & {
|
|
74
|
+
clearCache: () => void;
|
|
75
|
+
}> & {
|
|
76
|
+
clearCache: () => void;
|
|
77
|
+
};
|
|
78
|
+
readonly wasFetched: ((state: R) => boolean) & import("reselect").OutputSelectorFields<(args_0: S) => boolean & {
|
|
79
|
+
clearCache: () => void;
|
|
80
|
+
}> & {
|
|
81
|
+
clearCache: () => void;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
}
|
|
9
85
|
/**
|
|
10
86
|
* Возвращает набор обработчиков для работы с удаленными данными.
|
|
87
|
+
* @deprecated Теперь нужно использовать RemoteData.createHandlers.
|
|
11
88
|
* @return Набор.
|
|
12
89
|
*/
|
|
13
90
|
export declare const createRemoteDataReducers: <S extends RemoteDataState<any, any>>() => {
|
|
@@ -21,3 +98,4 @@ export declare const createRemoteDataReducers: <S extends RemoteDataState<any, a
|
|
|
21
98
|
type: string;
|
|
22
99
|
}) => void;
|
|
23
100
|
};
|
|
101
|
+
export {};
|