@sima-land/isomorph 11.0.0-alpha.50 → 11.0.0-alpha.52

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 (129) hide show
  1. package/dist/cjs/di/application.js +1 -1
  2. package/dist/cjs/di/application.js.map +1 -1
  3. package/dist/cjs/di/container.js +1 -1
  4. package/dist/cjs/di/container.js.map +1 -1
  5. package/dist/cjs/di/preset.js +1 -1
  6. package/dist/cjs/di/preset.js.map +1 -1
  7. package/dist/cjs/http/utils.js +16 -4
  8. package/dist/cjs/http/utils.js.map +1 -1
  9. package/dist/cjs/log/handler/sentry.js +18 -22
  10. package/dist/cjs/log/handler/sentry.js.map +1 -1
  11. package/dist/cjs/log/index.js +14 -0
  12. package/dist/cjs/log/index.js.map +1 -1
  13. package/dist/cjs/log/logger.js +1 -1
  14. package/dist/cjs/log/logger.js.map +1 -1
  15. package/dist/cjs/package.json +16 -16
  16. package/dist/cjs/preset/bun/providers/config-source.js +1 -1
  17. package/dist/cjs/preset/bun/providers/config-source.js.map +1 -1
  18. package/dist/cjs/preset/bun/providers/log-handler-sentry.js +5 -3
  19. package/dist/cjs/preset/bun/providers/log-handler-sentry.js.map +1 -1
  20. package/dist/cjs/preset/bun/providers/logger.js +1 -1
  21. package/dist/cjs/preset/bun/providers/logger.js.map +1 -1
  22. package/dist/cjs/preset/bun/providers/serve-metrics.js +1 -1
  23. package/dist/cjs/preset/bun/providers/serve-metrics.js.map +1 -1
  24. package/dist/cjs/preset/bun/providers/serve-middleware.js +2 -2
  25. package/dist/cjs/preset/bun/providers/serve-middleware.js.map +1 -1
  26. package/dist/cjs/preset/bun/providers/service-routes.js +1 -1
  27. package/dist/cjs/preset/bun/providers/service-routes.js.map +1 -1
  28. package/dist/cjs/preset/bun-handler/index.js +0 -2
  29. package/dist/cjs/preset/bun-handler/index.js.map +1 -1
  30. package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js +1 -1
  31. package/dist/cjs/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
  32. package/dist/cjs/preset/bun-handler/providers/handler-main.js +1 -1
  33. package/dist/cjs/preset/bun-handler/providers/handler-main.js.map +1 -1
  34. package/dist/cjs/preset/bun-handler/providers/specific-params.js +1 -1
  35. package/dist/cjs/preset/bun-handler/providers/specific-params.js.map +1 -1
  36. package/dist/cjs/preset/node/providers/express-error-middleware.js +1 -1
  37. package/dist/cjs/preset/node/providers/express-error-middleware.js.map +1 -1
  38. package/dist/cjs/preset/node/providers/express-request-middleware.js +6 -1
  39. package/dist/cjs/preset/node/providers/express-request-middleware.js.map +1 -1
  40. package/dist/cjs/preset/node/providers/log-handler-sentry.js +11 -7
  41. package/dist/cjs/preset/node/providers/log-handler-sentry.js.map +1 -1
  42. package/dist/cjs/preset/node/providers/main-express-app.js +1 -3
  43. package/dist/cjs/preset/node/providers/main-express-app.js.map +1 -1
  44. package/dist/cjs/preset/server/providers/fetch-middleware.js +1 -1
  45. package/dist/cjs/preset/server/providers/fetch-middleware.js.map +1 -1
  46. package/dist/cjs/preset/server/providers/serve.js +1 -1
  47. package/dist/cjs/preset/server/providers/serve.js.map +1 -1
  48. package/dist/cjs/preset/web/providers/logger.js +9 -6
  49. package/dist/cjs/preset/web/providers/logger.js.map +1 -1
  50. package/dist/cjs/utils/redux/remote-data.js +1 -1
  51. package/dist/cjs/utils/redux/remote-data.js.map +1 -1
  52. package/dist/cjs/utils/redux-saga/middleware.js +1 -1
  53. package/dist/cjs/utils/redux-saga/middleware.js.map +1 -1
  54. package/dist/cjs/utils/web/storage/index.js +1 -1
  55. package/dist/cjs/utils/web/storage/index.js.map +1 -1
  56. package/dist/cjs/utils/webpack/index.js +6 -0
  57. package/dist/cjs/utils/webpack/index.js.map +1 -1
  58. package/dist/esm/di/application.js +1 -1
  59. package/dist/esm/di/application.js.map +1 -1
  60. package/dist/esm/di/container.js +1 -1
  61. package/dist/esm/di/container.js.map +1 -1
  62. package/dist/esm/di/preset.js +1 -1
  63. package/dist/esm/di/preset.js.map +1 -1
  64. package/dist/esm/http/utils.js +16 -4
  65. package/dist/esm/http/utils.js.map +1 -1
  66. package/dist/esm/log/handler/sentry.js +18 -22
  67. package/dist/esm/log/handler/sentry.js.map +1 -1
  68. package/dist/esm/log/index.js +2 -0
  69. package/dist/esm/log/index.js.map +1 -1
  70. package/dist/esm/log/logger.js +1 -1
  71. package/dist/esm/log/logger.js.map +1 -1
  72. package/dist/esm/package.json +16 -16
  73. package/dist/esm/preset/bun/providers/config-source.js +1 -1
  74. package/dist/esm/preset/bun/providers/config-source.js.map +1 -1
  75. package/dist/esm/preset/bun/providers/log-handler-sentry.js +6 -4
  76. package/dist/esm/preset/bun/providers/log-handler-sentry.js.map +1 -1
  77. package/dist/esm/preset/bun/providers/logger.js +1 -1
  78. package/dist/esm/preset/bun/providers/logger.js.map +1 -1
  79. package/dist/esm/preset/bun/providers/serve-metrics.js +1 -1
  80. package/dist/esm/preset/bun/providers/serve-metrics.js.map +1 -1
  81. package/dist/esm/preset/bun/providers/serve-middleware.js +3 -3
  82. package/dist/esm/preset/bun/providers/serve-middleware.js.map +1 -1
  83. package/dist/esm/preset/bun/providers/service-routes.js +1 -1
  84. package/dist/esm/preset/bun/providers/service-routes.js.map +1 -1
  85. package/dist/esm/preset/bun-handler/index.js +0 -1
  86. package/dist/esm/preset/bun-handler/index.js.map +1 -1
  87. package/dist/esm/preset/bun-handler/providers/fetch-middleware.js +1 -1
  88. package/dist/esm/preset/bun-handler/providers/fetch-middleware.js.map +1 -1
  89. package/dist/esm/preset/bun-handler/providers/handler-main.js +1 -1
  90. package/dist/esm/preset/bun-handler/providers/handler-main.js.map +1 -1
  91. package/dist/esm/preset/bun-handler/providers/specific-params.js +1 -1
  92. package/dist/esm/preset/bun-handler/providers/specific-params.js.map +1 -1
  93. package/dist/esm/preset/node/providers/express-error-middleware.js +2 -3
  94. package/dist/esm/preset/node/providers/express-error-middleware.js.map +1 -1
  95. package/dist/esm/preset/node/providers/express-request-middleware.js +7 -3
  96. package/dist/esm/preset/node/providers/express-request-middleware.js.map +1 -1
  97. package/dist/esm/preset/node/providers/log-handler-sentry.js +11 -5
  98. package/dist/esm/preset/node/providers/log-handler-sentry.js.map +1 -1
  99. package/dist/esm/preset/node/providers/main-express-app.js +1 -3
  100. package/dist/esm/preset/node/providers/main-express-app.js.map +1 -1
  101. package/dist/esm/preset/server/providers/fetch-middleware.js +1 -1
  102. package/dist/esm/preset/server/providers/fetch-middleware.js.map +1 -1
  103. package/dist/esm/preset/server/providers/serve.js +1 -1
  104. package/dist/esm/preset/server/providers/serve.js.map +1 -1
  105. package/dist/esm/preset/web/providers/logger.js +10 -7
  106. package/dist/esm/preset/web/providers/logger.js.map +1 -1
  107. package/dist/esm/utils/redux/remote-data.js +1 -1
  108. package/dist/esm/utils/redux/remote-data.js.map +1 -1
  109. package/dist/esm/utils/redux-saga/middleware.js +1 -1
  110. package/dist/esm/utils/redux-saga/middleware.js.map +1 -1
  111. package/dist/esm/utils/web/storage/index.js +1 -1
  112. package/dist/esm/utils/web/storage/index.js.map +1 -1
  113. package/dist/esm/utils/webpack/index.js +2 -3
  114. package/dist/esm/utils/webpack/index.js.map +1 -1
  115. package/dist/types/http/utils.d.ts.map +1 -1
  116. package/dist/types/log/handler/sentry.d.ts +3 -3
  117. package/dist/types/log/handler/sentry.d.ts.map +1 -1
  118. package/dist/types/log/index.d.ts +2 -0
  119. package/dist/types/log/index.d.ts.map +1 -1
  120. package/dist/types/preset/bun/providers/log-handler-sentry.d.ts.map +1 -1
  121. package/dist/types/preset/bun-handler/index.d.ts.map +1 -1
  122. package/dist/types/preset/node/providers/express-error-middleware.d.ts.map +1 -1
  123. package/dist/types/preset/node/providers/express-request-middleware.d.ts.map +1 -1
  124. package/dist/types/preset/node/providers/log-handler-sentry.d.ts.map +1 -1
  125. package/dist/types/preset/node/providers/main-express-app.d.ts.map +1 -1
  126. package/dist/types/preset/web/providers/logger.d.ts.map +1 -1
  127. package/dist/types/utils/webpack/index.d.ts +4 -6
  128. package/dist/types/utils/webpack/index.d.ts.map +1 -1
  129. package/package.json +21 -21
@@ -7,7 +7,7 @@ exports.CURRENT_APP = void 0;
7
7
  exports.createApplication = createApplication;
8
8
  var _errors = require("./errors");
9
9
  var _token = require("./token");
10
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
10
+ /* eslint-disable jsdoc/require-jsdoc */
11
11
 
