@sima-land/isomorph 11.0.0-alpha.1 → 11.0.0-alpha.10

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.
Files changed (100) hide show
  1. package/config/{index.d.ts → base.d.ts} +0 -0
  2. package/config/{index.js → base.js} +1 -1
  3. package/config/base.js.map +1 -0
  4. package/config/browser.js +10 -1
  5. package/config/browser.js.map +1 -1
  6. package/config/node.js +10 -5
  7. package/config/node.js.map +1 -1
  8. package/di/application.d.ts +6 -0
  9. package/{container → di}/application.js +16 -8
  10. package/di/application.js.map +1 -0
  11. package/di/container.d.ts +6 -0
  12. package/di/container.js +49 -0
  13. package/di/container.js.map +1 -0
  14. package/di/errors.d.ts +21 -0
  15. package/di/errors.js +33 -0
  16. package/di/errors.js.map +1 -0
  17. package/di/index.d.ts +6 -0
  18. package/di/index.js +16 -0
  19. package/di/index.js.map +1 -0
  20. package/{preset/index.d.ts → di/preset.d.ts} +3 -1
  21. package/{preset/index.js → di/preset.js} +1 -1
  22. package/di/preset.js.map +1 -0
  23. package/di/token.d.ts +7 -0
  24. package/di/token.js +17 -0
  25. package/di/token.js.map +1 -0
  26. package/di/types.d.ts +32 -0
  27. package/{container → di}/types.js +0 -0
  28. package/{preset → di}/types.js.map +1 -1
  29. package/error-tracker/types.d.ts +2 -7
  30. package/error-tracker/utils.d.ts +11 -1
  31. package/error-tracker/utils.js +13 -2
  32. package/error-tracker/utils.js.map +1 -1
  33. package/http-client/middleware/logging.d.ts +15 -0
  34. package/http-client/middleware/logging.js +93 -0
  35. package/http-client/middleware/logging.js.map +1 -0
  36. package/http-client/sauce/index.d.ts +27 -0
  37. package/http-client/sauce/index.js +33 -0
  38. package/http-client/sauce/index.js.map +1 -0
  39. package/http-client/utils.d.ts +0 -27
  40. package/http-client/utils.js +1 -30
  41. package/http-client/utils.js.map +1 -1
  42. package/http-server/middleware/tracing.d.ts +8 -2
  43. package/http-server/middleware/tracing.js +22 -3
  44. package/http-server/middleware/tracing.js.map +1 -1
  45. package/logger/handler/console.d.ts +1 -1
  46. package/logger/handler/console.js +8 -1
  47. package/logger/handler/console.js.map +1 -1
  48. package/logger/handler/sentry.d.ts +3 -3
  49. package/logger/handler/sentry.js +11 -5
  50. package/logger/handler/sentry.js.map +1 -1
  51. package/package.json +4 -2
  52. package/preset/browser/index.d.ts +1 -0
  53. package/preset/browser/index.js +45 -0
  54. package/preset/browser/index.js.map +1 -0
  55. package/preset/node/index.d.ts +6 -2
  56. package/preset/node/index.js +62 -25
  57. package/preset/node/index.js.map +1 -1
  58. package/preset/node/response.d.ts +6 -3
  59. package/preset/node/response.js +9 -5
  60. package/preset/node/response.js.map +1 -1
  61. package/tokens.d.ts +24 -17
  62. package/tokens.js +23 -17
  63. package/tokens.js.map +1 -1
  64. package/tracing/index.d.ts +9 -0
  65. package/tracing/index.js +20 -0
  66. package/tracing/index.js.map +1 -0
  67. package/utils/react/error-handlers/index.js +1 -0
  68. package/utils/react/error-handlers/index.js.map +1 -1
  69. package/utils/ssr/index.d.ts +30 -0
  70. package/utils/ssr/index.js +51 -0
  71. package/utils/ssr/index.js.map +1 -0
  72. package/utils/webpack/index.d.ts +23 -0
  73. package/utils/webpack/index.js +66 -0
  74. package/utils/webpack/index.js.map +1 -0
  75. package/config/index.js.map +0 -1
  76. package/config/utils.d.ts +0 -5
  77. package/config/utils.js +0 -12
  78. package/config/utils.js.map +0 -1
  79. package/container/application.d.ts +0 -25
  80. package/container/application.js.map +0 -1
  81. package/container/index.d.ts +0 -18
  82. package/container/index.js +0 -74
  83. package/container/index.js.map +0 -1
  84. package/container/types.d.ts +0 -14
  85. package/container/types.js.map +0 -1
  86. package/error-tracker/browser.d.ts +0 -8
  87. package/error-tracker/browser.js +0 -40
  88. package/error-tracker/browser.js.map +0 -1
  89. package/error-tracker/node.d.ts +0 -8
  90. package/error-tracker/node.js +0 -40
  91. package/error-tracker/node.js.map +0 -1
  92. package/preset/index.js.map +0 -1
  93. package/preset/types.d.ts +0 -7
  94. package/preset/types.js +0 -3
  95. package/tracer/node.d.ts +0 -10
  96. package/tracer/node.js +0 -38
  97. package/tracer/node.js.map +0 -1
  98. package/tracer/types.d.ts +0 -2
  99. package/tracer/types.js +0 -3
  100. package/tracer/types.js.map +0 -1
