{
  "name": "@konker.dev/middleware-fp",
  "version": "0.13.0",
  "type": "module",
  "author": "Konrad Markus <mail@konker.dev>",
  "license": "ISC",
  "description": "Type safe middleware system based on Effect-ts",
  "homepage": "https://konker.dev/",
  "keywords": [
    "middleware",
    "node",
    "typescript",
    "functional-programming",
    "effect-ts"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/konker.dev/packages/middleware-fp"
  },
  "main": "dist/index.js",
  "exports": {
    "./package.json": "./package.json",
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./http/contrib/apiGatewayProxyEventV2Adapter": {
      "types": "./dist/http/contrib/apiGatewayProxyEventV2Adapter.d.ts",
      "import": "./dist/http/contrib/apiGatewayProxyEventV2Adapter.js"
    },
    "./http/contrib/base64BodyDecoder": {
      "types": "./dist/http/contrib/base64BodyDecoder.d.ts",
      "import": "./dist/http/contrib/base64BodyDecoder.js"
    },
    "./http/contrib/basicAuthAuthenticator": {
      "types": "./dist/http/contrib/basicAuthAuthenticator.d.ts",
      "import": "./dist/http/contrib/basicAuthAuthenticator.js"
    },
    "./http/contrib/basicAuthDecoder": {
      "types": "./dist/http/contrib/basicAuthDecoder.d.ts",
      "import": "./dist/http/contrib/basicAuthDecoder.js"
    },
    "./http/contrib/bodyValidator": {
      "types": "./dist/http/contrib/bodyValidator.d.ts",
      "import": "./dist/http/contrib/bodyValidator.js"
    },
    "./http/contrib/cacheInMemory": {
      "types": "./dist/http/contrib/cacheInMemory.d.ts",
      "import": "./dist/http/contrib/cacheInMemory.js"
    },
    "./http/contrib/cacheMomento": {
      "types": "./dist/http/contrib/cacheMomento.d.ts",
      "import": "./dist/http/contrib/cacheMomento.js"
    },
    "./http/contrib/envValidator": {
      "types": "./dist/http/contrib/envValidator.d.ts",
      "import": "./dist/http/contrib/envValidator.js"
    },
    "./http/contrib/headerSignatureAuthorizer": {
      "types": "./dist/http/contrib/headerSignatureAuthorizer/index.d.ts",
      "import": "./dist/http/contrib/headerSignatureAuthorizer/index.js"
    },
    "./http/contrib/headerSignatureAuthorizer/lib": {
      "types": "./dist/http/contrib/headerSignatureAuthorizer/lib.d.ts",
      "import": "./dist/http/contrib/headerSignatureAuthorizer/lib.js"
    },
    "./http/contrib/headersNormalizer": {
      "types": "./dist/http/contrib/headersNormalizer/index.d.ts",
      "import": "./dist/http/contrib/headersNormalizer/index.js"
    },
    "./http/contrib/headersNormalizer/lib": {
      "types": "./dist/http/contrib/headersNormalizer/lib.d.ts",
      "import": "./dist/http/contrib/headersNormalizer/lib.js"
    },
    "./http/contrib/headersNormalizer/types": {
      "types": "./dist/http/contrib/headersNormalizer/types.d.ts",
      "import": "./dist/http/contrib/headersNormalizer/types.js"
    },
    "./http/contrib/headersValidator": {
      "types": "./dist/http/contrib/headersValidator.d.ts",
      "import": "./dist/http/contrib/headersValidator.js"
    },
    "./http/contrib/headerValueAuthorizer": {
      "types": "./dist/http/contrib/headerValueAuthorizer/index.d.ts",
      "import": "./dist/http/contrib/headerValueAuthorizer/index.js"
    },
    "./http/contrib/headerValueAuthorizer/lib": {
      "types": "./dist/http/contrib/headerValueAuthorizer/lib.d.ts",
      "import": "./dist/http/contrib/headerValueAuthorizer/lib.js"
    },
    "./http/contrib/helmetJsHeaders": {
      "types": "./dist/http/contrib/helmetJsHeaders.d.ts",
      "import": "./dist/http/contrib/helmetJsHeaders.js"
    },
    "./http/contrib/honoAdapter": {
      "types": "./dist/http/contrib/honoAdapter.d.ts",
      "import": "./dist/http/contrib/honoAdapter.js"
    },
    "./http/contrib/identity": {
      "types": "./dist/http/contrib/identity.d.ts",
      "import": "./dist/http/contrib/identity.js"
    },
    "./http/contrib": {
      "types": "./dist/http/contrib/index.d.ts",
      "import": "./dist/http/contrib/index.js"
    },
    "./http/contrib/jsonBodyParserRequest": {
      "types": "./dist/http/contrib/jsonBodyParserRequest.d.ts",
      "import": "./dist/http/contrib/jsonBodyParserRequest.js"
    },
    "./http/contrib/jsonBodySerializerResponse": {
      "types": "./dist/http/contrib/jsonBodySerializerResponse.d.ts",
      "import": "./dist/http/contrib/jsonBodySerializerResponse.js"
    },
    "./http/contrib/jwtAuthenticator": {
      "types": "./dist/http/contrib/jwtAuthenticator.d.ts",
      "import": "./dist/http/contrib/jwtAuthenticator.js"
    },
    "./http/contrib/jwtAuthenticatorRsa": {
      "types": "./dist/http/contrib/jwtAuthenticatorRsa.d.ts",
      "import": "./dist/http/contrib/jwtAuthenticatorRsa.js"
    },
    "./http/contrib/jwtDecoder": {
      "types": "./dist/http/contrib/jwtDecoder.d.ts",
      "import": "./dist/http/contrib/jwtDecoder.js"
    },
    "./http/contrib/momentoClientInit": {
      "types": "./dist/http/contrib/momentoClientInit.d.ts",
      "import": "./dist/http/contrib/momentoClientInit.js"
    },
    "./http/contrib/pathParametersValidator": {
      "types": "./dist/http/contrib/pathParametersValidator.d.ts",
      "import": "./dist/http/contrib/pathParametersValidator.js"
    },
    "./http/contrib/pathTokenAuthorizer": {
      "types": "./dist/http/contrib/pathTokenAuthorizer.d.ts",
      "import": "./dist/http/contrib/pathTokenAuthorizer.js"
    },
    "./http/contrib/queryStringValidator": {
      "types": "./dist/http/contrib/queryStringValidator.d.ts",
      "import": "./dist/http/contrib/queryStringValidator.js"
    },
    "./http/contrib/requestResponseLogger": {
      "types": "./dist/http/contrib/requestResponseLogger.d.ts",
      "import": "./dist/http/contrib/requestResponseLogger.js"
    },
    "./http/contrib/requestSpan": {
      "types": "./dist/http/contrib/requestSpan.d.ts",
      "import": "./dist/http/contrib/requestSpan.js"
    },
    "./http/contrib/responseProcessor": {
      "types": "./dist/http/contrib/responseProcessor.d.ts",
      "import": "./dist/http/contrib/responseProcessor.js"
    },
    "./http/contrib/standardRequestResponseAdapter": {
      "types": "./dist/http/contrib/standardRequestResponseAdapter.d.ts",
      "import": "./dist/http/contrib/standardRequestResponseAdapter.js"
    },
    "./http/contrib/trivial": {
      "types": "./dist/http/contrib/trivial.d.ts",
      "import": "./dist/http/contrib/trivial.js"
    },
    "./http/HttpApiError": {
      "types": "./dist/http/HttpApiError.d.ts",
      "import": "./dist/http/HttpApiError.js"
    },
    "./http": {
      "types": "./dist/http/index.d.ts",
      "import": "./dist/http/index.js"
    },
    "./http/RequestResponseHandler": {
      "types": "./dist/http/RequestResponseHandler.d.ts",
      "import": "./dist/http/RequestResponseHandler.js"
    },
    "./http/RequestW": {
      "types": "./dist/http/RequestW.d.ts",
      "import": "./dist/http/RequestW.js"
    },
    "./http/ResponseW": {
      "types": "./dist/http/ResponseW.d.ts",
      "import": "./dist/http/ResponseW.js"
    },
    "./lib": {
      "types": "./dist/lib/index.d.ts",
      "import": "./dist/lib/index.js"
    },
    "./lib/MiddlewareError": {
      "types": "./dist/lib/MiddlewareError.d.ts",
      "import": "./dist/lib/MiddlewareError.js"
    },
    "./lib/utils": {
      "types": "./dist/lib/utils.d.ts",
      "import": "./dist/lib/utils.js"
    },
    "./test/fixtures/apiGatewayProxyEventV2-allUndefined": {
      "types": "./dist/test/fixtures/apiGatewayProxyEventV2-allUndefined.d.ts",
      "import": "./dist/test/fixtures/apiGatewayProxyEventV2-allUndefined.js"
    },
    "./test/fixtures/apiGatewayProxyEventV2-complete": {
      "types": "./dist/test/fixtures/apiGatewayProxyEventV2-complete.d.ts",
      "import": "./dist/test/fixtures/apiGatewayProxyEventV2-complete.js"
    },
    "./test/fixtures/apiGatewayProxyEventV2-withUndefined": {
      "types": "./dist/test/fixtures/apiGatewayProxyEventV2-withUndefined.d.ts",
      "import": "./dist/test/fixtures/apiGatewayProxyEventV2-withUndefined.js"
    },
    "./test/fixtures/fetchRequest-allUndefined": {
      "types": "./dist/test/fixtures/fetchRequest-allUndefined.d.ts",
      "import": "./dist/test/fixtures/fetchRequest-allUndefined.js"
    },
    "./test/fixtures/fetchRequest-complete": {
      "types": "./dist/test/fixtures/fetchRequest-complete.d.ts",
      "import": "./dist/test/fixtures/fetchRequest-complete.js"
    },
    "./test/fixtures/honoRequest-allUndefined": {
      "types": "./dist/test/fixtures/honoRequest-allUndefined.d.ts",
      "import": "./dist/test/fixtures/honoRequest-allUndefined.js"
    },
    "./test/fixtures/honoRequest-complete": {
      "types": "./dist/test/fixtures/honoRequest-complete.d.ts",
      "import": "./dist/test/fixtures/honoRequest-complete.js"
    },
    "./test/fixtures/honoRequestFactory": {
      "types": "./dist/test/fixtures/honoRequestFactory.d.ts",
      "import": "./dist/test/fixtures/honoRequestFactory.js"
    },
    "./test/test-common": {
      "types": "./dist/test/test-common.d.ts",
      "import": "./dist/test/test-common.js"
    },
    "./handler": {
      "types": "./dist/handler.d.ts",
      "import": "./dist/handler.js"
    }
  },
  "files": [
    "dist/**/*",
    "!dist/**/*.test.*"
  ],
  "peerDependencies": {
    "@aws-sdk/client-dynamodb": "^3.637.0",
    "@effect/opentelemetry": "^0.61.0",
    "@effect/platform": "^0.94.1",
    "@effect/platform-node": "^0.104.0",
    "@effect/sql": "^0.49.0",
    "@effect/sql-pg": "^0.50.1",
    "@gomomento/sdk": "^1.102.0",
    "@opentelemetry/exporter-trace-otlp-http": "^0.211.0",
    "@opentelemetry/sdk-trace-base": "^2.5.0",
    "@opentelemetry/sdk-trace-node": "^2.5.0",
    "aws-lambda": "^1.0.7",
    "hono": "^4.9.9"
  },
  "dependencies": {
    "@effect/sql": "^0.51.1",
    "@effect/sql-pg": "^0.52.1",
    "effect": "^3.21.4",
    "lesslog": "^1.0.2",
    "@konker.dev/momento-cache-client-effect": "0.2.0",
    "@konker.dev/tiny-cache-fp": "0.2.0",
    "@konker.dev/tiny-auth-utils-fp": "0.4.0",
    "@konker.dev/tiny-utils-fp": "0.2.0"
  },
  "devDependencies": {
    "@arethetypeswrong/cli": "^0.18.4",
    "@aws-sdk/client-dynamodb": "^3.1079.0",
    "@aws-sdk/types": "^3.973.15",
    "@effect/language-service": "^0.86.4",
    "@effect/opentelemetry": "^0.63.0",
    "@eslint/js": "^10.0.1",
    "@gomomento/sdk": "^1.118.0",
    "@konker.dev/common-config": "^0.10.0",
    "@opentelemetry/exporter-trace-otlp-http": "^0.220.0",
    "@opentelemetry/sdk-trace-base": "^2.9.0",
    "@opentelemetry/sdk-trace-node": "^2.9.0",
    "@smithy/smithy-client": "^4.14.6",
    "@swc/core": "^1.15.43",
    "@types/aws-lambda": "^8.10.162",
    "@types/micromatch": "^4.0.10",
    "@types/node": "^26.1.0",
    "@vitest/coverage-istanbul": "^4.1.9",
    "aws-lambda": "^1.0.7",
    "aws-sdk-client-mock": "^4.1.0",
    "eslint": "^10.6.0",
    "eslint-plugin-fp": "^2.3.0",
    "eslint-plugin-prettier": "^5.5.6",
    "eslint-plugin-simple-import-sort": "^13.0.0",
    "eslint-plugin-sort-destructure-keys": "^3.0.0",
    "hono": "4.12.27",
    "leasot": "^14.4.0",
    "madge": "^8.0.0",
    "micromatch": "^4.0.8",
    "prettier": "^3.9.4",
    "type-coverage": "^2.29.7",
    "typescript": "^6.0.3",
    "typescript-eslint": "^8.62.1",
    "vitest": "^4.1.9"
  },
  "scripts": {
    "test": "vitest run --coverage",
    "clean": "rm -rf dist && rm -f tsconfig.tsbuildinfo",
    "typecheck": "tsc --noEmit",
    "build": "pnpm run clean && tsc",
    "type-coverage-check": "type-coverage --detail --at-least 97",
    "circular-check": "madge --extensions ts --circular --no-color --no-spinner --warning src",
    "eslint-check": "eslint --max-warnings=0 '**/*.{ts,js,json}'",
    "eslint-fix": "npx eslint --fix||true",
    "generated-exports-check": "npx --package=@konker.dev/common-config generate-exports-verify `pwd`",
    "exports-check": "attw --pack . --ignore-rules=cjs-resolves-to-esm --profile=node16",
    "fixme-check": "leasot --exit-nicely --skip-unsupported src",
    "prettier-check": "npx prettier --check --ignore-path .gitignore --ignore-path .prettierignore '**/*.{css,html,js,ts,json,md,yaml,yml}'",
    "prettier-fix": "pnpm run prettier-check --write",
    "lint-check": "pnpm run eslint-check && pnpm run prettier-check && pnpm run circular-check && pnpm run fixme-check",
    "lint-fix": "pnpm run eslint-fix && pnpm run prettier-fix",
    "pre-push": "pnpm run lint-check && pnpm run typecheck",
    "codecov": "npx --package=@konker.dev/common-config codecov-upload `pwd` '@konker.dev/middleware-fp'",
    "ci": "pnpm run lint-check && pnpm run typecheck && pnpm run type-coverage-check && pnpm run test && pnpm run build && pnpm run generated-exports-check && pnpm run exports-check && pnpm run fixme-check",
    "cd": "pnpm run build && npx --package=@konker.dev/common-config npm-publish-if-version-not-exists `pwd`"
  }
}