From c063252320a6a510e0773b1a85095af21526be08 Mon Sep 17 00:00:00 2001 From: krutoo Date: Mon, 27 Mar 2023 14:17:15 +0500 Subject: [PATCH 1/2] #38 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - public поля классов теперь в одном стиле --- .eslintrc.js | 9 +++++++++ src/di/errors.ts | 2 +- src/di/token.ts | 2 +- src/utils/redux-saga/middleware.ts | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 210d270..643361c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -2,6 +2,15 @@ module.exports = { root: true, extends: [require.resolve('@sima-land/linters/eslint'), 'plugin:react/jsx-runtime'], overrides: [ + { + files: ['*.ts', '*.tsx'], + rules: { + '@typescript-eslint/explicit-member-accessibility': [ + 'error', + { accessibility: 'no-public' }, + ], + }, + }, { files: ['*.ts', '*.tsx', '*.js', '*.jsx'], rules: { diff --git a/src/di/errors.ts b/src/di/errors.ts index 6856237..ba5d191 100644 --- a/src/di/errors.ts +++ b/src/di/errors.ts @@ -4,7 +4,7 @@ import type { Token } from './types'; * Ошибка, сообщающая, что в контейнере нет сервиса по заданному ключу. */ export class NothingBoundError extends Error { - public readonly token: Token; + readonly token: Token; /** * Конструктор. diff --git a/src/di/token.ts b/src/di/token.ts index 708bc18..4d70ba5 100644 --- a/src/di/token.ts +++ b/src/di/token.ts @@ -26,7 +26,7 @@ class TokenImplementation implements Token { /** * @inheritdoc */ - public toString(): string { + toString(): string { return `Token(${this._key.description})`; } } diff --git a/src/utils/redux-saga/middleware.ts b/src/utils/redux-saga/middleware.ts index 5024f7f..3db5173 100644 --- a/src/utils/redux-saga/middleware.ts +++ b/src/utils/redux-saga/middleware.ts @@ -35,7 +35,7 @@ class MiddlewareControl { }); } - public toMiddleware(): SagaExtendedMiddleware { + toMiddleware(): SagaExtendedMiddleware { const middleware: SagaExtendedMiddleware = api => { this.api = api; return this.sagaMiddleware(api); From 119e63dbf30ab1a10c068995d19280ecc4468856 Mon Sep 17 00:00:00 2001 From: krutoo Date: Mon, 27 Mar 2023 14:17:53 +0500 Subject: [PATCH 2/2] #38 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - preset/handler: добавлена возможность задавать функцию для получения ассетов --- src/preset/node/handler.ts | 4 +++- src/tokens.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/preset/node/handler.ts b/src/preset/node/handler.ts index 64f33d7..f6478c7 100644 --- a/src/preset/node/handler.ts +++ b/src/preset/node/handler.ts @@ -111,12 +111,14 @@ export function provideMain(resolve: Resolve): VoidFunction { const template = resolve(KnownToken.Http.Handler.Response.Page.template); const builder = resolve(KnownToken.Http.Handler.Response.builder); + const getAssets = typeof assets === 'function' ? assets : () => assets; + return async function main() { try { // @todo это билдер ответа но в ответе может не быть markup, assets и тд, подумать и переделать builder .markup(await render(await prepare())) - .assets(assets) + .assets(await getAssets()) .format(PageResponse.defineFormat(context.req)) .template(template) .send(context.res); diff --git a/src/tokens.ts b/src/tokens.ts index 9ab1a4b..7dbbd91 100644 --- a/src/tokens.ts +++ b/src/tokens.ts @@ -75,7 +75,7 @@ export const KnownToken = { Response: { builder: createToken('response/builder'), Page: { - assets: createToken('page/assets'), + assets: createToken PageAssets | Promise)>('page/assets'), template: createToken('page/template'), prepare: createToken<() => JSX.Element | Promise>('page/prepare'), render: createToken<(element: JSX.Element) => string | Promise>('page/render'),