package/tokens.d.ts CHANGED
@@ -5,37 +5,44 @@ import type { SagaRunner } from './saga-runner/types';
5
5
  import type { Logger } from './logger/types';
6
6
  import type { HttpClientFactory } from './http-client/types';
7
7
  import type { BaseConfig } from './config/types';
8
- import type { Tracer } from './tracer/types';
8
+ import type { Tracer } from '@opentelemetry/api';
9
9
  import type { Cache } from './cache/types';
10
+ import type { BasicTracerProvider, SpanExporter } from '@opentelemetry/tracing';
11
+ import type { Resource } from '@opentelemetry/resources';
10
12
  export declare const KnownToken: {
11
13
  readonly Config: {
12
- readonly source: import("./container/types").Token<import("@humanwhocodes/env").Env>;
13
- readonly base: import("./container/types").Token<BaseConfig>;
14
+ readonly source: import("./di").Token<import("@humanwhocodes/env").Env>;
15
+ readonly base: import("./di").Token<BaseConfig>;
16
+ };
17
+ readonly cache: import("./di").Token<Cache>;
18
+ readonly logger: import("./di").Token<Logger>;
19
+ readonly sagaRunner: import("./di").Token<SagaRunner>;
20
+ readonly Tracing: {
21
+ readonly tracer: import("./di").Token<Tracer>;
22
+ readonly spanExporter: import("./di").Token<SpanExporter>;
23
+ readonly tracerProvider: import("./di").Token<BasicTracerProvider>;
24
+ readonly tracerProviderResource: import("./di").Token<Resource>;
14
25
  };
15
- readonly cache: import("./container/types").Token<Cache>;
16
- readonly logger: import("./container/types").Token<Logger>;
17
- readonly tracer: import("./container/types").Token<Tracer>;
18
26
  readonly Metrics: {
19
- readonly httpApp: import("./container/types").Token<Application>;
27
+ readonly httpApp: import("./di").Token<Application>;
20
28
  };
21
29
  readonly Http: {
22
30
  readonly Client: {
23
- readonly factory: import("./container/types").Token<HttpClientFactory>;
31
+ readonly factory: import("./di").Token<HttpClientFactory>;
24
32
  };
25
33
  readonly Server: {
26
- readonly factory: import("./container/types").Token<() => Application>;
34
+ readonly factory: import("./di").Token<() => Application>;
27
35
  readonly Defaults: {
28
- readonly middleware: import("./container/types").Token<DefaultMiddleware>;
36
+ readonly middleware: import("./di").Token<DefaultMiddleware>;
29
37
  };
30
38
  };
31
39
  };
32
40
  readonly Response: {
33
- readonly template: import("./container/types").Token<PageTemplate>;
34
- readonly context: import("./container/types").Token<ResponseContext>;
35
- readonly assets: import("./container/types").Token<PageAssets>;
36
- readonly prepare: import("./container/types").Token<() => JSX.Element | Promise<JSX.Element>>;
37
- readonly render: import("./container/types").Token<(element: JSX.Element) => string | Promise<string>>;
38
- readonly main: import("./container/types").Token<() => void>;
39
- readonly sagaRunner: import("./container/types").Token<SagaRunner>;
41
+ readonly template: import("./di").Token<PageTemplate>;
42
+ readonly context: import("./di").Token<ResponseContext>;
43
+ readonly assets: import("./di").Token<PageAssets>;
44
+ readonly prepare: import("./di").Token<() => JSX.Element | Promise<JSX.Element>>;
45
+ readonly render: import("./di").Token<(element: JSX.Element) => string | Promise<string>>;
46
+ readonly main: import("./di").Token<() => void>;
40
47
  };
41
48
  };