12
12
  /**
13
13
  * Токен, с помощью которого можно достать из приложения само приложение.
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","names":["_errors","require","_token","CURRENT_APP","exports","createToken","ApplicationImplementation","constructor","providers","Map","components","presets","initialized","toString","bind","token","has","_key","AlreadyBoundError","toValue","value","set","toProvider","provider","get","resolve","chain","preset","apply","nextChain","includes","CircularDependencyError","component","otherToken","parent","NothingBoundError","attach","Error","push","invoke","tokens","fn","map","createApplication"],"sources":["../../../src/di/application.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport type { Application, Provider, Token, Binding, ExtractType, Preset } from './types';\nimport { AlreadyBoundError, CircularDependencyError, NothingBoundError } from './errors';\nimport { createToken } from './token';\n\n/**\n * Токен, с помощью которого можно достать из приложения само приложение.\n */\nexport const CURRENT_APP = createToken<Application>('application/self');\n\n/**\n * Реализация Application.\n */\nclass ApplicationImplementation implements Application {\n /** Родительское приложение. */\n private parent?: ApplicationImplementation;\n\n /** Зарегистрированные пресеты. */\n private presets: Preset[];\n\n /** Зарегистрированные провайдеры. */\n private providers: Map<symbol, Provider<unknown>>;\n\n /** Инициализированные компоненты (синглтоны). */\n private components: Map<symbol, unknown>;\n\n /** Инициализировано ли приложение. */\n private initialized: boolean;\n\n constructor() {\n this.providers = new Map();\n this.components = new Map();\n this.presets = [];\n this.initialized = false;\n }\n\n toString() {\n return 'Application';\n }\n\n bind<T>(token: Token<T>): Binding<T> {\n if (this.providers.has(token._key)) {\n throw new AlreadyBoundError(token, this.toString());\n }\n\n return {\n toValue: value => {\n this.providers.set(token._key, () => value);\n },\n toProvider: provider => {\n this.providers.set(token._key, provider);\n },\n };\n }\n\n get<T>(token: Token<T>): T {\n return this.resolve(token, []);\n }\n\n protected resolve<T>(token: Token<T>, chain: Token<any>[]): T {\n if (!this.initialized) {\n this.bind(CURRENT_APP).toValue(this);\n\n for (const preset of this.presets) {\n preset.apply(this);\n }\n\n this.initialized = true;\n }\n\n const nextChain = () => [...chain, token];\n\n if (chain.includes(token)) {\n throw new CircularDependencyError(nextChain(), this.toString());\n }\n\n if (this.components.has(token._key)) {\n return this.components.get(token._key) as T;\n }\n\n if (this.providers.has(token._key)) {\n const provider = this.providers.get(token._key) as Provider<T>;\n\n const component = provider(otherToken => this.resolve(otherToken, nextChain()));\n\n // ВАЖНО: всегда как singleton\n this.components.set(token._key, component);\n\n return component as T;\n }\n\n if (this.parent) {\n // ВАЖНО: передаём именно chain а не nextChain()\n return this.parent.resolve(token, chain);\n }\n\n throw new NothingBoundError(token, this.toString());\n }\n\n attach(parent: ApplicationImplementation): void {\n if (this.parent) {\n throw new Error('Cannot reattach application');\n }\n\n this.parent = parent;\n }\n\n preset(preset: Preset): void {\n this.presets.push(preset);\n }\n\n invoke<Tokens extends readonly Token<any>[]>(\n tokens: [...Tokens],\n fn: (...args: ExtractType<Tokens>) => void,\n ): void {\n fn(...(tokens.map(token => this.get(token)) as any));\n }\n}\n\n/**\n * Возвращает новое DI-приложение.\n * @return DI-приложение.\n */\nexport function createApplication(): Application {\n return new ApplicationImplementation();\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"application.js","names":["_errors","require","_token","CURRENT_APP","exports","createToken","ApplicationImplementation","constructor","providers","Map","components","presets","initialized","toString","bind","token","has","_key","AlreadyBoundError","toValue","value","set","toProvider","provider","get","resolve","chain","preset","apply","nextChain","includes","CircularDependencyError","component","otherToken","parent","NothingBoundError","attach","Error","push","invoke","tokens","fn","map","createApplication"],"sources":["../../../src/di/application.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport type { Application, Provider, Token, Binding, ExtractType, Preset } from './types';\nimport { AlreadyBoundError, CircularDependencyError, NothingBoundError } from './errors';\nimport { createToken } from './token';\n\n/**\n * Токен, с помощью которого можно достать из приложения само приложение.\n */\nexport const CURRENT_APP = createToken<Application>('application/self');\n\n/**\n * Реализация Application.\n */\nclass ApplicationImplementation implements Application {\n /** Родительское приложение. */\n private parent?: ApplicationImplementation;\n\n /** Зарегистрированные пресеты. */\n private presets: Preset[];\n\n /** Зарегистрированные провайдеры. */\n private providers: Map<symbol, Provider<unknown>>;\n\n /** Инициализированные компоненты (синглтоны). */\n private components: Map<symbol, unknown>;\n\n /** Инициализировано ли приложение. */\n private initialized: boolean;\n\n constructor() {\n this.providers = new Map();\n this.components = new Map();\n this.presets = [];\n this.initialized = false;\n }\n\n toString() {\n return 'Application';\n }\n\n bind<T>(token: Token<T>): Binding<T> {\n if (this.providers.has(token._key)) {\n throw new AlreadyBoundError(token, this.toString());\n }\n\n return {\n toValue: value => {\n this.providers.set(token._key, () => value);\n },\n toProvider: provider => {\n this.providers.set(token._key, provider);\n },\n };\n }\n\n get<T>(token: Token<T>): T {\n return this.resolve(token, []);\n }\n\n protected resolve<T>(token: Token<T>, chain: Token<any>[]): T {\n if (!this.initialized) {\n this.bind(CURRENT_APP).toValue(this);\n\n for (const preset of this.presets) {\n preset.apply(this);\n }\n\n this.initialized = true;\n }\n\n const nextChain = () => [...chain, token];\n\n if (chain.includes(token)) {\n throw new CircularDependencyError(nextChain(), this.toString());\n }\n\n if (this.components.has(token._key)) {\n return this.components.get(token._key) as T;\n }\n\n if (this.providers.has(token._key)) {\n const provider = this.providers.get(token._key) as Provider<T>;\n\n const component = provider(otherToken => this.resolve(otherToken, nextChain()));\n\n // ВАЖНО: всегда как singleton\n this.components.set(token._key, component);\n\n return component as T;\n }\n\n if (this.parent) {\n // ВАЖНО: передаём именно chain а не nextChain()\n return this.parent.resolve(token, chain);\n }\n\n throw new NothingBoundError(token, this.toString());\n }\n\n attach(parent: ApplicationImplementation): void {\n if (this.parent) {\n throw new Error('Cannot reattach application');\n }\n\n this.parent = parent;\n }\n\n preset(preset: Preset): void {\n this.presets.push(preset);\n }\n\n invoke<Tokens extends readonly Token<any>[]>(\n tokens: [...Tokens],\n fn: (...args: ExtractType<Tokens>) => void,\n ): void {\n fn(...(tokens.map(token => this.get(token)) as any));\n }\n}\n\n/**\n * Возвращает новое DI-приложение.\n * @return DI-приложение.\n */\nexport function createApplication(): Application {\n return new ApplicationImplementation();\n}\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createContainer = createContainer;
7
7
  var _errors = require("./errors");
8
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
8
+ /* eslint-disable jsdoc/require-jsdoc */
9
9
 
10
10
  class ContainerImplementation {
11
11
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","names":["_errors","require","ContainerImplementation","constructor","cache","Map","registry","set","token","provider","has","_key","AlreadyBoundError","get","resolve","chain","includes","CircularDependencyError","push","Error","value","otherToken","NothingBoundError","createContainer"],"sources":["../../../src/di/container.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport type { Container, Provider, Token } from './types';\nimport { AlreadyBoundError, CircularDependencyError, NothingBoundError } from './errors';\n\nclass ContainerImplementation implements Container {\n cache: Map<symbol, any>;\n registry: Map<symbol, Provider<any>>;\n\n constructor() {\n this.cache = new Map<symbol, any>();\n this.registry = new Map<symbol, Provider<any>>();\n }\n\n set<T>(token: Token<T>, provider: Provider<T>): void {\n if (this.registry.has(token._key)) {\n throw new AlreadyBoundError(token);\n }\n\n this.registry.set(token._key, provider);\n }\n\n get<T>(token: Token<T>): T {\n return this.resolve(token, []);\n }\n\n private resolve<T>(token: Token<T>, chain: Token<any>[]): T {\n if (chain.includes(token)) {\n throw new CircularDependencyError([...chain, token]);\n } else {\n chain.push(token);\n }\n\n if (this.cache.has(token._key)) {\n return this.cache.get(token._key);\n } else if (this.registry.has(token._key)) {\n const provider = this.registry.get(token._key);\n\n if (typeof provider !== 'function') {\n throw new Error('Provider is not a function');\n }\n\n const value = provider(otherToken => this.resolve(otherToken, chain));\n\n // всегда как singleton\n this.cache.set(token._key, value);\n\n return value;\n } else {\n throw new NothingBoundError(token);\n }\n }\n}\n\n/**\n * Возвращает новый DI-контейнер.\n * @return DI-контейнер.\n */\nexport function createContainer(): Container {\n return new ContainerImplementation();\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AAFA;;AAIA,MAAMC,uBAAuB,CAAsB;EAIjDC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,KAAK,GAAG,IAAIC,GAAG,CAAc,CAAC;IACnC,IAAI,CAACC,QAAQ,GAAG,IAAID,GAAG,CAAwB,CAAC;EAClD;EAEAE,GAAGA,CAAIC,KAAe,EAAEC,QAAqB,EAAQ;IACnD,IAAI,IAAI,CAACH,QAAQ,CAACI,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MACjC,MAAM,IAAIC,yBAAiB,CAACJ,KAAK,CAAC;IACpC;IAEA,IAAI,CAACF,QAAQ,CAACC,GAAG,CAACC,KAAK,CAACG,IAAI,EAAEF,QAAQ,CAAC;EACzC;EAEAI,GAAGA,CAAIL,KAAe,EAAK;IACzB,OAAO,IAAI,CAACM,OAAO,CAACN,KAAK,EAAE,EAAE,CAAC;EAChC;EAEQM,OAAOA,CAAIN,KAAe,EAAEO,KAAmB,EAAK;IAC1D,IAAIA,KAAK,CAACC,QAAQ,CAACR,KAAK,CAAC,EAAE;MACzB,MAAM,IAAIS,+BAAuB,CAAC,CAAC,GAAGF,KAAK,EAAEP,KAAK,CAAC,CAAC;IACtD,CAAC,MAAM;MACLO,KAAK,CAACG,IAAI,CAACV,KAAK,CAAC;IACnB;IAEA,IAAI,IAAI,CAACJ,KAAK,CAACM,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MAC9B,OAAO,IAAI,CAACP,KAAK,CAACS,GAAG,CAACL,KAAK,CAACG,IAAI,CAAC;IACnC,CAAC,MAAM,IAAI,IAAI,CAACL,QAAQ,CAACI,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MACxC,MAAMF,QAAQ,GAAG,IAAI,CAACH,QAAQ,CAACO,GAAG,CAACL,KAAK,CAACG,IAAI,CAAC;MAE9C,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE;QAClC,MAAM,IAAIU,KAAK,CAAC,4BAA4B,CAAC;MAC/C;MAEA,MAAMC,KAAK,GAAGX,QAAQ,CAACY,UAAU,IAAI,IAAI,CAACP,OAAO,CAACO,UAAU,EAAEN,KAAK,CAAC,CAAC;;MAErE;MACA,IAAI,CAACX,KAAK,CAACG,GAAG,CAACC,KAAK,CAACG,IAAI,EAAES,KAAK,CAAC;MAEjC,OAAOA,KAAK;IACd,CAAC,MAAM;MACL,MAAM,IAAIE,yBAAiB,CAACd,KAAK,CAAC;IACpC;EACF;AACF;;AAEA;AACA;AACA;AACA;AACO,SAASe,eAAeA,CAAA,EAAc;EAC3C,OAAO,IAAIrB,uBAAuB,CAAC,CAAC;AACtC"}
1
+ {"version":3,"file":"container.js","names":["_errors","require","ContainerImplementation","constructor","cache","Map","registry","set","token","provider","has","_key","AlreadyBoundError","get","resolve","chain","includes","CircularDependencyError","push","Error","value","otherToken","NothingBoundError","createContainer"],"sources":["../../../src/di/container.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport type { Container, Provider, Token } from './types';\nimport { AlreadyBoundError, CircularDependencyError, NothingBoundError } from './errors';\n\nclass ContainerImplementation implements Container {\n cache: Map<symbol, any>;\n registry: Map<symbol, Provider<any>>;\n\n constructor() {\n this.cache = new Map<symbol, any>();\n this.registry = new Map<symbol, Provider<any>>();\n }\n\n set<T>(token: Token<T>, provider: Provider<T>): void {\n if (this.registry.has(token._key)) {\n throw new AlreadyBoundError(token);\n }\n\n this.registry.set(token._key, provider);\n }\n\n get<T>(token: Token<T>): T {\n return this.resolve(token, []);\n }\n\n private resolve<T>(token: Token<T>, chain: Token<any>[]): T {\n if (chain.includes(token)) {\n throw new CircularDependencyError([...chain, token]);\n } else {\n chain.push(token);\n }\n\n if (this.cache.has(token._key)) {\n return this.cache.get(token._key);\n } else if (this.registry.has(token._key)) {\n const provider = this.registry.get(token._key);\n\n if (typeof provider !== 'function') {\n throw new Error('Provider is not a function');\n }\n\n const value = provider(otherToken => this.resolve(otherToken, chain));\n\n // всегда как singleton\n this.cache.set(token._key, value);\n\n return value;\n } else {\n throw new NothingBoundError(token);\n }\n }\n}\n\n/**\n * Возвращает новый DI-контейнер.\n * @return DI-контейнер.\n */\nexport function createContainer(): Container {\n return new ContainerImplementation();\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AAFA;;AAIA,MAAMC,uBAAuB,CAAsB;EAIjDC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,KAAK,GAAG,IAAIC,GAAG,CAAc,CAAC;IACnC,IAAI,CAACC,QAAQ,GAAG,IAAID,GAAG,CAAwB,CAAC;EAClD;EAEAE,GAAGA,CAAIC,KAAe,EAAEC,QAAqB,EAAQ;IACnD,IAAI,IAAI,CAACH,QAAQ,CAACI,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MACjC,MAAM,IAAIC,yBAAiB,CAACJ,KAAK,CAAC;IACpC;IAEA,IAAI,CAACF,QAAQ,CAACC,GAAG,CAACC,KAAK,CAACG,IAAI,EAAEF,QAAQ,CAAC;EACzC;EAEAI,GAAGA,CAAIL,KAAe,EAAK;IACzB,OAAO,IAAI,CAACM,OAAO,CAACN,KAAK,EAAE,EAAE,CAAC;EAChC;EAEQM,OAAOA,CAAIN,KAAe,EAAEO,KAAmB,EAAK;IAC1D,IAAIA,KAAK,CAACC,QAAQ,CAACR,KAAK,CAAC,EAAE;MACzB,MAAM,IAAIS,+BAAuB,CAAC,CAAC,GAAGF,KAAK,EAAEP,KAAK,CAAC,CAAC;IACtD,CAAC,MAAM;MACLO,KAAK,CAACG,IAAI,CAACV,KAAK,CAAC;IACnB;IAEA,IAAI,IAAI,CAACJ,KAAK,CAACM,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MAC9B,OAAO,IAAI,CAACP,KAAK,CAACS,GAAG,CAACL,KAAK,CAACG,IAAI,CAAC;IACnC,CAAC,MAAM,IAAI,IAAI,CAACL,QAAQ,CAACI,GAAG,CAACF,KAAK,CAACG,IAAI,CAAC,EAAE;MACxC,MAAMF,QAAQ,GAAG,IAAI,CAACH,QAAQ,CAACO,GAAG,CAACL,KAAK,CAACG,IAAI,CAAC;MAE9C,IAAI,OAAOF,QAAQ,KAAK,UAAU,EAAE;QAClC,MAAM,IAAIU,KAAK,CAAC,4BAA4B,CAAC;MAC/C;MAEA,MAAMC,KAAK,GAAGX,QAAQ,CAACY,UAAU,IAAI,IAAI,CAACP,OAAO,CAACO,UAAU,EAAEN,KAAK,CAAC,CAAC;;MAErE;MACA,IAAI,CAACX,KAAK,CAACG,GAAG,CAACC,KAAK,CAACG,IAAI,EAAES,KAAK,CAAC;MAEjC,OAAOA,KAAK;IACd,CAAC,MAAM;MACL,MAAM,IAAIE,yBAAiB,CAACd,KAAK,CAAC;IACpC;EACF;AACF;;AAEA;AACA;AACA;AACA;AACO,SAASe,eAAeA,CAAA,EAAc;EAC3C,OAAO,IAAIrB,uBAAuB,CAAC,CAAC;AACtC"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.createPreset = createPreset;
7
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
7
+ /* eslint-disable jsdoc/require-jsdoc */
8
8
 
9
9
  class PresetImplementation {
10
10
  constructor(defaults) {
@@ -1 +1 @@
1
- {"version":3,"file":"preset.js","names":["PresetImplementation","constructor","defaults","registry","Map","set","token","provider","apply","app","bind","toProvider","createPreset"],"sources":["../../../src/di/preset.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport type { Application, Provider, Token, Preset } from './types';\n\ntype PresetEntry<T = any> = [Token<T>, Provider<T>];\n\nclass PresetImplementation implements Preset {\n private registry: Map<Token<any>, Provider<any>>;\n\n constructor(defaults?: Iterable<PresetEntry>) {\n this.registry = new Map<Token<any>, Provider<any>>(defaults);\n }\n\n set<T>(token: Token<T>, provider: Provider<T>): this {\n this.registry.set(token, provider);\n return this;\n }\n\n apply(app: Application): void {\n for (const [token, provider] of this.registry) {\n app.bind(token).toProvider(provider);\n }\n }\n}\n\n/**\n * Возвращает новый \"preset\" для DI-приложения - набор предустановленных компонентов которые можно переопределять.\n * @param defaults Предустановленные зависимости.\n * @return Preset.\n */\nexport function createPreset(defaults?: PresetEntry[]): Preset {\n return new PresetImplementation(defaults);\n}\n"],"mappings":";;;;;;AAAA;;AAKA,MAAMA,oBAAoB,CAAmB;EAG3CC,WAAWA,CAACC,QAAgC,EAAE;IAC5C,IAAI,CAACC,QAAQ,GAAG,IAAIC,GAAG,CAA4BF,QAAQ,CAAC;EAC9D;EAEAG,GAAGA,CAAIC,KAAe,EAAEC,QAAqB,EAAQ;IACnD,IAAI,CAACJ,QAAQ,CAACE,GAAG,CAACC,KAAK,EAAEC,QAAQ,CAAC;IAClC,OAAO,IAAI;EACb;EAEAC,KAAKA,CAACC,GAAgB,EAAQ;IAC5B,KAAK,MAAM,CAACH,KAAK,EAAEC,QAAQ,CAAC,IAAI,IAAI,CAACJ,QAAQ,EAAE;MAC7CM,GAAG,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,UAAU,CAACJ,QAAQ,CAAC;IACtC;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASK,YAAYA,CAACV,QAAwB,EAAU;EAC7D,OAAO,IAAIF,oBAAoB,CAACE,QAAQ,CAAC;AAC3C"}
1
+ {"version":3,"file":"preset.js","names":["PresetImplementation","constructor","defaults","registry","Map","set","token","provider","apply","app","bind","toProvider","createPreset"],"sources":["../../../src/di/preset.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport type { Application, Provider, Token, Preset } from './types';\n\ntype PresetEntry<T = any> = [Token<T>, Provider<T>];\n\nclass PresetImplementation implements Preset {\n private registry: Map<Token<any>, Provider<any>>;\n\n constructor(defaults?: Iterable<PresetEntry>) {\n this.registry = new Map<Token<any>, Provider<any>>(defaults);\n }\n\n set<T>(token: Token<T>, provider: Provider<T>): this {\n this.registry.set(token, provider);\n return this;\n }\n\n apply(app: Application): void {\n for (const [token, provider] of this.registry) {\n app.bind(token).toProvider(provider);\n }\n }\n}\n\n/**\n * Возвращает новый \"preset\" для DI-приложения - набор предустановленных компонентов которые можно переопределять.\n * @param defaults Предустановленные зависимости.\n * @return Preset.\n */\nexport function createPreset(defaults?: PresetEntry[]): Preset {\n return new PresetImplementation(defaults);\n}\n"],"mappings":";;;;;;AAAA;;AAKA,MAAMA,oBAAoB,CAAmB;EAG3CC,WAAWA,CAACC,QAAgC,EAAE;IAC5C,IAAI,CAACC,QAAQ,GAAG,IAAIC,GAAG,CAA4BF,QAAQ,CAAC;EAC9D;EAEAG,GAAGA,CAAIC,KAAe,EAAEC,QAAqB,EAAQ;IACnD,IAAI,CAACJ,QAAQ,CAACE,GAAG,CAACC,KAAK,EAAEC,QAAQ,CAAC;IAClC,OAAO,IAAI;EACb;EAEAC,KAAKA,CAACC,GAAgB,EAAQ;IAC5B,KAAK,MAAM,CAACH,KAAK,EAAEC,QAAQ,CAAC,IAAI,IAAI,CAACJ,QAAQ,EAAE;MAC7CM,GAAG,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,UAAU,CAACJ,QAAQ,CAAC;IACtC;EACF;AACF;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASK,YAAYA,CAACV,QAAwB,EAAU;EAC7D,OAAO,IAAIF,oBAAoB,CAACE,QAAQ,CAAC;AAC3C"}
@@ -57,11 +57,21 @@ const FetchUtil = exports.FetchUtil = {
57
57
  eitherResponse({
58
58
  parseBody = response => response.json()
59
59
  } = {}) {
60
- return [async response => {
60
+ /** @inheritdoc */
61
+ const parse = async response => {
62
+ try {
63
+ return await parseBody(response);
64
+ } catch {
65
+ return null;
66
+ }
67
+ };
68
+ return [
69
+ // then
70
+ async response => {
61
71
  if (!response.ok) {
62
72
  return {
63
73
  ok: false,
64
- data: await parseBody(response).catch(() => null),
74
+ data: await parse(response),
65
75
  error: new Error(`Request failed with status code ${response.status}`),
66
76
  status: response.status,
67
77
  statusText: response.statusText,
@@ -70,13 +80,15 @@ const FetchUtil = exports.FetchUtil = {
70
80
  }
71
81
  return {
72
82
  ok: true,
73
- data: await parseBody(response).catch(() => null),
83
+ data: await parse(response),
74
84
  error: null,
75
85
  status: response.status,
76
86
  statusText: response.statusText,
77
87
  headers: response.headers
78
88
  };
79
- }, async error => ({
89
+ },
90
+ // catch
91
+ async error => ({
80
92
  ok: false,
81
93
  error
82
94
  })];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["FetchUtil","exports","setParams","url","params","paramName","paramValue","Object","entries","searchParams","delete","undefined","set","String","withParams","resultUrl","URL","withoutParams","search","eitherResponse","parseBody","response","json","ok","data","catch","error","Error","status","statusText","headers"],"sources":["../../../src/http/utils.ts"],"sourcesContent":["import type { URLSearchParamsInit, ResponseDone, ResponseFail } from './types';\n\n/**\n * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.\n */\nexport const FetchUtil = {\n /**\n * Получив параметры применит их к переданному URL.\n * @param url URL.\n * @param params Параметры.\n */\n setParams(url: URL, params: URLSearchParamsInit): void {\n for (const [paramName, paramValue] of Object.entries(params)) {\n if (paramValue === null) {\n url.searchParams.delete(paramName);\n continue;\n }\n\n if (paramValue !== undefined) {\n url.searchParams.set(paramName, String(paramValue));\n continue;\n }\n }\n },\n\n // @todo resetPrams?\n\n /**\n * Получив URL и параметры вернет новый URL с примененными параметрами.\n * @param url URL.\n * @param params Параметры.\n * @return URL.\n */\n withParams(url: string | URL, params: URLSearchParamsInit): URL {\n const resultUrl = new URL(url);\n\n FetchUtil.setParams(resultUrl, params);\n\n return resultUrl;\n },\n\n /**\n * Получив URL вернет его копию но без параметров.\n * @param url URL.\n * @return URL.\n */\n withoutParams(url: string | URL): URL {\n const resultUrl = new URL(url);\n\n resultUrl.search = '';\n\n return resultUrl;\n },\n\n /**\n * Возвращает кортеж обработчиков для Promise из fetch.\n * Полученный Promise никогда не уйдет в состояние rejected.\n * @param options Опции.\n * @return Кортеж.\n */\n eitherResponse<T = unknown>({\n parseBody = response => response.json(),\n }: {\n /** Парсер body. */\n parseBody?: (response: Response) => Promise<T>;\n } = {}) {\n return [\n async (response: Response): Promise<ResponseDone<T> | ResponseFail<T>> => {\n if (!response.ok) {\n return {\n ok: false,\n data: (await parseBody(response).catch(() => null)) as T,\n error: new Error(`Request failed with status code ${response.status}`),\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n return {\n ok: true,\n data: (await parseBody(response).catch(() => null)) as T,\n error: null,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n },\n async (error: unknown): Promise<ResponseFail<T>> => ({\n ok: false,\n error,\n }),\n ] as const;\n },\n} as const;\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEE,SAASA,CAACC,GAAQ,EAAEC,MAA2B,EAAQ;IACrD,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;MAC5D,IAAIE,UAAU,KAAK,IAAI,EAAE;QACvBH,GAAG,CAACM,YAAY,CAACC,MAAM,CAACL,SAAS,CAAC;QAClC;MACF;MAEA,IAAIC,UAAU,KAAKK,SAAS,EAAE;QAC5BR,GAAG,CAACM,YAAY,CAACG,GAAG,CAACP,SAAS,EAAEQ,MAAM,CAACP,UAAU,CAAC,CAAC;QACnD;MACF;IACF;EACF,CAAC;EAED;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEQ,UAAUA,CAACX,GAAiB,EAAEC,MAA2B,EAAO;IAC9D,MAAMW,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BH,SAAS,CAACE,SAAS,CAACa,SAAS,EAAEX,MAAM,CAAC;IAEtC,OAAOW,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEE,aAAaA,CAACd,GAAiB,EAAO;IACpC,MAAMY,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BY,SAAS,CAACG,MAAM,GAAG,EAAE;IAErB,OAAOH,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEI,cAAcA,CAAc;IAC1BC,SAAS,GAAGC,QAAQ,IAAIA,QAAQ,CAACC,IAAI,CAAC;EAIxC,CAAC,GAAG,CAAC,CAAC,EAAE;IACN,OAAO,CACL,MAAOD,QAAkB,IAAiD;MACxE,IAAI,CAACA,QAAQ,CAACE,EAAE,EAAE;QAChB,OAAO;UACLA,EAAE,EAAE,KAAK;UACTC,IAAI,EAAG,MAAMJ,SAAS,CAACC,QAAQ,CAAC,CAACI,KAAK,CAAC,MAAM,IAAI,CAAO;UACxDC,KAAK,EAAE,IAAIC,KAAK,CAAE,mCAAkCN,QAAQ,CAACO,MAAO,EAAC,CAAC;UACtEA,MAAM,EAAEP,QAAQ,CAACO,MAAM;UACvBC,UAAU,EAAER,QAAQ,CAACQ,UAAU;UAC/BC,OAAO,EAAET,QAAQ,CAACS;QACpB,CAAC;MACH;MAEA,OAAO;QACLP,EAAE,EAAE,IAAI;QACRC,IAAI,EAAG,MAAMJ,SAAS,CAACC,QAAQ,CAAC,CAACI,KAAK,CAAC,MAAM,IAAI,CAAO;QACxDC,KAAK,EAAE,IAAI;QACXE,MAAM,EAAEP,QAAQ,CAACO,MAAM;QACvBC,UAAU,EAAER,QAAQ,CAACQ,UAAU;QAC/BC,OAAO,EAAET,QAAQ,CAACS;MACpB,CAAC;IACH,CAAC,EACD,MAAOJ,KAAc,KAAgC;MACnDH,EAAE,EAAE,KAAK;MACTG;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAU"}
1
+ {"version":3,"file":"utils.js","names":["FetchUtil","exports","setParams","url","params","paramName","paramValue","Object","entries","searchParams","delete","undefined","set","String","withParams","resultUrl","URL","withoutParams","search","eitherResponse","parseBody","response","json","parse","ok","data","error","Error","status","statusText","headers"],"sources":["../../../src/http/utils.ts"],"sourcesContent":["import type { URLSearchParamsInit, ResponseDone, ResponseFail } from './types';\n\n/**\n * Утилиты для работы с URL, URLSearchParams, Headers, Request, Response.\n */\nexport const FetchUtil = {\n /**\n * Получив параметры применит их к переданному URL.\n * @param url URL.\n * @param params Параметры.\n */\n setParams(url: URL, params: URLSearchParamsInit): void {\n for (const [paramName, paramValue] of Object.entries(params)) {\n if (paramValue === null) {\n url.searchParams.delete(paramName);\n continue;\n }\n\n if (paramValue !== undefined) {\n url.searchParams.set(paramName, String(paramValue));\n continue;\n }\n }\n },\n\n // @todo resetPrams?\n\n /**\n * Получив URL и параметры вернет новый URL с примененными параметрами.\n * @param url URL.\n * @param params Параметры.\n * @return URL.\n */\n withParams(url: string | URL, params: URLSearchParamsInit): URL {\n const resultUrl = new URL(url);\n\n FetchUtil.setParams(resultUrl, params);\n\n return resultUrl;\n },\n\n /**\n * Получив URL вернет его копию но без параметров.\n * @param url URL.\n * @return URL.\n */\n withoutParams(url: string | URL): URL {\n const resultUrl = new URL(url);\n\n resultUrl.search = '';\n\n return resultUrl;\n },\n\n /**\n * Возвращает кортеж обработчиков для Promise из fetch.\n * Полученный Promise никогда не уйдет в состояние rejected.\n * @param options Опции.\n * @return Кортеж.\n */\n eitherResponse<T = unknown>({\n parseBody = response => response.json(),\n }: {\n /** Парсер body. */\n parseBody?: (response: Response) => Promise<T>;\n } = {}) {\n /** @inheritdoc */\n const parse = async (response: Response): Promise<T | null> => {\n try {\n return await parseBody(response);\n } catch {\n return null;\n }\n };\n\n return [\n // then\n async (response: Response): Promise<ResponseDone<T> | ResponseFail<T>> => {\n if (!response.ok) {\n return {\n ok: false,\n data: (await parse(response)) as T,\n error: new Error(`Request failed with status code ${response.status}`),\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n }\n\n return {\n ok: true,\n data: (await parse(response)) as T,\n error: null,\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n };\n },\n\n // catch\n async (error: unknown): Promise<ResponseFail<T>> => ({\n ok: false,\n error,\n }),\n ] as const;\n },\n} as const;\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACO,MAAMA,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEE,SAASA,CAACC,GAAQ,EAAEC,MAA2B,EAAQ;IACrD,KAAK,MAAM,CAACC,SAAS,EAAEC,UAAU,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACJ,MAAM,CAAC,EAAE;MAC5D,IAAIE,UAAU,KAAK,IAAI,EAAE;QACvBH,GAAG,CAACM,YAAY,CAACC,MAAM,CAACL,SAAS,CAAC;QAClC;MACF;MAEA,IAAIC,UAAU,KAAKK,SAAS,EAAE;QAC5BR,GAAG,CAACM,YAAY,CAACG,GAAG,CAACP,SAAS,EAAEQ,MAAM,CAACP,UAAU,CAAC,CAAC;QACnD;MACF;IACF;EACF,CAAC;EAED;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEQ,UAAUA,CAACX,GAAiB,EAAEC,MAA2B,EAAO;IAC9D,MAAMW,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BH,SAAS,CAACE,SAAS,CAACa,SAAS,EAAEX,MAAM,CAAC;IAEtC,OAAOW,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEE,aAAaA,CAACd,GAAiB,EAAO;IACpC,MAAMY,SAAS,GAAG,IAAIC,GAAG,CAACb,GAAG,CAAC;IAE9BY,SAAS,CAACG,MAAM,GAAG,EAAE;IAErB,OAAOH,SAAS;EAClB,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEI,cAAcA,CAAc;IAC1BC,SAAS,GAAGC,QAAQ,IAAIA,QAAQ,CAACC,IAAI,CAAC;EAIxC,CAAC,GAAG,CAAC,CAAC,EAAE;IACN;IACA,MAAMC,KAAK,GAAG,MAAOF,QAAkB,IAAwB;MAC7D,IAAI;QACF,OAAO,MAAMD,SAAS,CAACC,QAAQ,CAAC;MAClC,CAAC,CAAC,MAAM;QACN,OAAO,IAAI;MACb;IACF,CAAC;IAED,OAAO;IACL;IACA,MAAOA,QAAkB,IAAiD;MACxE,IAAI,CAACA,QAAQ,CAACG,EAAE,EAAE;QAChB,OAAO;UACLA,EAAE,EAAE,KAAK;UACTC,IAAI,EAAG,MAAMF,KAAK,CAACF,QAAQ,CAAO;UAClCK,KAAK,EAAE,IAAIC,KAAK,CAAE,mCAAkCN,QAAQ,CAACO,MAAO,EAAC,CAAC;UACtEA,MAAM,EAAEP,QAAQ,CAACO,MAAM;UACvBC,UAAU,EAAER,QAAQ,CAACQ,UAAU;UAC/BC,OAAO,EAAET,QAAQ,CAACS;QACpB,CAAC;MACH;MAEA,OAAO;QACLN,EAAE,EAAE,IAAI;QACRC,IAAI,EAAG,MAAMF,KAAK,CAACF,QAAQ,CAAO;QAClCK,KAAK,EAAE,IAAI;QACXE,MAAM,EAAEP,QAAQ,CAACO,MAAM;QACvBC,UAAU,EAAER,QAAQ,CAACQ,UAAU;QAC/BC,OAAO,EAAET,QAAQ,CAACS;MACpB,CAAC;IACH,CAAC;IAED;IACA,MAAOJ,KAAc,KAAgC;MACnDF,EAAE,EAAE,KAAK;MACTE;IACF,CAAC,CAAC,CACH;EACH;AACF,CAAU"}
@@ -7,16 +7,16 @@ exports.createSentryHandler = createSentryHandler;
7
7
  var _log = require("../../log");
8
8
  /**
9
9
  * Возвращает новый handler для logger'а для отправки событий в Sentry.
10
- * @param hubInit Sentry Hub или функция которая его вернёт.
10
+ * @param scopeInit Sentry Hub или функция которая его вернёт.
11
11
  * @return Handler.
12
12
  */
13
- function createSentryHandler(hubInit) {
14
- const getHub = typeof hubInit === 'function' ? hubInit : () => hubInit;
13
+ function createSentryHandler(scopeInit) {
14
+ const getScope = typeof scopeInit === 'function' ? scopeInit : () => scopeInit;
15
15
  return event => {
16
- // ВАЖНО: каждый входящий http-запрос должен иметь свой собственный hub
16
+ // ВАЖНО: каждый входящий http-запрос должен иметь свой собственный hub (ныне scope)
17
17
  // подробности: https://github.com/getsentry/sentry-javascript/discussions/5648
18
18
  // поэтому если передана функция - вызываем каждый раз (внутри обработчика)
19
- const hub = getHub();
19
+ const scope = getScope();
20
20
 
21
21
  // error
22
22
  if (event.type === 'error') {
@@ -27,30 +27,26 @@ function createSentryHandler(hubInit) {
27
27
  context,
28
28
  extra
29
29
  } = error.data;
30
- hub.withScope(scope => {
31
- if (level) {
32
- scope.setLevel(level);
30
+ if (level) {
31
+ scope.setLevel(level);
32
+ }
33
+ if (context) {
34
+ const list = Array.isArray(context) ? context : [context];
35
+ for (const item of list) {
36
+ scope.setContext(item.key, item.data);
33
37
  }
34
- if (context) {
35
- const list = Array.isArray(context) ? context : [context];
36
- for (const item of list) {
37
- scope.setContext(item.key, item.data);
38
- }
39
- }
40
- if (extra) {
41
- scope.setExtra(extra.key, extra.data);
42
- }
43
- hub.captureException(error);
44
- });
45
- } else {
46
- hub.captureException(error);
38
+ }
39
+ if (extra) {
40
+ scope.setExtra(extra.key, extra.data);
41
+ }
47
42
  }
43
+ scope.captureException(error);
48
44
  }
49
45
 
50
46
  // breadcrumb
51
47
  if (event.data instanceof _log.Breadcrumb) {
52
48
  const breadcrumb = event.data.data;
53
- hub.addBreadcrumb(breadcrumb);
49
+ scope.addBreadcrumb(breadcrumb);
54
50
  }
55
51
  };
56
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sentry.js","names":["_log","require","createSentryHandler","hubInit","getHub","event","hub","type","error","data","DetailedError","level","context","extra","withScope","scope","setLevel","list","Array","isArray","item","setContext","key","setExtra","captureException","Breadcrumb","breadcrumb","addBreadcrumb"],"sources":["../../../../src/log/handler/sentry.ts"],"sourcesContent":["import type { LogHandler } from '../types';\nimport type { Hub } from '@sentry/types';\nimport { Breadcrumb, DetailedError } from '../../log';\n\n/**\n * Возвращает новый handler для logger'а для отправки событий в Sentry.\n * @param hubInit Sentry Hub или функция которая его вернёт.\n * @return Handler.\n */\nexport function createSentryHandler(hubInit: Hub | (() => Hub)): LogHandler {\n const getHub = typeof hubInit === 'function' ? hubInit : () => hubInit;\n\n return event => {\n // ВАЖНО: каждый входящий http-запрос должен иметь свой собственный hub\n // подробности: https://github.com/getsentry/sentry-javascript/discussions/5648\n // поэтому если передана функция - вызываем каждый раз (внутри обработчика)\n const hub = getHub();\n\n // error\n if (event.type === 'error') {\n const error = event.data;\n\n if (error instanceof DetailedError) {\n const { level, context, extra } = error.data;\n\n hub.withScope(scope => {\n if (level) {\n scope.setLevel(level);\n }\n\n if (context) {\n const list = Array.isArray(context) ? context : [context];\n\n for (const item of list) {\n scope.setContext(item.key, item.data);\n }\n }\n\n if (extra) {\n scope.setExtra(extra.key, extra.data);\n }\n\n hub.captureException(error);\n });\n } else {\n hub.captureException(error);\n }\n }\n\n // breadcrumb\n if (event.data instanceof Breadcrumb) {\n const breadcrumb = event.data.data;\n\n hub.addBreadcrumb(breadcrumb);\n }\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,IAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAACC,OAA0B,EAAc;EAC1E,MAAMC,MAAM,GAAG,OAAOD,OAAO,KAAK,UAAU,GAAGA,OAAO,GAAG,MAAMA,OAAO;EAEtE,OAAOE,KAAK,IAAI;IACd;IACA;IACA;IACA,MAAMC,GAAG,GAAGF,MAAM,CAAC,CAAC;;IAEpB;IACA,IAAIC,KAAK,CAACE,IAAI,KAAK,OAAO,EAAE;MAC1B,MAAMC,KAAK,GAAGH,KAAK,CAACI,IAAI;MAExB,IAAID,KAAK,YAAYE,kBAAa,EAAE;QAClC,MAAM;UAAEC,KAAK;UAAEC,OAAO;UAAEC;QAAM,CAAC,GAAGL,KAAK,CAACC,IAAI;QAE5CH,GAAG,CAACQ,SAAS,CAACC,KAAK,IAAI;UACrB,IAAIJ,KAAK,EAAE;YACTI,KAAK,CAACC,QAAQ,CAACL,KAAK,CAAC;UACvB;UAEA,IAAIC,OAAO,EAAE;YACX,MAAMK,IAAI,GAAGC,KAAK,CAACC,OAAO,CAACP,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;YAEzD,KAAK,MAAMQ,IAAI,IAAIH,IAAI,EAAE;cACvBF,KAAK,CAACM,UAAU,CAACD,IAAI,CAACE,GAAG,EAAEF,IAAI,CAACX,IAAI,CAAC;YACvC;UACF;UAEA,IAAII,KAAK,EAAE;YACTE,KAAK,CAACQ,QAAQ,CAACV,KAAK,CAACS,GAAG,EAAET,KAAK,CAACJ,IAAI,CAAC;UACvC;UAEAH,GAAG,CAACkB,gBAAgB,CAAChB,KAAK,CAAC;QAC7B,CAAC,CAAC;MACJ,CAAC,MAAM;QACLF,GAAG,CAACkB,gBAAgB,CAAChB,KAAK,CAAC;MAC7B;IACF;;IAEA;IACA,IAAIH,KAAK,CAACI,IAAI,YAAYgB,eAAU,EAAE;MACpC,MAAMC,UAAU,GAAGrB,KAAK,CAACI,IAAI,CAACA,IAAI;MAElCH,GAAG,CAACqB,aAAa,CAACD,UAAU,CAAC;IAC/B;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"sentry.js","names":["_log","require","createSentryHandler","scopeInit","getScope","event","scope","type","error","data","DetailedError","level","context","extra","setLevel","list","Array","isArray","item","setContext","key","setExtra","captureException","Breadcrumb","breadcrumb","addBreadcrumb"],"sources":["../../../../src/log/handler/sentry.ts"],"sourcesContent":["import type { LogHandler } from '../types';\nimport type { Scope } from '@sentry/types';\nimport { Breadcrumb, DetailedError } from '../../log';\n\n/**\n * Возвращает новый handler для logger'а для отправки событий в Sentry.\n * @param scopeInit Sentry Hub или функция которая его вернёт.\n * @return Handler.\n */\nexport function createSentryHandler(scopeInit: Scope | (() => Scope)): LogHandler {\n const getScope = typeof scopeInit === 'function' ? scopeInit : () => scopeInit;\n\n return event => {\n // ВАЖНО: каждый входящий http-запрос должен иметь свой собственный hub (ныне scope)\n // подробности: https://github.com/getsentry/sentry-javascript/discussions/5648\n // поэтому если передана функция - вызываем каждый раз (внутри обработчика)\n const scope = getScope();\n\n // error\n if (event.type === 'error') {\n const error = event.data;\n\n if (error instanceof DetailedError) {\n const { level, context, extra } = error.data;\n\n if (level) {\n scope.setLevel(level);\n }\n\n if (context) {\n const list = Array.isArray(context) ? context : [context];\n\n for (const item of list) {\n scope.setContext(item.key, item.data);\n }\n }\n\n if (extra) {\n scope.setExtra(extra.key, extra.data);\n }\n }\n\n scope.captureException(error);\n }\n\n // breadcrumb\n if (event.data instanceof Breadcrumb) {\n const breadcrumb = event.data.data;\n\n scope.addBreadcrumb(breadcrumb);\n }\n };\n}\n"],"mappings":";;;;;;AAEA,IAAAA,IAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAACC,SAAgC,EAAc;EAChF,MAAMC,QAAQ,GAAG,OAAOD,SAAS,KAAK,UAAU,GAAGA,SAAS,GAAG,MAAMA,SAAS;EAE9E,OAAOE,KAAK,IAAI;IACd;IACA;IACA;IACA,MAAMC,KAAK,GAAGF,QAAQ,CAAC,CAAC;;IAExB;IACA,IAAIC,KAAK,CAACE,IAAI,KAAK,OAAO,EAAE;MAC1B,MAAMC,KAAK,GAAGH,KAAK,CAACI,IAAI;MAExB,IAAID,KAAK,YAAYE,kBAAa,EAAE;QAClC,MAAM;UAAEC,KAAK;UAAEC,OAAO;UAAEC;QAAM,CAAC,GAAGL,KAAK,CAACC,IAAI;QAE5C,IAAIE,KAAK,EAAE;UACTL,KAAK,CAACQ,QAAQ,CAACH,KAAK,CAAC;QACvB;QAEA,IAAIC,OAAO,EAAE;UACX,MAAMG,IAAI,GAAGC,KAAK,CAACC,OAAO,CAACL,OAAO,CAAC,GAAGA,OAAO,GAAG,CAACA,OAAO,CAAC;UAEzD,KAAK,MAAMM,IAAI,IAAIH,IAAI,EAAE;YACvBT,KAAK,CAACa,UAAU,CAACD,IAAI,CAACE,GAAG,EAAEF,IAAI,CAACT,IAAI,CAAC;UACvC;QACF;QAEA,IAAII,KAAK,EAAE;UACTP,KAAK,CAACe,QAAQ,CAACR,KAAK,CAACO,GAAG,EAAEP,KAAK,CAACJ,IAAI,CAAC;QACvC;MACF;MAEAH,KAAK,CAACgB,gBAAgB,CAACd,KAAK,CAAC;IAC/B;;IAEA;IACA,IAAIH,KAAK,CAACI,IAAI,YAAYc,eAAU,EAAE;MACpC,MAAMC,UAAU,GAAGnB,KAAK,CAACI,IAAI,CAACA,IAAI;MAElCH,KAAK,CAACmB,aAAa,CAACD,UAAU,CAAC;IACjC;EACF,CAAC;AACH"}
@@ -21,6 +21,20 @@ Object.defineProperty(exports, "createLogger", {
21
21
  return _logger.createLogger;
22
22
  }
23
23
  });
24
+ Object.defineProperty(exports, "createPinoHandler", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _pino.createPinoHandler;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "createSentryHandler", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _sentry.createSentryHandler;
34
+ }
35
+ });
24
36
  var _logger = require("./logger");
25
37
  var _errors = require("./errors");
38
+ var _pino = require("./handler/pino");
39
+ var _sentry = require("./handler/sentry");
26
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_logger","require","_errors"],"sources":["../../../src/log/index.ts"],"sourcesContent":["export type {\n Logger,\n LogEvent,\n LogLevel,\n LogHandler,\n ErrorDetails,\n BreadcrumbDetails,\n ContextData,\n} from './types';\n\nexport { createLogger } from './logger';\nexport { DetailedError, Breadcrumb } from './errors';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_logger","require","_errors","_pino","_sentry"],"sources":["../../../src/log/index.ts"],"sourcesContent":["export type {\n Logger,\n LogEvent,\n LogLevel,\n LogHandler,\n ErrorDetails,\n BreadcrumbDetails,\n ContextData,\n} from './types';\n\nexport { createLogger } from './logger';\nexport { DetailedError, Breadcrumb } from './errors';\nexport { createPinoHandler } from './handler/pino';\nexport { createSentryHandler } from './handler/sentry';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA"}
@@ -11,7 +11,7 @@ exports.createLogger = createLogger;
11
11
  function createLogger() {
12
12
  const handlers = [];
13
13
 
14
- // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc
14
+ // eslint-disable-next-line jsdoc/require-jsdoc
15
15
  const createMethod = type => data => {
16
16
  const event = {
17
17
  type,
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["createLogger","handlers","createMethod","type","data","event","handler","log","info","warn","error","debug","subscribe","push"],"sources":["../../../src/log/logger.ts"],"sourcesContent":["import type { Logger, LogEvent, LogLevel, LogHandler } from './types';\n\n/**\n * Возвращает новый logger - объект для журналирования событий подобно console.\n * @return Logger.\n */\nexport function createLogger(): Logger {\n const handlers: LogHandler[] = [];\n\n // eslint-disable-next-line require-jsdoc, jsdoc/require-jsdoc\n const createMethod = (type: LogLevel) => (data: any) => {\n const event: LogEvent = { type, data };\n\n for (const handler of handlers) {\n handler(event);\n }\n };\n\n return {\n log: createMethod('log'),\n info: createMethod('info'),\n warn: createMethod('warn'),\n error: createMethod('error'),\n debug: createMethod('debug'),\n\n subscribe: handler => {\n handlers.push(handler);\n },\n };\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACO,SAASA,YAAYA,CAAA,EAAW;EACrC,MAAMC,QAAsB,GAAG,EAAE;;EAEjC;EACA,MAAMC,YAAY,GAAIC,IAAc,IAAMC,IAAS,IAAK;IACtD,MAAMC,KAAe,GAAG;MAAEF,IAAI;MAAEC;IAAK,CAAC;IAEtC,KAAK,MAAME,OAAO,IAAIL,QAAQ,EAAE;MAC9BK,OAAO,CAACD,KAAK,CAAC;IAChB;EACF,CAAC;EAED,OAAO;IACLE,GAAG,EAAEL,YAAY,CAAC,KAAK,CAAC;IACxBM,IAAI,EAAEN,YAAY,CAAC,MAAM,CAAC;IAC1BO,IAAI,EAAEP,YAAY,CAAC,MAAM,CAAC;IAC1BQ,KAAK,EAAER,YAAY,CAAC,OAAO,CAAC;IAC5BS,KAAK,EAAET,YAAY,CAAC,OAAO,CAAC;IAE5BU,SAAS,EAAEN,OAAO,IAAI;MACpBL,QAAQ,CAACY,IAAI,CAACP,OAAO,CAAC;IACxB;EACF,CAAC;AACH"}
1
+ {"version":3,"file":"logger.js","names":["createLogger","handlers","createMethod","type","data","event","handler","log","info","warn","error","debug","subscribe","push"],"sources":["../../../src/log/logger.ts"],"sourcesContent":["import type { Logger, LogEvent, LogLevel, LogHandler } from './types';\n\n/**\n * Возвращает новый logger - объект для журналирования событий подобно console.\n * @return Logger.\n */\nexport function createLogger(): Logger {\n const handlers: LogHandler[] = [];\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n const createMethod = (type: LogLevel) => (data: any) => {\n const event: LogEvent = { type, data };\n\n for (const handler of handlers) {\n handler(event);\n }\n };\n\n return {\n log: createMethod('log'),\n info: createMethod('info'),\n warn: createMethod('warn'),\n error: createMethod('error'),\n debug: createMethod('debug'),\n\n subscribe: handler => {\n handlers.push(handler);\n },\n };\n}\n"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACO,SAASA,YAAYA,CAAA,EAAW;EACrC,MAAMC,QAAsB,GAAG,EAAE;;EAEjC;EACA,MAAMC,YAAY,GAAIC,IAAc,IAAMC,IAAS,IAAK;IACtD,MAAMC,KAAe,GAAG;MAAEF,IAAI;MAAEC;IAAK,CAAC;IAEtC,KAAK,MAAME,OAAO,IAAIL,QAAQ,EAAE;MAC9BK,OAAO,CAACD,KAAK,CAAC;IAChB;EACF,CAAC;EAED,OAAO;IACLE,GAAG,EAAEL,YAAY,CAAC,KAAK,CAAC;IACxBM,IAAI,EAAEN,YAAY,CAAC,MAAM,CAAC;IAC1BO,IAAI,EAAEP,YAAY,CAAC,MAAM,CAAC;IAC1BQ,KAAK,EAAER,YAAY,CAAC,OAAO,CAAC;IAC5BS,KAAK,EAAET,YAAY,CAAC,OAAO,CAAC;IAE5BU,SAAS,EAAEN,OAAO,IAAI;MACpBL,QAAQ,CAACY,IAAI,CAACP,OAAO,CAAC;IACxB;EACF,CAAC;AACH"}
@@ -1,28 +1,28 @@
1
1
  {
2
2
  "type": "commonjs",
3
3
  "name": "@sima-land/isomorph",
4
- "version": "11.0.0-alpha.50",
4
+ "version": "11.0.0-alpha.52",
5
5
  "dependencies": {
6
6
  "@humanwhocodes/env": "^3.0.5",
7
7
  "@krutoo/fetch-tools": "^0.0.16",
8
- "@opentelemetry/api": "^1.4.1",
9
- "@opentelemetry/exporter-prometheus": "^0.38.0",
10
- "@opentelemetry/exporter-trace-otlp-http": "^0.39.1",
11
- "@opentelemetry/propagator-jaeger": "^1.12.0",
12
- "@opentelemetry/resources": "^1.12.0",
13
- "@opentelemetry/sdk-metrics": "^1.12.0",
14
- "@opentelemetry/sdk-trace-base": "^1.12.0",
15
- "@opentelemetry/sdk-trace-node": "^1.12.0",
16
- "@opentelemetry/semantic-conventions": "^1.12.0",
17
- "@sentry/browser": "^7.81.0",
18
- "@sentry/bun": "^7.81.0",
19
- "@sentry/node": "^7.81.0",
8
+ "@opentelemetry/api": "^1.9.0",
9
+ "@opentelemetry/exporter-prometheus": "^0.52.1",
10
+ "@opentelemetry/exporter-trace-otlp-http": "^0.52.1",
11
+ "@opentelemetry/propagator-jaeger": "^1.25.1",
12
+ "@opentelemetry/resources": "^1.25.1",
13
+ "@opentelemetry/sdk-metrics": "^1.25.1",
14
+ "@opentelemetry/sdk-trace-base": "^1.25.1",
15
+ "@opentelemetry/sdk-trace-node": "^1.25.1",
16
+ "@opentelemetry/semantic-conventions": "^1.25.1",
17
+ "@sentry/browser": "^8.13.0",
18
+ "@sentry/bun": "^8.13.0",
19
+ "@sentry/node": "^8.13.0",
20
20
  "accepts": "^1.3.8",
21
21
  "dotenv": "^16.3.1",
22
- "express": "^4.18.2",
22
+ "express": "^4.21.0",
23
23
  "http-proxy-middleware": "^3.0.0",
24
24
  "jsesc": "^3.0.2",
25
- "middleware-axios": "^2.1.6",
25
+ "middleware-axios": "^3.0.0",
26
26
  "pino": "^8.14.1",
27
27
  "pino-pretty": "^9.1.1",
28
28
  "prom-client": "^14.2.0",
@@ -30,7 +30,7 @@
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@reduxjs/toolkit": "^1.9.5",
33
- "axios": "^1.6.7",
33
+ "axios": "^1.7.4",
34
34
  "react": "^17.0 || ^18.0",
35
35
  "react-dom": "^17.0 || ^18.0",
36
36
  "react-redux": "^8.0.5",
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.provideConfigSource = provideConfigSource;
7
7
  var _config = require("../../../config");
8
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
8
+ /* eslint-disable jsdoc/require-jsdoc */
9
9
 
10
10
  function provideConfigSource() {
11
11
  return (0, _config.createConfigSource)(Bun.env);
@@ -1 +1 @@
1
- {"version":3,"file":"config-source.js","names":["_config","require","provideConfigSource","createConfigSource","Bun","env"],"sources":["../../../../../src/preset/bun/providers/config-source.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { ConfigSource, createConfigSource } from '../../../config';\n\nexport function provideConfigSource(): ConfigSource {\n return createConfigSource(Bun.env);\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AADA;;AAGO,SAASC,mBAAmBA,CAAA,EAAiB;EAClD,OAAO,IAAAC,0BAAkB,EAACC,GAAG,CAACC,GAAG,CAAC;AACpC"}
1
+ {"version":3,"file":"config-source.js","names":["_config","require","provideConfigSource","createConfigSource","Bun","env"],"sources":["../../../../../src/preset/bun/providers/config-source.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { ConfigSource, createConfigSource } from '../../../config';\n\nexport function provideConfigSource(): ConfigSource {\n return createConfigSource(Bun.env);\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AADA;;AAGO,SAASC,mBAAmBA,CAAA,EAAiB;EAClD,OAAO,IAAAC,0BAAkB,EAACC,GAAG,CAACC,GAAG,CAAC;AACpC"}
@@ -7,18 +7,20 @@ exports.provideLogHandlerSentry = provideLogHandlerSentry;
7
7
  var _tokens = require("../../../tokens");
8
8
  var _bun = require("@sentry/bun");
9
9
  var _sentry = require("../../../log/handler/sentry");
10
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
10
+ /* eslint-disable jsdoc/require-jsdoc */
11
11
 
12
12
  function provideLogHandlerSentry(resolve) {
13
13
  const source = resolve(_tokens.KnownToken.Config.source);
14
14
  (0, _bun.init)({
15
15
  dsn: source.require('SENTRY_DSN'),
16
16
  release: source.require('SENTRY_RELEASE'),
17
- environment: source.require('SENTRY_ENVIRONMENT')
17
+ environment: source.require('SENTRY_ENVIRONMENT'),
18
+ tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),
19
+ integrations: [...(0, _bun.getDefaultIntegrations)({})]
18
20
  });
19
21
 
20
22
  // ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а
21
23
  // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам
22
- return (0, _sentry.createSentryHandler)(_bun.getCurrentHub);
24
+ return (0, _sentry.createSentryHandler)(_bun.getCurrentScope);
23
25
  }
24
26
  //# sourceMappingURL=log-handler-sentry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-handler-sentry.js","names":["_tokens","require","_bun","_sentry","provideLogHandlerSentry","resolve","source","KnownToken","Config","init","dsn","release","environment","createSentryHandler","getCurrentHub"],"sources":["../../../../../src/preset/bun/providers/log-handler-sentry.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { getCurrentHub, init } from '@sentry/bun';\nimport { createSentryHandler } from '../../../log/handler/sentry';\n\nexport function provideLogHandlerSentry(resolve: Resolve) {\n const source = resolve(KnownToken.Config.source);\n\n init({\n dsn: source.require('SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('SENTRY_ENVIRONMENT'),\n });\n\n // ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а\n // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам\n return createSentryHandler(getCurrentHub);\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAJA;;AAMO,SAASG,uBAAuBA,CAACC,OAAgB,EAAE;EACxD,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;EAEhD,IAAAG,SAAI,EAAC;IACHC,GAAG,EAAEJ,MAAM,CAACL,OAAO,CAAC,YAAY,CAAC;IACjCU,OAAO,EAAEL,MAAM,CAACL,OAAO,CAAC,gBAAgB,CAAC;IACzCW,WAAW,EAAEN,MAAM,CAACL,OAAO,CAAC,oBAAoB;EAClD,CAAC,CAAC;;EAEF;EACA;EACA,OAAO,IAAAY,2BAAmB,EAACC,kBAAa,CAAC;AAC3C"}
1
+ {"version":3,"file":"log-handler-sentry.js","names":["_tokens","require","_bun","_sentry","provideLogHandlerSentry","resolve","source","KnownToken","Config","init","dsn","release","environment","tracesSampleRate","Number","get","integrations","getDefaultIntegrations","createSentryHandler","getCurrentScope"],"sources":["../../../../../src/preset/bun/providers/log-handler-sentry.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { getCurrentScope, getDefaultIntegrations, init } from '@sentry/bun';\nimport { createSentryHandler } from '../../../log/handler/sentry';\n\nexport function provideLogHandlerSentry(resolve: Resolve) {\n const source = resolve(KnownToken.Config.source);\n\n init({\n dsn: source.require('SENTRY_DSN'),\n release: source.require('SENTRY_RELEASE'),\n environment: source.require('SENTRY_ENVIRONMENT'),\n tracesSampleRate: Number(source.get('SENTRY_TRACES_SAMPLE_RATE', 0)),\n integrations: [...getDefaultIntegrations({})],\n });\n\n // ВАЖНО: передаем функцию чтобы брать текущий hub в момент вызова метода logger'а\n // это нужно чтобы хлебные крошки в ошибках Sentry группировались по запросам\n return createSentryHandler(getCurrentScope);\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAJA;;AAMO,SAASG,uBAAuBA,CAACC,OAAgB,EAAE;EACxD,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACF,MAAM,CAAC;EAEhD,IAAAG,SAAI,EAAC;IACHC,GAAG,EAAEJ,MAAM,CAACL,OAAO,CAAC,YAAY,CAAC;IACjCU,OAAO,EAAEL,MAAM,CAACL,OAAO,CAAC,gBAAgB,CAAC;IACzCW,WAAW,EAAEN,MAAM,CAACL,OAAO,CAAC,oBAAoB,CAAC;IACjDY,gBAAgB,EAAEC,MAAM,CAACR,MAAM,CAACS,GAAG,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;IACpEC,YAAY,EAAE,CAAC,GAAG,IAAAC,2BAAsB,EAAC,CAAC,CAAC,CAAC;EAC9C,CAAC,CAAC;;EAEF;EACA;EACA,OAAO,IAAAC,2BAAmB,EAACC,oBAAe,CAAC;AAC7C"}
@@ -7,7 +7,7 @@ exports.provideLogger = provideLogger;
7
7
  var _log = require("../../../log");
8
8
  var _logHandlerPino = require("../../node/providers/log-handler-pino");
9
9
  var _logHandlerSentry = require("./log-handler-sentry");
10
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
10
+ /* eslint-disable jsdoc/require-jsdoc */
11
11
 
12
12
  function provideLogger(resolve) {
13
13
  const logger = (0, _log.createLogger)();
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["_log","require","_logHandlerPino","_logHandlerSentry","provideLogger","resolve","logger","createLogger","subscribe","provideLogHandlerPino","provideLogHandlerSentry"],"sources":["../../../../../src/preset/bun/providers/logger.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { provideLogHandlerPino } from '../../node/providers/log-handler-pino';\nimport { provideLogHandlerSentry } from './log-handler-sentry';\n\nexport function provideLogger(resolve: Resolve): Logger {\n const logger = createLogger();\n\n logger.subscribe(provideLogHandlerPino(resolve));\n logger.subscribe(provideLogHandlerSentry(resolve));\n\n return logger;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAJA;;AAMO,SAASG,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAG,IAAAC,iBAAY,EAAC,CAAC;EAE7BD,MAAM,CAACE,SAAS,CAAC,IAAAC,qCAAqB,EAACJ,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACE,SAAS,CAAC,IAAAE,yCAAuB,EAACL,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf"}
1
+ {"version":3,"file":"logger.js","names":["_log","require","_logHandlerPino","_logHandlerSentry","provideLogger","resolve","logger","createLogger","subscribe","provideLogHandlerPino","provideLogHandlerSentry"],"sources":["../../../../../src/preset/bun/providers/logger.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { Logger, createLogger } from '../../../log';\nimport { provideLogHandlerPino } from '../../node/providers/log-handler-pino';\nimport { provideLogHandlerSentry } from './log-handler-sentry';\n\nexport function provideLogger(resolve: Resolve): Logger {\n const logger = createLogger();\n\n logger.subscribe(provideLogHandlerPino(resolve));\n logger.subscribe(provideLogHandlerSentry(resolve));\n\n return logger;\n}\n"],"mappings":";;;;;;AAEA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AAJA;;AAMO,SAASG,aAAaA,CAACC,OAAgB,EAAU;EACtD,MAAMC,MAAM,GAAG,IAAAC,iBAAY,EAAC,CAAC;EAE7BD,MAAM,CAACE,SAAS,CAAC,IAAAC,qCAAqB,EAACJ,OAAO,CAAC,CAAC;EAChDC,MAAM,CAACE,SAAS,CAAC,IAAAE,yCAAuB,EAACL,OAAO,CAAC,CAAC;EAElD,OAAOC,MAAM;AACf"}
@@ -7,7 +7,7 @@ exports.provideServeMetrics = provideServeMetrics;
7
7
  var _fetchTools = require("@krutoo/fetch-tools");
8
8
  var _promClient = _interopRequireDefault(require("prom-client"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
10
+ /* eslint-disable jsdoc/require-jsdoc */
11
11
 
12
12
  function provideServeMetrics() {
13
13
  // @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)
@@ -1 +1 @@
1
- {"version":3,"file":"serve-metrics.js","names":["_fetchTools","require","_promClient","_interopRequireDefault","obj","__esModule","default","provideServeMetrics","router","route","get","metrics","PromClient","register","headers","Headers","set","contentType","Response"],"sources":["../../../../../src/preset/bun/providers/serve-metrics.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Handler } from '../../../http';\nimport { route, router } from '@krutoo/fetch-tools';\nimport PromClient from 'prom-client';\n\nexport function provideServeMetrics(): Handler {\n // @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)\n // PromClient.collectDefaultMetrics();\n\n return router(\n route.get('/', async () => {\n const metrics = await PromClient.register.metrics();\n const headers = new Headers();\n\n headers.set('Content-Type', PromClient.register.contentType);\n\n return new Response(metrics, { headers });\n }),\n );\n}\n"],"mappings":";;;;;;AAEA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAqC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAHrC;;AAKO,SAASG,mBAAmBA,CAAA,EAAY;EAC7C;EACA;;EAEA,OAAO,IAAAC,kBAAM,EACXC,iBAAK,CAACC,GAAG,CAAC,GAAG,EAAE,YAAY;IACzB,MAAMC,OAAO,GAAG,MAAMC,mBAAU,CAACC,QAAQ,CAACF,OAAO,CAAC,CAAC;IACnD,MAAMG,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAE7BD,OAAO,CAACE,GAAG,CAAC,cAAc,EAAEJ,mBAAU,CAACC,QAAQ,CAACI,WAAW,CAAC;IAE5D,OAAO,IAAIC,QAAQ,CAACP,OAAO,EAAE;MAAEG;IAAQ,CAAC,CAAC;EAC3C,CAAC,CACH,CAAC;AACH"}
1
+ {"version":3,"file":"serve-metrics.js","names":["_fetchTools","require","_promClient","_interopRequireDefault","obj","__esModule","default","provideServeMetrics","router","route","get","metrics","PromClient","register","headers","Headers","set","contentType","Response"],"sources":["../../../../../src/preset/bun/providers/serve-metrics.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Handler } from '../../../http';\nimport { route, router } from '@krutoo/fetch-tools';\nimport PromClient from 'prom-client';\n\nexport function provideServeMetrics(): Handler {\n // @todo задействовать когда Bun реализует pref_hooks.monitorEventLoopDelay (https://github.com/siimon/prom-client/issues/570)\n // PromClient.collectDefaultMetrics();\n\n return router(\n route.get('/', async () => {\n const metrics = await PromClient.register.metrics();\n const headers = new Headers();\n\n headers.set('Content-Type', PromClient.register.contentType);\n\n return new Response(metrics, { headers });\n }),\n );\n}\n"],"mappings":";;;;;;AAEA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAqC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAHrC;;AAKO,SAASG,mBAAmBA,CAAA,EAAY;EAC7C;EACA;;EAEA,OAAO,IAAAC,kBAAM,EACXC,iBAAK,CAACC,GAAG,CAAC,GAAG,EAAE,YAAY;IACzB,MAAMC,OAAO,GAAG,MAAMC,mBAAU,CAACC,QAAQ,CAACF,OAAO,CAAC,CAAC;IACnD,MAAMG,OAAO,GAAG,IAAIC,OAAO,CAAC,CAAC;IAE7BD,OAAO,CAACE,GAAG,CAAC,cAAc,EAAEJ,mBAAU,CAACC,QAAQ,CAACI,WAAW,CAAC;IAE5D,OAAO,IAAIC,QAAQ,CAACP,OAAO,EAAE;MAAEG;IAAQ,CAAC,CAAC;EAC3C,CAAC,CACH,CAAC;AACH"}
@@ -9,14 +9,14 @@ var _bun = require("@sentry/bun");
9
9
  var _getServeLogging = require("../../server/utils/get-serve-logging");
10
10
  var _getServeErrorLogging = require("../../server/utils/get-serve-error-logging");
11
11
  var _getServeMeasuring = require("../../node/utils/get-serve-measuring");
12
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
12
+ /* eslint-disable jsdoc/require-jsdoc */
13
13
 
14
14
  function provideServeMiddleware(resolve) {
15
15
  const config = resolve(_tokens.KnownToken.Config.base);
16
16
  const logger = resolve(_tokens.KnownToken.logger);
17
17
  return [
18
18
  // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам
19
- (request, next) => (0, _bun.runWithAsyncContext)(async () => next(request)),
19
+ (request, next) => (0, _bun.withIsolationScope)(async () => next(request)),
20
20
  // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше
21
21
  (0, _getServeErrorLogging.getServeErrorLogging)(logger),
22
22
  // @todo tracing
@@ -1 +1 @@
1
- {"version":3,"file":"serve-middleware.js","names":["_tokens","require","_bun","_getServeLogging","_getServeErrorLogging","_getServeMeasuring","provideServeMiddleware","resolve","config","KnownToken","Config","base","logger","request","next","runWithAsyncContext","getServeErrorLogging","getServeMeasuring","getServeLogging"],"sources":["../../../../../src/preset/bun/providers/serve-middleware.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { runWithAsyncContext } from '@sentry/bun';\nimport { ServerMiddleware } from '../../server/types';\nimport { getServeLogging } from '../../server/utils/get-serve-logging';\nimport { getServeErrorLogging } from '../../server/utils/get-serve-error-logging';\nimport { getServeMeasuring } from '../../node/utils/get-serve-measuring';\n\nexport function provideServeMiddleware(resolve: Resolve): ServerMiddleware[] {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return [\n // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам\n (request, next) => runWithAsyncContext(async () => next(request)),\n\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getServeErrorLogging(logger),\n\n // @todo tracing\n\n // метрики\n getServeMeasuring(config),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getServeLogging(logger),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAPA;;AASO,SAASK,sBAAsBA,CAACC,OAAgB,EAAsB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACG,MAAM,CAAC;EAEzC,OAAO;EACL;EACA,CAACC,OAAO,EAAEC,IAAI,KAAK,IAAAC,wBAAmB,EAAC,YAAYD,IAAI,CAACD,OAAO,CAAC,CAAC;EAEjE;EACA,IAAAG,0CAAoB,EAACJ,MAAM,CAAC;EAE5B;;EAEA;EACA,IAAAK,oCAAiB,EAACT,MAAM,CAAC;EAEzB;EACA,IAAAU,gCAAe,EAACN,MAAM,CAAC,CACxB;AACH"}
1
+ {"version":3,"file":"serve-middleware.js","names":["_tokens","require","_bun","_getServeLogging","_getServeErrorLogging","_getServeMeasuring","provideServeMiddleware","resolve","config","KnownToken","Config","base","logger","request","next","withIsolationScope","getServeErrorLogging","getServeMeasuring","getServeLogging"],"sources":["../../../../../src/preset/bun/providers/serve-middleware.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { Resolve } from '../../../di';\nimport { KnownToken } from '../../../tokens';\nimport { withIsolationScope } from '@sentry/bun';\nimport { ServerMiddleware } from '../../server/types';\nimport { getServeLogging } from '../../server/utils/get-serve-logging';\nimport { getServeErrorLogging } from '../../server/utils/get-serve-error-logging';\nimport { getServeMeasuring } from '../../node/utils/get-serve-measuring';\n\nexport function provideServeMiddleware(resolve: Resolve): ServerMiddleware[] {\n const config = resolve(KnownToken.Config.base);\n const logger = resolve(KnownToken.logger);\n\n return [\n // ВАЖНО: изолируем хлебные крошки чтобы они группировались по входящим запросам\n (request, next) => withIsolationScope(async () => next(request)),\n\n // ВАЖНО: слой логирования ошибки ПЕРЕД остальными слоями чтобы не упустить ошибки выше\n getServeErrorLogging(logger),\n\n // @todo tracing\n\n // метрики\n getServeMeasuring(config),\n\n // ВАЖНО: слой логирования запроса и ответа ПОСЛЕ остальных слоев чтобы использовать актуальные данные\n getServeLogging(logger),\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAPA;;AASO,SAASK,sBAAsBA,CAACC,OAAgB,EAAsB;EAC3E,MAAMC,MAAM,GAAGD,OAAO,CAACE,kBAAU,CAACC,MAAM,CAACC,IAAI,CAAC;EAC9C,MAAMC,MAAM,GAAGL,OAAO,CAACE,kBAAU,CAACG,MAAM,CAAC;EAEzC,OAAO;EACL;EACA,CAACC,OAAO,EAAEC,IAAI,KAAK,IAAAC,uBAAkB,EAAC,YAAYD,IAAI,CAACD,OAAO,CAAC,CAAC;EAEhE;EACA,IAAAG,0CAAoB,EAACJ,MAAM,CAAC;EAE5B;;EAEA;EACA,IAAAK,oCAAiB,EAACT,MAAM,CAAC;EAEzB;EACA,IAAAU,gCAAe,EAACN,MAAM,CAAC,CACxB;AACH"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.provideServiceRoutes = provideServiceRoutes;
7
7
  var _getStatsHandler = require("../utils/get-stats-handler");
8
8
  var _getHealthCheck = require("../../server/utils/get-health-check");
9
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
9
+ /* eslint-disable jsdoc/require-jsdoc */
10
10
 
11
11
  function provideServiceRoutes() {
12
12
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"service-routes.js","names":["_getStatsHandler","require","_getHealthCheck","provideServiceRoutes","getHealthCheck","getStatsHandler"],"sources":["../../../../../src/preset/bun/providers/service-routes.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { ServerHandler } from '../../server/types';\nimport { getStatsHandler } from '../utils/get-stats-handler';\nimport { getHealthCheck } from '../../server/utils/get-health-check';\n\nexport function provideServiceRoutes(): Array<[string, ServerHandler]> {\n return [\n // служебные маршруты (без промежуточных слоев)\n ['/healthcheck', getHealthCheck()],\n ['/stats', getStatsHandler()],\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAHA;;AAKO,SAASE,oBAAoBA,CAAA,EAAmC;EACrE,OAAO;EACL;EACA,CAAC,cAAc,EAAE,IAAAC,8BAAc,EAAC,CAAC,CAAC,EAClC,CAAC,QAAQ,EAAE,IAAAC,gCAAe,EAAC,CAAC,CAAC,CAC9B;AACH"}
1
+ {"version":3,"file":"service-routes.js","names":["_getStatsHandler","require","_getHealthCheck","provideServiceRoutes","getHealthCheck","getStatsHandler"],"sources":["../../../../../src/preset/bun/providers/service-routes.ts"],"sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { ServerHandler } from '../../server/types';\nimport { getStatsHandler } from '../utils/get-stats-handler';\nimport { getHealthCheck } from '../../server/utils/get-health-check';\n\nexport function provideServiceRoutes(): Array<[string, ServerHandler]> {\n return [\n // служебные маршруты (без промежуточных слоев)\n ['/healthcheck', getHealthCheck()],\n ['/stats', getStatsHandler()],\n ];\n}\n"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAHA;;AAKO,SAASE,oBAAoBA,CAAA,EAAmC;EACrE,OAAO;EACL;EACA,CAAC,cAAc,EAAE,IAAAC,8BAAc,EAAC,CAAC,CAAC,EAClC,CAAC,QAAQ,EAAE,IAAAC,gCAAe,EAAC,CAAC,CAAC,CAC9B;AACH"}
@@ -20,8 +20,6 @@ var _elementToString = require("../server/providers/element-to-string");
20
20
  var _formatPageResponse = require("../server/providers/format-page-response");
21
21
  var _acceptType = require("./providers/accept-type");
22
22
  var _responseEvents = require("../server/providers/response-events");
23
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
24
-
25
23
  /**
26
24
  * Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.
27
25
  * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_di","require","_tokens","_abortController","_fetch","_reduxMiddlewareSaga","_pageRender","_fetchLogHandler","_fetchMiddleware","_handlerMain","_pageHelmet","_specificParams","_specificExtras","_elementToString","_formatPageResponse","_acceptType","_responseEvents","PresetBunHandler","customize","preset","createPreset","set","KnownToken","Http","fetch","provideFetch","Fetch","abortController","provideAbortController","middleware","provideFetchMiddleware","Middleware","Log","handler","provideFetchLogHandler","Handler","main","provideHandlerMain","Request","acceptType","provideAcceptType","specificParams","provideSpecificParams","Response","events","provideResponseEvents","specificExtras","SpecificExtras","Page","assets","js","css","helmet","providePageHelmet","render","providePageRender","elementToString","provideElementToString","formatResponse","provideFormatPageResponse","Redux","saga","provideReduxMiddlewareSaga","override","bind"],"sources":["../../../../src/preset/bun-handler/index.ts"],"sourcesContent":["/* eslint-disable require-jsdoc, jsdoc/require-jsdoc */\nimport { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideAcceptType } from './providers/accept-type';\nimport { provideResponseEvents } from '../server/providers/response-events';\n\n/**\n * Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetBunHandler(customize?: PresetTuner) {\n const preset = createPreset();\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n // redux saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_di","require","_tokens","_abortController","_fetch","_reduxMiddlewareSaga","_pageRender","_fetchLogHandler","_fetchMiddleware","_handlerMain","_pageHelmet","_specificParams","_specificExtras","_elementToString","_formatPageResponse","_acceptType","_responseEvents","PresetBunHandler","customize","preset","createPreset","set","KnownToken","Http","fetch","provideFetch","Fetch","abortController","provideAbortController","middleware","provideFetchMiddleware","Middleware","Log","handler","provideFetchLogHandler","Handler","main","provideHandlerMain","Request","acceptType","provideAcceptType","specificParams","provideSpecificParams","Response","events","provideResponseEvents","specificExtras","SpecificExtras","Page","assets","js","css","helmet","providePageHelmet","render","providePageRender","elementToString","provideElementToString","formatResponse","provideFormatPageResponse","Redux","saga","provideReduxMiddlewareSaga","override","bind"],"sources":["../../../../src/preset/bun-handler/index.ts"],"sourcesContent":["import { createPreset } from '../../di';\nimport { KnownToken } from '../../tokens';\nimport { PresetTuner } from '../isomorphic';\nimport { provideAbortController } from '../isomorphic/providers/abort-controller';\nimport { provideFetch } from '../isomorphic/providers/fetch';\nimport { provideReduxMiddlewareSaga } from '../isomorphic/providers/redux-middleware-saga';\nimport { providePageRender } from '../server/providers/page-render';\nimport { provideFetchLogHandler } from '../server/providers/fetch-log-handler';\nimport { provideFetchMiddleware } from './providers/fetch-middleware';\nimport { provideHandlerMain } from './providers/handler-main';\nimport { providePageHelmet } from '../server/providers/page-helmet';\nimport { provideSpecificParams } from './providers/specific-params';\nimport { SpecificExtras } from '../server/utils/specific-extras';\nimport { provideElementToString } from '../server/providers/element-to-string';\nimport { provideFormatPageResponse } from '../server/providers/format-page-response';\nimport { provideAcceptType } from './providers/accept-type';\nimport { provideResponseEvents } from '../server/providers/response-events';\n\n/**\n * Возвращает preset с зависимостями для формирования обработчика входящего http-запроса.\n * @param customize Получит функцию с помощью которой можно переопределить предустановленные провайдеры.\n * @todo Возможно стоит переименовать в PresetPageHandler.\n * @return Preset.\n */\nexport function PresetBunHandler(customize?: PresetTuner) {\n const preset = createPreset();\n\n // http fetch\n preset.set(KnownToken.Http.fetch, provideFetch);\n preset.set(KnownToken.Http.Fetch.abortController, provideAbortController);\n preset.set(KnownToken.Http.Fetch.middleware, provideFetchMiddleware);\n preset.set(KnownToken.Http.Fetch.Middleware.Log.handler, provideFetchLogHandler);\n\n // handler\n preset.set(KnownToken.Http.Handler.main, provideHandlerMain);\n preset.set(KnownToken.Http.Handler.Request.acceptType, provideAcceptType);\n preset.set(KnownToken.Http.Handler.Request.specificParams, provideSpecificParams);\n preset.set(KnownToken.Http.Handler.Response.events, provideResponseEvents);\n preset.set(KnownToken.Http.Handler.Response.specificExtras, () => new SpecificExtras());\n preset.set(KnownToken.Http.Handler.Page.assets, () => ({ js: '', css: '' }));\n preset.set(KnownToken.Http.Handler.Page.helmet, providePageHelmet);\n preset.set(KnownToken.Http.Handler.Page.render, providePageRender);\n preset.set(KnownToken.Http.Handler.Page.elementToString, provideElementToString);\n preset.set(KnownToken.Http.Handler.Page.formatResponse, provideFormatPageResponse);\n\n // redux saga\n preset.set(KnownToken.Redux.Middleware.saga, provideReduxMiddlewareSaga);\n\n if (customize) {\n customize({ override: preset.set.bind(preset) });\n }\n\n return preset;\n}\n"],"mappings":"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"}
@@ -10,7 +10,7 @@ var _getFetchErrorLogging = require("../../isomorphic/utils/get-fetch-error-logg
10
10
  var _getFetchExtraAborting = require("../../isomorphic/utils/get-fetch-extra-aborting");
11
11
  var _getFetchLogging = require("../../isomorphic/utils/get-fetch-logging");
12
12
  var _getForwardedHeaders = require("../../server/utils/get-forwarded-headers");
13
- /* eslint-disable require-jsdoc, jsdoc/require-jsdoc */
13
+ /* eslint-disable jsdoc/require-jsdoc */
14
14
 
15
15
  function provideFetchMiddleware(resolve) {
16
16
  const config = resolve(_tokens.KnownToken.Config.base);