package/tokens.js CHANGED
@@ -1,44 +1,50 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KnownToken = void 0;
4
- const container_1 = require("./container");
4
+ const di_1 = require("./di");
5
5
  exports.KnownToken = {
6
6
  // config
7
7
  Config: {
8
- source: (0, container_1.createToken)('config.source'),
9
- base: (0, container_1.createToken)('config.base'),
8
+ source: (0, di_1.createToken)('config.source'),
9
+ base: (0, di_1.createToken)('config.base'),
10
10
  },
11
11
  // cache
12
- cache: (0, container_1.createToken)('cache'),
12
+ cache: (0, di_1.createToken)('cache'),
13
13
  // logging
14
- logger: (0, container_1.createToken)('logger'),
14
+ logger: (0, di_1.createToken)('logger'),
15
+ // saga runner
16
+ sagaRunner: (0, di_1.createToken)('saga-runner'),
15
17
  // tracing
16
- tracer: (0, container_1.createToken)('tracer'),
18
+ Tracing: {
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'),
23
+ },
17
24
  // metrics
18
25
  Metrics: {
19
- httpApp: (0, container_1.createToken)('metrics.http-app'),
26
+ httpApp: (0, di_1.createToken)('metrics.http-app'),
20
27
  },
21
28
  // http
22
29
  Http: {
23
30
  Client: {
24
- factory: (0, container_1.createToken)('http.client.factory'),
31
+ factory: (0, di_1.createToken)('http.client.factory'),
25
32
  },
26
33
  Server: {
27
- factory: (0, container_1.createToken)('http.server.factory'),
34
+ factory: (0, di_1.createToken)('http.server.factory'),
28
35
  Defaults: {
29
- middleware: (0, container_1.createToken)('http.server.defaults.middleware'),
36
+ middleware: (0, di_1.createToken)('http.server.defaults.middleware'),
30
37
  },
31
38
  },
32
39
  },
33
40
  // scope: page response
34
41
  Response: {
35
- template: (0, container_1.createToken)('response/template'),
36
- context: (0, container_1.createToken)('response/context'),
37
- assets: (0, container_1.createToken)('response/assets'),
38
- prepare: (0, container_1.createToken)('response/prepare'),
39
- render: (0, container_1.createToken)('response/render'),
40
- main: (0, container_1.createToken)('response/main'),
41
- sagaRunner: (0, container_1.createToken)('response/saga-runner'),
42
+ template: (0, di_1.createToken)('response/template'),
43
+ context: (0, di_1.createToken)('response/context'),
44
+ assets: (0, di_1.createToken)('response/assets'),
45
+ prepare: (0, di_1.createToken)('response/prepare'),
46
+ render: (0, di_1.createToken)('response/render'),
47
+ main: (0, di_1.createToken)('response/main'),
42
48
  },
43
49
  };
44
50
  //# 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,2CAA0C;AAe7B,QAAA,UAAU,GAAG;IACxB,SAAS;IACT,MAAM,EAAE;QACN,MAAM,EAAE,IAAA,uBAAW,EAAe,eAAe,CAAC;QAClD,IAAI,EAAE,IAAA,uBAAW,EAAa,aAAa,CAAC;KAC7C;IAED,QAAQ;IACR,KAAK,EAAE,IAAA,uBAAW,EAAQ,OAAO,CAAC;IAElC,UAAU;IACV,MAAM,EAAE,IAAA,uBAAW,EAAS,QAAQ,CAAC;IAErC,UAAU;IACV,MAAM,EAAE,IAAA,uBAAW,EAAS,QAAQ,CAAC;IAErC,UAAU;IACV,OAAO,EAAE;QACP,OAAO,EAAE,IAAA,uBAAW,EAAc,kBAAkB,CAAC;KACtD;IAED,OAAO;IACP,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,uBAAW,EAAoB,qBAAqB,CAAC;SAC/D;QACD,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,uBAAW,EAAoB,qBAAqB,CAAC;YAC9D,QAAQ,EAAE;gBACR,UAAU,EAAE,IAAA,uBAAW,EAAoB,iCAAiC,CAAC;aAC9E;SACF;KACF;IAED,uBAAuB;IACvB,QAAQ,EAAE;QACR,QAAQ,EAAE,IAAA,uBAAW,EAAe,mBAAmB,CAAC;QACxD,OAAO,EAAE,IAAA,uBAAW,EAAkB,kBAAkB,CAAC;QACzD,MAAM,EAAE,IAAA,uBAAW,EAAa,iBAAiB,CAAC;QAClD,OAAO,EAAE,IAAA,uBAAW,EAA2C,kBAAkB,CAAC;QAClF,MAAM,EAAE,IAAA,uBAAW,EAAqD,iBAAiB,CAAC;QAC1F,IAAI,EAAE,IAAA,uBAAW,EAAa,eAAe,CAAC;QAC9C,UAAU,EAAE,IAAA,uBAAW,EAAa,sBAAsB,CAAC;KAC5D;CACO,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":";;;AAAA,6BAAmC;AAiBtB,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,UAAU;IACV,MAAM,EAAE,IAAA,gBAAW,EAAS,QAAQ,CAAC;IAErC,cAAc;IACd,UAAU,EAAE,IAAA,gBAAW,EAAa,aAAa,CAAC;IAElD,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;SAC/D;QACD,MAAM,EAAE;YACN,OAAO,EAAE,IAAA,gBAAW,EAAoB,qBAAqB,CAAC;YAC9D,QAAQ,EAAE;gBACR,UAAU,EAAE,IAAA,gBAAW,EAAoB,iCAAiC,CAAC;aAC9E;SACF;KACF;IAED,uBAAuB;IACvB,QAAQ,EAAE;QACR,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;CACO,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { BaseConfig } from '../config/types';
2
+ import { Resource } from '@opentelemetry/resources';
3
+ /**
4
+ * Возвращает ресурс для BasicTracerProvider, заполненный данными по соглашению.
5
+ * Может быть дополнен с помощью метода merge.
6
+ * @param config Конфиг.
7
+ * @return Ресурс для провайдера.
8
+ */
9
+ export declare function getConventionalResource(config: BaseConfig): Resource;
@@ -0,0 +1,20 @@
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
+ */
12
+ function getConventionalResource(config) {
13
+ return new resources_1.Resource({
14
+ [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: config.appName,
15
+ [semantic_conventions_1.SemanticResourceAttributes.SERVICE_VERSION]: config.appVersion,
16
+ [semantic_conventions_1.SemanticResourceAttributes.DEPLOYMENT_ENVIRONMENT]: config.env,
17
+ });
18
+ }
19
+ exports.getConventionalResource = getConventionalResource;
20
+ //# 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;;;;;GAKG;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"}
@@ -22,6 +22,7 @@ class ErrorBoundary extends react_1.default.Component {
22
22
  }
23
23
  /** @inheritdoc */
24
24
  componentDidCatch(error, errorInfo) {
25
+ // @todo добавить возможность брать onError из специального контекста (это упростит передачу из di-контейнера)
25
26
  const { onError } = this.props;
26
27
  onError?.(error, errorInfo);
27
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/react/error-handlers/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAa1B;;GAEG;AACH,MAAa,aAAc,SAAQ,eAAK,CAAC,SAAuC;IAC9E;;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,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;AA/BD,sCA+BC;AAED;;;;;GAKG;AACI,MAAM,YAAY,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAS,EAAE,EAAE,CAAC,CACtE,8BAAC,eAAK,CAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ;IAChC,8BAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAChD,QAAQ,CACK,CACD,CAClB,CAAC;AANW,QAAA,YAAY,gBAMvB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/react/error-handlers/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAa1B;;GAEG;AACH,MAAa,aAAc,SAAQ,eAAK,CAAC,SAAuC;IAC9E;;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,8BAAC,eAAK,CAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ;IAChC,8BAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAChD,QAAQ,CACK,CACD,CAClB,CAAC;AANW,QAAA,YAAY,gBAMvB"}
@@ -0,0 +1,30 @@
1
+ /// <reference types="react" />
2
+ export declare const SsrBridge: {
3
+ /**
4
+ * Вызывается на сервере.
5
+ * @param serviceKey Идентификатор корневого элемента.
6
+ * @return Идентификатор корневого элемента и ключ для глобально.
7
+ */
8
+ readonly prepare: (serviceKey: string) => {
9
+ rootElementId: string;
10
+ serverDataKey: string;
11
+ };
12
+ /**
13
+ * Вызывается на клиенте.
14
+ * @param serviceKey Идентификатор корневого элемента.
15
+ * @return Корневой элемент и начальное состояние.
16
+ */
17
+ readonly resolve: <T = any>(serviceKey: string) => {
18
+ rootElement: HTMLElement;
19
+ serverSideData: T;
20
+ };
21
+ };
22
+ /**
23
+ * Скрипт, формирующий глобально доступные на странице данные.
24
+ * @param props Свойства.
25
+ * @return Элемент.
26
+ */
27
+ export declare function GlobalDataScript({ property, value, }: {
28
+ property: string;
29
+ value: Record<any, any>;
30
+ }): JSX.Element;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GlobalDataScript = exports.SsrBridge = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const jsesc_1 = __importDefault(require("jsesc"));
9
+ exports.SsrBridge = {
10
+ /**
11
+ * Вызывается на сервере.
12
+ * @param serviceKey Идентификатор корневого элемента.
13
+ * @return Идентификатор корневого элемента и ключ для глобально.
14
+ */
15
+ prepare(serviceKey) {
16
+ return {
17
+ rootElementId: `${serviceKey}__root`,
18
+ serverDataKey: `${serviceKey}__serverData`,
19
+ };
20
+ },
21
+ /**
22
+ * Вызывается на клиенте.
23
+ * @param serviceKey Идентификатор корневого элемента.
24
+ * @return Корневой элемент и начальное состояние.
25
+ */
26
+ resolve(serviceKey) {
27
+ const rootElement = document.getElementById(`${serviceKey}__root`);
28
+ const serverSideData = window[`${serviceKey}__serverData`];
29
+ if (!rootElement) {
30
+ throw Error('SSR: Не был найден корневой элемент');
31
+ }
32
+ return { rootElement, serverSideData };
33
+ },
34
+ };
35
+ /**
36
+ * Скрипт, формирующий глобально доступные на странице данные.
37
+ * @param props Свойства.
38
+ * @return Элемент.
39
+ */
40
+ function GlobalDataScript({ property, value, }) {
41
+ const json = (0, jsesc_1.default)(JSON.stringify(value), {
42
+ json: true,
43
+ isScriptContext: true,
44
+ });
45
+ return (react_1.default.createElement("script", { dangerouslySetInnerHTML: {
46
+ // @todo возможно стоит также экранировать символы в "property"
47
+ __html: `window["${property}"] = JSON.parse(${json});`,
48
+ } }));
49
+ }
50
+ exports.GlobalDataScript = GlobalDataScript;
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/ssr/index.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,kDAA0B;AAEb,QAAA,SAAS,GAAG;IACvB;;;;OAIG;IACH,OAAO,CAAC,UAAkB;QAIxB,OAAO;YACL,aAAa,EAAE,GAAG,UAAU,QAAQ;YACpC,aAAa,EAAE,GAAG,UAAU,cAAc;SAC3C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,OAAO,CACL,UAAkB;QAKlB,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,UAAU,QAAQ,CAAC,CAAC;QACnE,MAAM,cAAc,GAAI,MAAc,CAAC,GAAG,UAAU,cAAc,CAAC,CAAC;QAEpE,IAAI,CAAC,WAAW,EAAE;YAChB,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACpD;QAED,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IACzC,CAAC;CACO,CAAC;AAEX;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,KAAK,GAIN;IACC,MAAM,IAAI,GAAG,IAAA,eAAK,EAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACxC,IAAI,EAAE,IAAI;QACV,eAAe,EAAE,IAAI;KACtB,CAAC,CAAC;IAEH,OAAO,CACL,0CACE,uBAAuB,EAAE;YACvB,+DAA+D;YAC/D,MAAM,EAAE,WAAW,QAAQ,mBAAmB,IAAI,IAAI;SACvD,GACD,CACH,CAAC;AACJ,CAAC;AApBD,4CAoBC"}
@@ -0,0 +1,23 @@
1
+ import webpack from 'webpack';
2
+ /**
3
+ * Плагин для зашивания переменных среды в сборки.
4
+ * В браузерную сборку зашьёт только переменные с префиксом "PUBLIC_".
5
+ * ВАЖНО: все зашиваемые переменные будут доступны через глобальный объект __ISOMORPH_ENV__.
6
+ */
7
+ export declare class EnvPlugin {
8
+ options: {
9
+ additional: string[];
10
+ define?: Record<string, string>;
11
+ };
12
+ /**
13
+ * @param options Опции.
14
+ */
15
+ constructor(options?: {
16
+ additional?: string[];
17
+ define?: Record<string, string>;
18
+ });
19
+ /**
20
+ * @param compiler Компилятор.
21
+ */
22
+ apply(compiler: webpack.Compiler): void;
23
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.EnvPlugin = void 0;
7
+ const lodash_1 = require("lodash");
8
+ const webpack_1 = __importDefault(require("webpack"));
9
+ const dotenv_1 = __importDefault(require("dotenv"));
10
+ const path_1 = __importDefault(require("path"));
11
+ const env_1 = require("@humanwhocodes/env");
12
+ /**
13
+ * Плагин для зашивания переменных среды в сборки.
14
+ * В браузерную сборку зашьёт только переменные с префиксом "PUBLIC_".
15
+ * ВАЖНО: все зашиваемые переменные будут доступны через глобальный объект __ISOMORPH_ENV__.
16
+ */
17
+ class EnvPlugin {
18
+ /**
19
+ * @param options Опции.
20
+ */
21
+ constructor(options = {}) {
22
+ this.options = {
23
+ additional: options.additional || [],
24
+ define: options.define,
25
+ };
26
+ }
27
+ /**
28
+ * @param compiler Компилятор.
29
+ */
30
+ apply(compiler) {
31
+ const { NODE_ENV } = new env_1.Env().required;
32
+ dotenv_1.default.config({ path: path_1.default.join(process.cwd(), `.env.${NODE_ENV}`) });
33
+ const target = Array.isArray(compiler.options.target)
34
+ ? compiler.options.target
35
+ : [compiler.options.target];
36
+ // browser
37
+ if (target.includes('web')) {
38
+ const valuesWeb = {
39
+ ...this.options.define,
40
+ ...(0, lodash_1.pick)(process.env, [...this.options.additional, 'NODE_ENV']),
41
+ ...(0, lodash_1.pickBy)(process.env, (_, key) => key.startsWith('PUBLIC_')),
42
+ };
43
+ new webpack_1.default.DefinePlugin({ __ISOMORPH_ENV__: JSON.stringify(valuesWeb) }).apply(compiler);
44
+ new webpack_1.default.DefinePlugin(Object.entries(valuesWeb).reduce((acc, [key, value]) => {
45
+ acc[`process.env.${key}`] = JSON.stringify(value);
46
+ return acc;
47
+ }, {})).apply(compiler);
48
+ }
49
+ // node
50
+ if (!target.includes('web')) {
51
+ const valuesNode = {
52
+ ...this.options.define,
53
+ ...(0, lodash_1.pick)(process.env, [...this.options.additional, 'NODE_ENV']),
54
+ };
55
+ new webpack_1.default.DefinePlugin({ __ISOMORPH_ENV__: JSON.stringify(valuesNode) }).apply(compiler);
56
+ if (this.options.define) {
57
+ new webpack_1.default.DefinePlugin(Object.entries(this.options.define).reduce((acc, [key, value]) => {
58
+ acc[`process.env.${key}`] = JSON.stringify(value);
59
+ return acc;
60
+ }, {})).apply(compiler);
61
+ }
62
+ }
63
+ }
64
+ }
65
+ exports.EnvPlugin = EnvPlugin;
66
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/webpack/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,MAAoB;IACnD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAEjD,OAAO;QACL,GAAG;QACH,OAAO;QACP,UAAU;KACX,CAAC;AACJ,CAAC;AAVD,4CAUC"}
package/config/utils.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Возвращает значение process.env.NODE_ENV или "unknown".
3
- * @return Значение.
4
- */
5
- export declare function defineEnvironment(): string;
package/config/utils.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defineEnvironment = void 0;
4
- /**
5
- * Возвращает значение process.env.NODE_ENV или "unknown".
6
- * @return Значение.
7
- */
8
- function defineEnvironment() {
9
- return process.env.NODE_ENV || 'unknown';
10
- }
11
- exports.defineEnvironment = defineEnvironment;
12
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/config/utils.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC;AAC3C,CAAC;AAFD,8CAEC"}
@@ -1,25 +0,0 @@
1
- import type { Provider, Token } from './types';
2
- import type { Preset } from '../preset/types';
3
- declare type ExtractType<T extends readonly Token<any>[]> = {
4
- [index in keyof T]: T[index] extends T[number] ? ReturnType<T[index]['_resolve']> : never;
5
- };
6
- interface Binding<T> {
7
- toValue: (value: T) => void;
8
- toProvider: (provider: Provider<T>) => void;
9
- }
10
- export declare class Application {
11
- private container?;
12
- private parent?;
13
- private presets;
14
- private providers;
15
- static readonly self: Token<never>;
16
- constructor();
17
- bind<T>(token: Token<T>): Binding<T>;
18
- get<T>(token: Token<T>): T;
19
- private getContainer;
20
- private configureContainer;
21
- attach(parent: Application): void;
22
- preset(preset: Preset): void;
23
- invoke<Tokens extends readonly Token<any>[]>(tokens: [...Tokens], fn: (...args: ExtractType<Tokens>) => void): void;
24
- }
25
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/container/application.ts"],"names":[],"mappings":";;;AAGA,wBAAoE;AAWpE,MAAa,WAAW;IAQtB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,CAAI,KAAe;QACrB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;YACD,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAI,KAAe;QACpB,IAAI;YACF,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACvC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,oBAAiB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACrD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC/B;iBAAM;gBACL,MAAM,KAAK,CAAC;aACb;SACF;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,kBAAkB;QACxB,MAAM,SAAS,GAAG,IAAA,kBAAe,GAAE,CAAC;QAEpC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAE5C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,MAAM,OAAO,GAAY,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAElD,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YAC9C,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/C;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,MAAmB;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CACJ,MAAmB,EACnB,EAA0C;QAE1C,EAAE,CAAC,GAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAS,CAAC,CAAC;IACvD,CAAC;;AA3EH,kCA4EC;AAtEiB,gBAAI,GAAG,IAAA,cAAW,EAAC,kBAAkB,CAAC,CAAC"}
@@ -1,18 +0,0 @@
1
- import type { Container, Token } from './types';
2
- /**
3
- * Возвращает новый токен.
4
- * @param name Имя токена для отладки в случае ошибок.
5
- * @return Токен.
6
- */
7
- export declare function createToken<T = never>(name?: string): Token<T>;
8
- export declare class NothingBoundError extends Error {
9
- constructor(key: symbol);
10
- }
11
- export declare class CircularDependencyError extends Error {
12
- constructor(trace: Token<any>[]);
13
- }
14
- /**
15
- * Возвращает новый DI-контейнер.
16
- * @return DI-контейнер.
17
- */
18
- export declare function createContainer(): Container;
@@ -1,74 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createContainer = exports.CircularDependencyError = exports.NothingBoundError = exports.createToken = void 0;
4
- /**
5
- * Возвращает новый токен.
6
- * @param name Имя токена для отладки в случае ошибок.
7
- * @return Токен.
8
- */
9
- function createToken(name) {
10
- const key = Symbol(name);
11
- return {
12
- _key: key,
13
- _resolve: (registry) => registry.get(key),
14
- };
15
- }
16
- exports.createToken = createToken;
17
- class NothingBoundError extends Error {
18
- constructor(key) {
19
- super(`Nothing bound to ${String(key)}`);
20
- this.name = 'NothingBoundError';
21
- }
22
- }
23
- exports.NothingBoundError = NothingBoundError;
24
- class CircularDependencyError extends Error {
25
- constructor(trace) {
26
- const names = trace.map(token => String(token._key)).join(' >> ');
27
- super(`Circular dependency found, trace: ${names}`);
28
- this.name = 'CircularDependencyError';
29
- }
30
- }
31
- exports.CircularDependencyError = CircularDependencyError;
32
- /**
33
- * Возвращает новый DI-контейнер.
34
- * @return DI-контейнер.
35
- */
36
- function createContainer() {
37
- const cache = new Map();
38
- const registry = new Map();
39
- function resolve(token, chain) {
40
- if (chain.includes(token)) {
41
- throw new CircularDependencyError([...chain, token]);
42
- }
43
- else {
44
- chain.push(token);
45
- }
46
- if (cache.has(token._key)) {
47
- return cache.get(token._key);
48
- }
49
- else if (registry.has(token._key)) {
50
- const provider = registry.get(token._key);
51
- if (typeof provider !== 'function') {
52
- throw new Error('Provider is not a function');
53
- }
54
- const value = provider(otherToken => resolve(otherToken, chain));
55
- // всегда как singleton
56
- cache.set(token._key, value);
57
- return value;
58
- }
59
- else {
60
- throw new NothingBoundError(token._key);
61
- }
62
- }
63
- const container = {
64
- set(token, provider) {
65
- registry.set(token._key, provider);
66
- },
67
- get(token) {
68
- return resolve(token, []);
69
- },
70
- };
71
- return container;
72
- }
73
- exports.createContainer = createContainer;
74
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/container/index.ts"],"names":[],"mappings":";;;AAGA;;;;GAIG;AACH,SAAgB,WAAW,CAAY,IAAa;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzB,OAAO;QACL,IAAI,EAAE,GAAG;QACT,QAAQ,EAAE,CAAC,QAA0B,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAM;KACjE,CAAC;AACJ,CAAC;AAPD,kCAOC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,GAAW;QACrB,KAAK,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAED,MAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,KAAmB;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClE,KAAK,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAND,0DAMC;AAED;;;GAGG;AACH,SAAgB,eAAe;IAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAe,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAElD,SAAS,OAAO,CAAI,KAAe,EAAE,KAAmB;QACtD,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACzB,MAAM,IAAI,uBAAuB,CAAC,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SACtD;aAAM;YACL,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;QAED,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE1C,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;gBAClC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;aAC/C;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAEjE,uBAAuB;YACvB,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAE7B,OAAO,KAAK,CAAC;SACd;aAAM;YACL,MAAM,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACzC;IACH,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,GAAG,CAAI,KAAe,EAAE,QAAqB;YAC3C,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,GAAG,CAAI,KAAe;YACpB,OAAO,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC;AA1CD,0CA0CC"}
@@ -1,14 +0,0 @@
1
- export interface Token<T> {
2
- readonly _key: symbol;
3
- readonly _resolve: (registry: Map<symbol, any>) => T;
4
- }
5
- export interface Resolve {
6
- <T>(token: Token<T>): T;
7
- }
8
- export interface Provider<T> {
9
- (resolve: Resolve): T;
10
- }
11
- export interface Container {
12
- set: <T = never>(token: Token<T>, provider: Provider<T>) => void;
13
- get: Resolve;
14
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/container/types.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- import type { SentryLib } from './types';
2
- import * as Sentry from '@sentry/browser';
3
- /**
4
- * Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
5
- * @param options Опции создания клиента.
6
- * @return Новый набор из клиента Sentry и функций из пакета Sentry.
7
- */
8
- export declare function createSentryLib(options: Sentry.BrowserOptions): SentryLib;
@@ -1,40 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.createSentryLib = void 0;
27
- const Sentry = __importStar(require("@sentry/browser"));
28
- /**
29
- * Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
30
- * @param options Опции создания клиента.
31
- * @return Новый набор из клиента Sentry и функций из пакета Sentry.
32
- */
33
- function createSentryLib(options) {
34
- return {
35
- client: new Sentry.BrowserClient(options),
36
- withScope: Sentry.withScope,
37
- };
38
- }
39
- exports.createSentryLib = createSentryLib;
40
- //# sourceMappingURL=browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/error-tracker/browser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAE1C;;;;GAIG;AACH,SAAgB,eAAe,CAAC,OAA8B;IAC5D,OAAO;QACL,MAAM,EAAE,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC;QACzC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AALD,0CAKC"}
@@ -1,8 +0,0 @@
1
- import type { SentryLib } from './types';
2
- import * as Sentry from '@sentry/node';
3
- /**
4
- * Возвращает новый набор из клиента Sentry и функций из пакета Sentry.
5
- * @param options Опции создания клиента.
6
- * @return Новый набор из клиента Sentry и функций из пакета Sentry.
7
- */
8
- export declare function createSentryLib(options: Sentry.NodeOptions): SentryLib;