@acmekit/framework 2.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -0
- package/dist/acmekit-app-loader.d.ts +70 -0
- package/dist/acmekit-app-loader.d.ts.map +1 -0
- package/dist/acmekit-app-loader.js +256 -0
- package/dist/acmekit-app-loader.js.map +1 -0
- package/dist/build-tools/compiler.d.ts +64 -0
- package/dist/build-tools/compiler.d.ts.map +1 -0
- package/dist/build-tools/compiler.js +423 -0
- package/dist/build-tools/compiler.js.map +1 -0
- package/dist/build-tools/index.d.ts +2 -0
- package/dist/build-tools/index.d.ts.map +1 -0
- package/dist/build-tools/index.js +18 -0
- package/dist/build-tools/index.js.map +1 -0
- package/dist/config/config.d.ts +39 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +155 -0
- package/dist/config/config.js.map +1 -0
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +21 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +15 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +39 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/types.d.ts +2 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +3 -0
- package/dist/config/types.js.map +1 -0
- package/dist/container.d.ts +3 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/container.js +21 -0
- package/dist/container.js.map +1 -0
- package/dist/database/index.d.ts +3 -0
- package/dist/database/index.d.ts.map +1 -0
- package/dist/database/index.js +19 -0
- package/dist/database/index.js.map +1 -0
- package/dist/database/pg-connection-loader.d.ts +6 -0
- package/dist/database/pg-connection-loader.d.ts.map +1 -0
- package/dist/database/pg-connection-loader.js +68 -0
- package/dist/database/pg-connection-loader.js.map +1 -0
- package/dist/deps/awilix.d.ts +2 -0
- package/dist/deps/awilix.d.ts.map +1 -0
- package/dist/deps/awilix.js +18 -0
- package/dist/deps/awilix.js.map +1 -0
- package/dist/deps/mikro-orm-cli.d.ts +2 -0
- package/dist/deps/mikro-orm-cli.d.ts.map +1 -0
- package/dist/deps/mikro-orm-cli.js +18 -0
- package/dist/deps/mikro-orm-cli.js.map +1 -0
- package/dist/deps/mikro-orm-core.d.ts +2 -0
- package/dist/deps/mikro-orm-core.d.ts.map +1 -0
- package/dist/deps/mikro-orm-core.js +18 -0
- package/dist/deps/mikro-orm-core.js.map +1 -0
- package/dist/deps/mikro-orm-knex.d.ts +2 -0
- package/dist/deps/mikro-orm-knex.d.ts.map +1 -0
- package/dist/deps/mikro-orm-knex.js +18 -0
- package/dist/deps/mikro-orm-knex.js.map +1 -0
- package/dist/deps/mikro-orm-migrations.d.ts +2 -0
- package/dist/deps/mikro-orm-migrations.d.ts.map +1 -0
- package/dist/deps/mikro-orm-migrations.js +18 -0
- package/dist/deps/mikro-orm-migrations.js.map +1 -0
- package/dist/deps/mikro-orm-postgresql.d.ts +2 -0
- package/dist/deps/mikro-orm-postgresql.d.ts.map +1 -0
- package/dist/deps/mikro-orm-postgresql.js +18 -0
- package/dist/deps/mikro-orm-postgresql.js.map +1 -0
- package/dist/deps/opentelemetry-api.d.ts +2 -0
- package/dist/deps/opentelemetry-api.d.ts.map +1 -0
- package/dist/deps/opentelemetry-api.js +18 -0
- package/dist/deps/opentelemetry-api.js.map +1 -0
- package/dist/deps/opentelemetry-instrumentation-pg.d.ts +2 -0
- package/dist/deps/opentelemetry-instrumentation-pg.d.ts.map +1 -0
- package/dist/deps/opentelemetry-instrumentation-pg.js +18 -0
- package/dist/deps/opentelemetry-instrumentation-pg.js.map +1 -0
- package/dist/deps/opentelemetry-resources.d.ts +2 -0
- package/dist/deps/opentelemetry-resources.d.ts.map +1 -0
- package/dist/deps/opentelemetry-resources.js +18 -0
- package/dist/deps/opentelemetry-resources.js.map +1 -0
- package/dist/deps/opentelemetry-sdk-node.d.ts +2 -0
- package/dist/deps/opentelemetry-sdk-node.d.ts.map +1 -0
- package/dist/deps/opentelemetry-sdk-node.js +18 -0
- package/dist/deps/opentelemetry-sdk-node.js.map +1 -0
- package/dist/deps/opentelemetry-sdk-trace-node.d.ts +2 -0
- package/dist/deps/opentelemetry-sdk-trace-node.d.ts.map +1 -0
- package/dist/deps/opentelemetry-sdk-trace-node.js +18 -0
- package/dist/deps/opentelemetry-sdk-trace-node.js.map +1 -0
- package/dist/deps/pg.d.ts +2 -0
- package/dist/deps/pg.d.ts.map +1 -0
- package/dist/deps/pg.js +18 -0
- package/dist/deps/pg.js.map +1 -0
- package/dist/deps/zod.d.ts +2 -0
- package/dist/deps/zod.d.ts.map +1 -0
- package/dist/deps/zod.js +18 -0
- package/dist/deps/zod.js.map +1 -0
- package/dist/feature-flags/feature-flag-loader.d.ts +7 -0
- package/dist/feature-flags/feature-flag-loader.d.ts.map +1 -0
- package/dist/feature-flags/feature-flag-loader.js +34 -0
- package/dist/feature-flags/feature-flag-loader.js.map +1 -0
- package/dist/feature-flags/flag-router.d.ts +32 -0
- package/dist/feature-flags/flag-router.d.ts.map +1 -0
- package/dist/feature-flags/flag-router.js +67 -0
- package/dist/feature-flags/flag-router.js.map +1 -0
- package/dist/feature-flags/index.d.ts +5 -0
- package/dist/feature-flags/index.d.ts.map +1 -0
- package/dist/feature-flags/index.js +21 -0
- package/dist/feature-flags/index.js.map +1 -0
- package/dist/feature-flags/types.d.ts +31 -0
- package/dist/feature-flags/types.d.ts.map +1 -0
- package/dist/feature-flags/types.js +3 -0
- package/dist/feature-flags/types.js.map +1 -0
- package/dist/http/express-loader.d.ts +10 -0
- package/dist/http/express-loader.d.ts.map +1 -0
- package/dist/http/express-loader.js +130 -0
- package/dist/http/express-loader.js.map +1 -0
- package/dist/http/index.d.ts +15 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +31 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/middleware-file-loader.d.ts +33 -0
- package/dist/http/middleware-file-loader.d.ts.map +1 -0
- package/dist/http/middleware-file-loader.js +186 -0
- package/dist/http/middleware-file-loader.js.map +1 -0
- package/dist/http/middlewares/apply-default-filters.d.ts +3 -0
- package/dist/http/middlewares/apply-default-filters.d.ts.map +1 -0
- package/dist/http/middlewares/apply-default-filters.js +32 -0
- package/dist/http/middlewares/apply-default-filters.js.map +1 -0
- package/dist/http/middlewares/apply-locale.d.ts +12 -0
- package/dist/http/middlewares/apply-locale.d.ts.map +1 -0
- package/dist/http/middlewares/apply-locale.js +31 -0
- package/dist/http/middlewares/apply-locale.js.map +1 -0
- package/dist/http/middlewares/apply-params-as-filters.d.ts +5 -0
- package/dist/http/middlewares/apply-params-as-filters.d.ts.map +1 -0
- package/dist/http/middlewares/apply-params-as-filters.js +14 -0
- package/dist/http/middlewares/apply-params-as-filters.js.map +1 -0
- package/dist/http/middlewares/authenticate-middleware.d.ts +14 -0
- package/dist/http/middlewares/authenticate-middleware.d.ts.map +1 -0
- package/dist/http/middlewares/authenticate-middleware.js +142 -0
- package/dist/http/middlewares/authenticate-middleware.js.map +1 -0
- package/dist/http/middlewares/bodyparser.d.ts +13 -0
- package/dist/http/middlewares/bodyparser.d.ts.map +1 -0
- package/dist/http/middlewares/bodyparser.js +62 -0
- package/dist/http/middlewares/bodyparser.js.map +1 -0
- package/dist/http/middlewares/check-permissions.d.ts +15 -0
- package/dist/http/middlewares/check-permissions.d.ts.map +1 -0
- package/dist/http/middlewares/check-permissions.js +54 -0
- package/dist/http/middlewares/check-permissions.js.map +1 -0
- package/dist/http/middlewares/clear-filters-by-key.d.ts +3 -0
- package/dist/http/middlewares/clear-filters-by-key.d.ts.map +1 -0
- package/dist/http/middlewares/clear-filters-by-key.js +12 -0
- package/dist/http/middlewares/clear-filters-by-key.js.map +1 -0
- package/dist/http/middlewares/ensure-publishable-api-key.d.ts +3 -0
- package/dist/http/middlewares/ensure-publishable-api-key.d.ts.map +1 -0
- package/dist/http/middlewares/ensure-publishable-api-key.js +58 -0
- package/dist/http/middlewares/ensure-publishable-api-key.js.map +1 -0
- package/dist/http/middlewares/error-handler.d.ts +21 -0
- package/dist/http/middlewares/error-handler.d.ts.map +1 -0
- package/dist/http/middlewares/error-handler.js +107 -0
- package/dist/http/middlewares/error-handler.js.map +1 -0
- package/dist/http/middlewares/exception-formatter.d.ts +9 -0
- package/dist/http/middlewares/exception-formatter.d.ts.map +1 -0
- package/dist/http/middlewares/exception-formatter.js +36 -0
- package/dist/http/middlewares/exception-formatter.js.map +1 -0
- package/dist/http/middlewares/index.d.ts +10 -0
- package/dist/http/middlewares/index.d.ts.map +1 -0
- package/dist/http/middlewares/index.js +26 -0
- package/dist/http/middlewares/index.js.map +1 -0
- package/dist/http/middlewares/set-context.d.ts +3 -0
- package/dist/http/middlewares/set-context.d.ts.map +1 -0
- package/dist/http/middlewares/set-context.js +18 -0
- package/dist/http/middlewares/set-context.js.map +1 -0
- package/dist/http/router.d.ts +36 -0
- package/dist/http/router.d.ts.map +1 -0
- package/dist/http/router.js +317 -0
- package/dist/http/router.js.map +1 -0
- package/dist/http/routes-finder.d.ts +22 -0
- package/dist/http/routes-finder.d.ts.map +1 -0
- package/dist/http/routes-finder.js +68 -0
- package/dist/http/routes-finder.js.map +1 -0
- package/dist/http/routes-loader.d.ts +39 -0
- package/dist/http/routes-loader.d.ts.map +1 -0
- package/dist/http/routes-loader.js +232 -0
- package/dist/http/routes-loader.js.map +1 -0
- package/dist/http/routes-sorter.d.ts +105 -0
- package/dist/http/routes-sorter.d.ts.map +1 -0
- package/dist/http/routes-sorter.js +146 -0
- package/dist/http/routes-sorter.js.map +1 -0
- package/dist/http/types.d.ts +191 -0
- package/dist/http/types.d.ts.map +1 -0
- package/dist/http/types.js +16 -0
- package/dist/http/types.js.map +1 -0
- package/dist/http/utils/define-middlewares.d.ts +22 -0
- package/dist/http/utils/define-middlewares.d.ts.map +1 -0
- package/dist/http/utils/define-middlewares.js +27 -0
- package/dist/http/utils/define-middlewares.js.map +1 -0
- package/dist/http/utils/field-filtering/field-parser.d.ts +32 -0
- package/dist/http/utils/field-filtering/field-parser.d.ts.map +1 -0
- package/dist/http/utils/field-filtering/field-parser.js +87 -0
- package/dist/http/utils/field-filtering/field-parser.js.map +1 -0
- package/dist/http/utils/field-filtering/field-validator.d.ts +24 -0
- package/dist/http/utils/field-filtering/field-validator.d.ts.map +1 -0
- package/dist/http/utils/field-filtering/field-validator.js +67 -0
- package/dist/http/utils/field-filtering/field-validator.js.map +1 -0
- package/dist/http/utils/field-filtering/index.d.ts +33 -0
- package/dist/http/utils/field-filtering/index.d.ts.map +1 -0
- package/dist/http/utils/field-filtering/index.js +9 -0
- package/dist/http/utils/field-filtering/index.js.map +1 -0
- package/dist/http/utils/get-query-config.d.ts +50 -0
- package/dist/http/utils/get-query-config.d.ts.map +1 -0
- package/dist/http/utils/get-query-config.js +109 -0
- package/dist/http/utils/get-query-config.js.map +1 -0
- package/dist/http/utils/http-compression.d.ts +5 -0
- package/dist/http/utils/http-compression.d.ts.map +1 -0
- package/dist/http/utils/http-compression.js +33 -0
- package/dist/http/utils/http-compression.js.map +1 -0
- package/dist/http/utils/maybe-apply-link-filter.d.ts +8 -0
- package/dist/http/utils/maybe-apply-link-filter.d.ts.map +1 -0
- package/dist/http/utils/maybe-apply-link-filter.js +68 -0
- package/dist/http/utils/maybe-apply-link-filter.js.map +1 -0
- package/dist/http/utils/policies/rbac-field-filter.d.ts +19 -0
- package/dist/http/utils/policies/rbac-field-filter.d.ts.map +1 -0
- package/dist/http/utils/policies/rbac-field-filter.js +348 -0
- package/dist/http/utils/policies/rbac-field-filter.js.map +1 -0
- package/dist/http/utils/refetch-entities.d.ts +21 -0
- package/dist/http/utils/refetch-entities.d.ts.map +1 -0
- package/dist/http/utils/refetch-entities.js +42 -0
- package/dist/http/utils/refetch-entities.js.map +1 -0
- package/dist/http/utils/restricted-fields.d.ts +6 -0
- package/dist/http/utils/restricted-fields.d.ts.map +1 -0
- package/dist/http/utils/restricted-fields.js +30 -0
- package/dist/http/utils/restricted-fields.js.map +1 -0
- package/dist/http/utils/unless-path.d.ts +9 -0
- package/dist/http/utils/unless-path.d.ts.map +1 -0
- package/dist/http/utils/unless-path.js +19 -0
- package/dist/http/utils/unless-path.js.map +1 -0
- package/dist/http/utils/validate-body.d.ts +5 -0
- package/dist/http/utils/validate-body.d.ts.map +1 -0
- package/dist/http/utils/validate-body.js +23 -0
- package/dist/http/utils/validate-body.js.map +1 -0
- package/dist/http/utils/validate-query.d.ts +6 -0
- package/dist/http/utils/validate-query.d.ts.map +1 -0
- package/dist/http/utils/validate-query.js +84 -0
- package/dist/http/utils/validate-query.js.map +1 -0
- package/dist/http/utils/wrap-handler.d.ts +3 -0
- package/dist/http/utils/wrap-handler.d.ts.map +1 -0
- package/dist/http/utils/wrap-handler.js +26 -0
- package/dist/http/utils/wrap-handler.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/jobs/index.d.ts +2 -0
- package/dist/jobs/index.d.ts.map +1 -0
- package/dist/jobs/index.js +18 -0
- package/dist/jobs/index.js.map +1 -0
- package/dist/jobs/job-loader.d.ts +44 -0
- package/dist/jobs/job-loader.d.ts.map +1 -0
- package/dist/jobs/job-loader.js +91 -0
- package/dist/jobs/job-loader.js.map +1 -0
- package/dist/links/index.d.ts +2 -0
- package/dist/links/index.d.ts.map +1 -0
- package/dist/links/index.js +18 -0
- package/dist/links/index.js.map +1 -0
- package/dist/links/link-loader.d.ts +11 -0
- package/dist/links/link-loader.d.ts.map +1 -0
- package/dist/links/link-loader.js +76 -0
- package/dist/links/link-loader.js.map +1 -0
- package/dist/logger/index.d.ts +3 -0
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/index.js +9 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/migrations/index.d.ts +3 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +19 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/migrator.d.ts +38 -0
- package/dist/migrations/migrator.d.ts.map +1 -0
- package/dist/migrations/migrator.js +146 -0
- package/dist/migrations/migrator.js.map +1 -0
- package/dist/migrations/run-migration-scripts.d.ts +17 -0
- package/dist/migrations/run-migration-scripts.d.ts.map +1 -0
- package/dist/migrations/run-migration-scripts.js +97 -0
- package/dist/migrations/run-migration-scripts.js.map +1 -0
- package/dist/mikro-orm-cli/bin.d.ts +14 -0
- package/dist/mikro-orm-cli/bin.d.ts.map +1 -0
- package/dist/mikro-orm-cli/bin.js +54 -0
- package/dist/mikro-orm-cli/bin.js.map +1 -0
- package/dist/modules-sdk/index.d.ts +2 -0
- package/dist/modules-sdk/index.d.ts.map +1 -0
- package/dist/modules-sdk/index.js +18 -0
- package/dist/modules-sdk/index.js.map +1 -0
- package/dist/orchestration/index.d.ts +2 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +18 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/policies/has-permission.d.ts +33 -0
- package/dist/policies/has-permission.d.ts.map +1 -0
- package/dist/policies/has-permission.js +110 -0
- package/dist/policies/has-permission.js.map +1 -0
- package/dist/policies/index.d.ts +3 -0
- package/dist/policies/index.d.ts.map +1 -0
- package/dist/policies/index.js +19 -0
- package/dist/policies/index.js.map +1 -0
- package/dist/policies/policy-loader.d.ts +6 -0
- package/dist/policies/policy-loader.d.ts.map +1 -0
- package/dist/policies/policy-loader.js +17 -0
- package/dist/policies/policy-loader.js.map +1 -0
- package/dist/subscribers/index.d.ts +3 -0
- package/dist/subscribers/index.d.ts.map +1 -0
- package/dist/subscribers/index.js +19 -0
- package/dist/subscribers/index.js.map +1 -0
- package/dist/subscribers/subscriber-loader.d.ts +20 -0
- package/dist/subscribers/subscriber-loader.d.ts.map +1 -0
- package/dist/subscribers/subscriber-loader.js +156 -0
- package/dist/subscribers/subscriber-loader.js.map +1 -0
- package/dist/subscribers/types.d.ts +15 -0
- package/dist/subscribers/types.d.ts.map +1 -0
- package/dist/subscribers/types.js +3 -0
- package/dist/subscribers/types.js.map +1 -0
- package/dist/telemetry/index.d.ts +50 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +81 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/types/container.d.ts +68 -0
- package/dist/types/container.d.ts.map +1 -0
- package/dist/types/container.js +3 -0
- package/dist/types/container.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +19 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/resource-loader.d.ts +28 -0
- package/dist/utils/resource-loader.d.ts.map +1 -0
- package/dist/utils/resource-loader.js +78 -0
- package/dist/utils/resource-loader.js.map +1 -0
- package/dist/workflows/index.d.ts +3 -0
- package/dist/workflows/index.d.ts.map +1 -0
- package/dist/workflows/index.js +19 -0
- package/dist/workflows/index.js.map +1 -0
- package/dist/workflows/workflow-loader.d.ts +13 -0
- package/dist/workflows/workflow-loader.d.ts.map +1 -0
- package/dist/workflows/workflow-loader.js +36 -0
- package/dist/workflows/workflow-loader.js.map +1 -0
- package/dist/workflows-sdk/composer.d.ts +2 -0
- package/dist/workflows-sdk/composer.d.ts.map +1 -0
- package/dist/workflows-sdk/composer.js +18 -0
- package/dist/workflows-sdk/composer.js.map +1 -0
- package/dist/workflows-sdk/index.d.ts +3 -0
- package/dist/workflows-sdk/index.d.ts.map +1 -0
- package/dist/workflows-sdk/index.js +19 -0
- package/dist/workflows-sdk/index.js.map +1 -0
- package/dist/zod/index.d.ts +2 -0
- package/dist/zod/index.d.ts.map +1 -0
- package/dist/zod/index.js +18 -0
- package/dist/zod/index.js.map +1 -0
- package/dist/zod/zod-helpers.d.ts +3 -0
- package/dist/zod/zod-helpers.d.ts.map +1 -0
- package/dist/zod/zod-helpers.js +95 -0
- package/dist/zod/zod-helpers.js.map +1 -0
- package/package.json +121 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { GraphResultSet, AcmeKitContainer, RemoteJoinerOptions, RemoteQueryEntryPoints, RemoteQueryFunctionReturnPagination } from "../../types";
|
|
2
|
+
import type { AcmeKitRequest } from "../types";
|
|
3
|
+
export declare const refetchEntities: <TEntry extends string>({ entity, idOrFilter, scope, fields, pagination, withDeleted, options, }: {
|
|
4
|
+
entity: TEntry;
|
|
5
|
+
idOrFilter?: string | object;
|
|
6
|
+
scope: AcmeKitContainer;
|
|
7
|
+
fields?: string[];
|
|
8
|
+
pagination?: AcmeKitRequest["queryConfig"]["pagination"];
|
|
9
|
+
withDeleted?: boolean;
|
|
10
|
+
options?: RemoteJoinerOptions;
|
|
11
|
+
}) => Promise<Omit<GraphResultSet<TEntry>, "metadata"> & {
|
|
12
|
+
metadata: RemoteQueryFunctionReturnPagination;
|
|
13
|
+
}>;
|
|
14
|
+
export declare const refetchEntity: <TEntry extends string>({ entity, idOrFilter, scope, fields, options, }: {
|
|
15
|
+
entity: TEntry & string;
|
|
16
|
+
idOrFilter: string | object;
|
|
17
|
+
scope: AcmeKitContainer;
|
|
18
|
+
fields: string[];
|
|
19
|
+
options?: RemoteJoinerOptions;
|
|
20
|
+
}) => Promise<TEntry extends keyof RemoteQueryEntryPoints ? RemoteQueryEntryPoints[TEntry] : any>;
|
|
21
|
+
//# sourceMappingURL=refetch-entities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refetch-entities.d.ts","sourceRoot":"","sources":["../../../src/http/utils/refetch-entities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,mCAAmC,EACpC,MAAM,aAAa,CAAA;AAEpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9C,eAAO,MAAM,eAAe,GAAU,MAAM,SAAS,MAAM,EAAE,0EAQ1D;IACD,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,KAAK,EAAE,gBAAgB,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAA;IACxD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAC9B,KAAG,OAAO,CACT,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IACzC,QAAQ,EAAE,mCAAmC,CAAA;CAC9C,CA8BF,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,MAAM,SAAS,MAAM,EAAE,iDAMxD;IACD,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,KAAK,EAAE,gBAAgB,CAAA;IACvB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAC9B,KAAG,OAAO,CACT,MAAM,SAAS,MAAM,sBAAsB,GACvC,sBAAsB,CAAC,MAAM,CAAC,GAC9B,GAAG,CAWR,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.refetchEntity = exports.refetchEntities = void 0;
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
|
+
const refetchEntities = async ({ entity, idOrFilter, scope, fields, pagination, withDeleted, options, }) => {
|
|
6
|
+
const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
7
|
+
let filters = (0, utils_1.isString)(idOrFilter) ? { id: idOrFilter } : idOrFilter;
|
|
8
|
+
let context;
|
|
9
|
+
if (filters && "context" in filters) {
|
|
10
|
+
const { context: context_, ...rest } = filters;
|
|
11
|
+
if (context_) {
|
|
12
|
+
context = context_;
|
|
13
|
+
}
|
|
14
|
+
filters = rest;
|
|
15
|
+
}
|
|
16
|
+
const graphOptions = {
|
|
17
|
+
entity,
|
|
18
|
+
fields: fields ?? [],
|
|
19
|
+
filters,
|
|
20
|
+
pagination,
|
|
21
|
+
withDeleted,
|
|
22
|
+
context: context,
|
|
23
|
+
};
|
|
24
|
+
const result = await query.graph(graphOptions, options);
|
|
25
|
+
return {
|
|
26
|
+
data: result.data,
|
|
27
|
+
metadata: result.metadata ?? {},
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
exports.refetchEntities = refetchEntities;
|
|
31
|
+
const refetchEntity = async ({ entity, idOrFilter, scope, fields, options, }) => {
|
|
32
|
+
const { data } = await (0, exports.refetchEntities)({
|
|
33
|
+
entity,
|
|
34
|
+
idOrFilter,
|
|
35
|
+
scope,
|
|
36
|
+
fields,
|
|
37
|
+
options,
|
|
38
|
+
});
|
|
39
|
+
return Array.isArray(data) ? data[0] : data;
|
|
40
|
+
};
|
|
41
|
+
exports.refetchEntity = refetchEntity;
|
|
42
|
+
//# sourceMappingURL=refetch-entities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refetch-entities.js","sourceRoot":"","sources":["../../../src/http/utils/refetch-entities.ts"],"names":[],"mappings":";;;AAOA,uCAAiE;AAG1D,MAAM,eAAe,GAAG,KAAK,EAAyB,EAC3D,MAAM,EACN,UAAU,EACV,KAAK,EACL,MAAM,EACN,UAAU,EACV,WAAW,EACX,OAAO,GASR,EAIC,EAAE;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,iCAAyB,CAAC,KAAK,CAAC,CAAA;IAC5D,IAAI,OAAO,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAA;IACpE,IAAI,OAAiC,CAAA;IAErC,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QACpC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,QAAoC,CAAA;QAChD,CAAC;QACD,OAAO,GAAG,IAAI,CAAA;IAChB,CAAC;IAED,MAAM,YAAY,GAAsC;QACtD,MAAM;QACN,MAAM,EAAE,MAAM,IAAI,EAAE;QACpB,OAAO;QACP,UAAU;QACV,WAAW;QACX,OAAO,EAAE,OAAO;KACjB,CAAA;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACvD,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAEJ;QACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAK,EAA0C;KACzE,CAAA;AACH,CAAC,CAAA;AAjDY,QAAA,eAAe,mBAiD3B;AAEM,MAAM,aAAa,GAAG,KAAK,EAAyB,EACzD,MAAM,EACN,UAAU,EACV,KAAK,EACL,MAAM,EACN,OAAO,GAOR,EAIC,EAAE;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,uBAAe,EAAS;QAC7C,MAAM;QACN,UAAU;QACV,KAAK;QACL,MAAM;QACN,OAAO;KACR,CAAC,CAAA;IAEF,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC7C,CAAC,CAAA;AA1BY,QAAA,aAAa,iBA0BzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restricted-fields.d.ts","sourceRoot":"","sources":["../../../src/http/utils/restricted-fields.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;;IAU3B,IAAI;IAIJ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE;CAGrB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var _RestrictedFields_restrictedFields;
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.RestrictedFields = void 0;
|
|
10
|
+
class RestrictedFields {
|
|
11
|
+
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* Fields that are restricted from being selected in the response.
|
|
14
|
+
* Those fields can be allowed if specified in the allowed configuration of the query config of an end point.
|
|
15
|
+
*
|
|
16
|
+
* @type {string[]}
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
_RestrictedFields_restrictedFields.set(this, new Set());
|
|
20
|
+
}
|
|
21
|
+
list() {
|
|
22
|
+
return Array.from(__classPrivateFieldGet(this, _RestrictedFields_restrictedFields, "f"));
|
|
23
|
+
}
|
|
24
|
+
add(fields) {
|
|
25
|
+
fields.map((field) => __classPrivateFieldGet(this, _RestrictedFields_restrictedFields, "f").add(field));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.RestrictedFields = RestrictedFields;
|
|
29
|
+
_RestrictedFields_restrictedFields = new WeakMap();
|
|
30
|
+
//# sourceMappingURL=restricted-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restricted-fields.js","sourceRoot":"","sources":["../../../src/http/utils/restricted-fields.ts"],"names":[],"mappings":";;;;;;;;;AAAA,MAAa,gBAAgB;IAA7B;QACE;;;;;;WAMG;QACH,6CAAiC,IAAI,GAAG,EAAE,EAAA;IAS5C,CAAC;IAPC,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,uBAAA,IAAI,0CAAkB,CAAC,CAAA;IAC3C,CAAC;IAED,GAAG,CAAC,MAAgB;QAClB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAA,IAAI,0CAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1D,CAAC;CACF;AAjBD,4CAiBC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AcmeKitNextFunction, AcmeKitRequest, AcmeKitResponse, MiddlewareFunction } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Due to how our route loader works, where we load all middlewares before routes, ambiguous routes * end up having all middlewares on different routes executed before the route handler is.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* This function allows us to skip middlewares for particular routes, so we can temporarily solve * * this without completely breaking the route loader for everyone.
|
|
7
|
+
*/
|
|
8
|
+
export declare const unlessPath: (onPath: RegExp, middleware: MiddlewareFunction) => (req: AcmeKitRequest, res: AcmeKitResponse, next: AcmeKitNextFunction) => any;
|
|
9
|
+
//# sourceMappingURL=unless-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unless-path.d.ts","sourceRoot":"","sources":["../../../src/http/utils/unless-path.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,kBAAkB,EACnB,MAAM,UAAU,CAAA;AAEjB;;GAEG;AACH;;GAEG;AACH,eAAO,MAAM,UAAU,GACpB,QAAQ,MAAM,EAAE,YAAY,kBAAkB,MAC9C,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,QAMpE,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.unlessPath = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Due to how our route loader works, where we load all middlewares before routes, ambiguous routes * end up having all middlewares on different routes executed before the route handler is.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* This function allows us to skip middlewares for particular routes, so we can temporarily solve * * this without completely breaking the route loader for everyone.
|
|
9
|
+
*/
|
|
10
|
+
const unlessPath = (onPath, middleware) => (req, res, next) => {
|
|
11
|
+
if (onPath.test(req.path)) {
|
|
12
|
+
return next();
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
return middleware(req, res, next);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.unlessPath = unlessPath;
|
|
19
|
+
//# sourceMappingURL=unless-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unless-path.js","sourceRoot":"","sources":["../../../src/http/utils/unless-path.ts"],"names":[],"mappings":";;;AAOA;;GAEG;AACH;;GAEG;AACI,MAAM,UAAU,GACrB,CAAC,MAAc,EAAE,UAA8B,EAAE,EAAE,CACnD,CAAC,GAAmB,EAAE,GAAoB,EAAE,IAAyB,EAAE,EAAE;IACvE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,EAAE,CAAA;IACf,CAAC;SAAM,CAAC;QACN,OAAO,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;AACH,CAAC,CAAA;AARU,QAAA,UAAU,cAQpB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { z } from "@acmekit/deps/zod";
|
|
2
|
+
import { NextFunction } from "express";
|
|
3
|
+
import { AcmeKitRequest, AcmeKitResponse } from "../types";
|
|
4
|
+
export declare function validateAndTransformBody(zodSchema: z.ZodObject<any, any> | z.ZodEffects<any, any> | ((customSchema?: z.ZodOptional<z.ZodNullable<z.ZodObject<any, any>>>) => z.ZodObject<any, any> | z.ZodEffects<any, any>)): (req: AcmeKitRequest, res: AcmeKitResponse, next: NextFunction) => Promise<void>;
|
|
5
|
+
//# sourceMappingURL=validate-body.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-body.d.ts","sourceRoot":"","sources":["../../../src/http/utils/validate-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1D,wBAAgB,wBAAwB,CACtC,SAAS,EACL,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,GACrB,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,GACtB,CAAC,CACC,YAAY,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAC/D,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GACvD,CACD,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,IAAI,CAAC,CAoBjB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateAndTransformBody = validateAndTransformBody;
|
|
4
|
+
const zod_1 = require("../../zod");
|
|
5
|
+
function validateAndTransformBody(zodSchema) {
|
|
6
|
+
return async function validateBody(req, _, next) {
|
|
7
|
+
try {
|
|
8
|
+
let schema;
|
|
9
|
+
if (typeof zodSchema === "function") {
|
|
10
|
+
schema = zodSchema(req.additionalDataValidator);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
schema = zodSchema;
|
|
14
|
+
}
|
|
15
|
+
req.validatedBody = await (0, zod_1.zodValidator)(schema, req.body);
|
|
16
|
+
next();
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
next(e);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=validate-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-body.js","sourceRoot":"","sources":["../../../src/http/utils/validate-body.ts"],"names":[],"mappings":";;AAKA,4DA+BC;AAjCD,mCAAwC;AAExC,SAAgB,wBAAwB,CACtC,SAKwD;IAMxD,OAAO,KAAK,UAAU,YAAY,CAChC,GAAmB,EACnB,CAAkB,EAClB,IAAkB;QAElB,IAAI,CAAC;YACH,IAAI,MAAsD,CAAA;YAC1D,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;gBACpC,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,SAAS,CAAA;YACpB,CAAC;YAED,GAAG,CAAC,aAAa,GAAG,MAAM,IAAA,kBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;YACxD,IAAI,EAAE,CAAA;QACR,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,CAAC,CAAC,CAAA;QACT,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { z } from "@acmekit/deps/zod";
|
|
2
|
+
import { BaseEntity, QueryConfig } from "@acmekit/types";
|
|
3
|
+
import { NextFunction } from "express";
|
|
4
|
+
import { AcmeKitRequest, AcmeKitResponse } from "../types";
|
|
5
|
+
export declare function validateAndTransformQuery<TEntity extends BaseEntity>(zodSchema: z.ZodObject<any, any> | z.ZodEffects<any, any>, queryConfig: QueryConfig<TEntity>): (req: AcmeKitRequest, res: AcmeKitResponse, next: NextFunction) => Promise<void>;
|
|
6
|
+
//# sourceMappingURL=validate-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-query.d.ts","sourceRoot":"","sources":["../../../src/http/utils/validate-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAsB,MAAM,gBAAgB,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAiD1D,wBAAgB,yBAAyB,CAAC,OAAO,SAAS,UAAU,EAClE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EACzD,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,GAChC,CACD,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,IAAI,CAAC,CAsDjB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateAndTransformQuery = validateAndTransformQuery;
|
|
4
|
+
const utils_1 = require("@acmekit/utils");
|
|
5
|
+
const zod_helpers_1 = require("../../zod/zod-helpers");
|
|
6
|
+
const get_query_config_1 = require("./get-query-config");
|
|
7
|
+
/**
|
|
8
|
+
* Normalize an input query, especially from array like query params to an array type
|
|
9
|
+
* e.g: /admin/orders/?fields[]=id,status,cart_id becomes { fields: ["id", "status", "cart_id"] }
|
|
10
|
+
*
|
|
11
|
+
* We only support up to 2 levels of depth for query params in order to have a somewhat readable query param, and limit possible performance issues
|
|
12
|
+
*/
|
|
13
|
+
const normalizeQuery = (req) => {
|
|
14
|
+
return Object.entries(req.query).reduce((acc, [key, val]) => {
|
|
15
|
+
let normalizedValue = val;
|
|
16
|
+
if (Array.isArray(val) && val.length === 1 && typeof val[0] === "string") {
|
|
17
|
+
normalizedValue = val[0].split(",");
|
|
18
|
+
}
|
|
19
|
+
if (key.includes(".")) {
|
|
20
|
+
const [parent, child, ...others] = key.split(".");
|
|
21
|
+
if (others.length > 0) {
|
|
22
|
+
throw new utils_1.AcmeKitError(utils_1.AcmeKitError.Types.INVALID_ARGUMENT, `Key accessor more than 2 levels deep: ${key}`);
|
|
23
|
+
}
|
|
24
|
+
if (!acc[parent]) {
|
|
25
|
+
acc[parent] = {};
|
|
26
|
+
}
|
|
27
|
+
acc[parent] = {
|
|
28
|
+
...acc[parent],
|
|
29
|
+
[child]: normalizedValue,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
acc[key] = normalizedValue;
|
|
34
|
+
}
|
|
35
|
+
return acc;
|
|
36
|
+
}, {});
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Omit the non filterable config from the validated object
|
|
40
|
+
* @param obj
|
|
41
|
+
*/
|
|
42
|
+
const getFilterableFields = (obj) => {
|
|
43
|
+
const { limit, offset, fields, order, ...result } = obj;
|
|
44
|
+
return (0, utils_1.removeUndefinedProperties)(result);
|
|
45
|
+
};
|
|
46
|
+
function validateAndTransformQuery(zodSchema, queryConfig) {
|
|
47
|
+
return async function validateQuery(req, _, next) {
|
|
48
|
+
try {
|
|
49
|
+
const restricted = req.restrictedFields?.list();
|
|
50
|
+
const allowed = queryConfig.allowed ?? [];
|
|
51
|
+
// If any custom allowed fields are set, we add them to the allowed list along side the one configured in the query config if any
|
|
52
|
+
if (req.allowed?.length) {
|
|
53
|
+
allowed.push(...req.allowed);
|
|
54
|
+
}
|
|
55
|
+
delete req.allowed;
|
|
56
|
+
const query = normalizeQuery(req);
|
|
57
|
+
const validated = await (0, zod_helpers_1.zodValidator)(zodSchema, query);
|
|
58
|
+
const cnf = queryConfig.isList
|
|
59
|
+
? await (0, get_query_config_1.prepareListQuery)(validated, {
|
|
60
|
+
...queryConfig,
|
|
61
|
+
allowed,
|
|
62
|
+
restricted,
|
|
63
|
+
isList: true,
|
|
64
|
+
}, req)
|
|
65
|
+
: await (0, get_query_config_1.prepareRetrieveQuery)(validated, {
|
|
66
|
+
...queryConfig,
|
|
67
|
+
allowed,
|
|
68
|
+
restricted,
|
|
69
|
+
}, req);
|
|
70
|
+
const { with_deleted, ...validatedQueryFilters } = validated;
|
|
71
|
+
req.validatedQuery = validatedQueryFilters;
|
|
72
|
+
req.filterableFields = getFilterableFields(req.validatedQuery);
|
|
73
|
+
req.queryConfig = cnf.remoteQueryConfig;
|
|
74
|
+
req.remoteQueryConfig = req.queryConfig;
|
|
75
|
+
req.listConfig = cnf.listConfig;
|
|
76
|
+
req.retrieveConfig = cnf.retrieveConfig;
|
|
77
|
+
next();
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
next(e);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=validate-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-query.js","sourceRoot":"","sources":["../../../src/http/utils/validate-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap-handler.d.ts","sourceRoot":"","sources":["../../../src/http/utils/wrap-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,kBAAkB,EAClB,YAAY,EACb,MAAM,UAAU,CAAA;AAEjB,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,YAAY,GAAG,kBAAkB,EACrE,IAAI,CAAC,KA0BoB,CAC1B,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.wrapHandler = void 0;
|
|
4
|
+
const wrapHandler = (fn) => {
|
|
5
|
+
async function wrappedHandler(req, res, next) {
|
|
6
|
+
const req_ = req;
|
|
7
|
+
if (req_?.errors?.length) {
|
|
8
|
+
return res.status(400).json({
|
|
9
|
+
errors: req_.errors,
|
|
10
|
+
message: "Provided request body contains errors. Please check the data and retry the request",
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
try {
|
|
14
|
+
return await fn(req, res, next);
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
next(err);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (fn.name) {
|
|
21
|
+
Object.defineProperty(wrappedHandler, "name", { value: fn.name });
|
|
22
|
+
}
|
|
23
|
+
return wrappedHandler;
|
|
24
|
+
};
|
|
25
|
+
exports.wrapHandler = wrapHandler;
|
|
26
|
+
//# sourceMappingURL=wrap-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrap-handler.js","sourceRoot":"","sources":["../../../src/http/utils/wrap-handler.ts"],"names":[],"mappings":";;;AAQO,MAAM,WAAW,GAAG,CACzB,EAAK,EACL,EAAE;IACF,KAAK,UAAU,cAAc,CAC3B,GAAmB,EACnB,GAAoB,EACpB,IAAyB;QAEzB,MAAM,IAAI,GAAG,GAA4C,CAAA;QACzD,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACzB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EACL,oFAAoF;aACvF,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,CAAA;QACX,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,cAAmB,CAAA;AAC5B,CAAC,CAAA;AA5BY,QAAA,WAAW,eA4BvB"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * from "./config";
|
|
2
|
+
export * from "./container";
|
|
3
|
+
export * from "./database";
|
|
4
|
+
export * from "./feature-flags";
|
|
5
|
+
export * from "./http";
|
|
6
|
+
export * from "./jobs";
|
|
7
|
+
export * from "./links";
|
|
8
|
+
export * from "./logger";
|
|
9
|
+
export * from "./acmekit-app-loader";
|
|
10
|
+
export * from "./migrations";
|
|
11
|
+
export * from "./policies";
|
|
12
|
+
export * from "./subscribers";
|
|
13
|
+
export * from "./telemetry";
|
|
14
|
+
export * from "./workflows";
|
|
15
|
+
export * from "./zod";
|
|
16
|
+
export declare const MEDUSA_CLI_PATH: string;
|
|
17
|
+
export { Query } from "@acmekit/modules-sdk";
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,OAAO,CAAA;AAErB,eAAO,MAAM,eAAe,QAAkC,CAAA;AAE9D,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.Query = exports.MEDUSA_CLI_PATH = void 0;
|
|
18
|
+
__exportStar(require("./config"), exports);
|
|
19
|
+
__exportStar(require("./container"), exports);
|
|
20
|
+
__exportStar(require("./database"), exports);
|
|
21
|
+
__exportStar(require("./feature-flags"), exports);
|
|
22
|
+
__exportStar(require("./http"), exports);
|
|
23
|
+
__exportStar(require("./jobs"), exports);
|
|
24
|
+
__exportStar(require("./links"), exports);
|
|
25
|
+
__exportStar(require("./logger"), exports);
|
|
26
|
+
__exportStar(require("./acmekit-app-loader"), exports);
|
|
27
|
+
__exportStar(require("./migrations"), exports);
|
|
28
|
+
__exportStar(require("./policies"), exports);
|
|
29
|
+
__exportStar(require("./subscribers"), exports);
|
|
30
|
+
__exportStar(require("./telemetry"), exports);
|
|
31
|
+
__exportStar(require("./workflows"), exports);
|
|
32
|
+
__exportStar(require("./zod"), exports);
|
|
33
|
+
exports.MEDUSA_CLI_PATH = require.resolve("@acmekit/cli");
|
|
34
|
+
var modules_sdk_1 = require("@acmekit/modules-sdk");
|
|
35
|
+
Object.defineProperty(exports, "Query", { enumerable: true, get: function () { return modules_sdk_1.Query; } });
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,8CAA2B;AAC3B,6CAA0B;AAC1B,kDAA+B;AAC/B,yCAAsB;AACtB,yCAAsB;AACtB,0CAAuB;AACvB,2CAAwB;AACxB,uDAAoC;AACpC,+CAA4B;AAC5B,6CAA0B;AAC1B,gDAA6B;AAC7B,8CAA2B;AAC3B,8CAA2B;AAC3B,wCAAqB;AAER,QAAA,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;AAE9D,oDAA4C;AAAnC,oGAAA,KAAK,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/jobs/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./job-loader"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jobs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { SchedulerOptions } from "@acmekit/orchestration";
|
|
2
|
+
import { AcmeKitContainer } from "@acmekit/types";
|
|
3
|
+
import { ResourceLoader } from "../utils/resource-loader";
|
|
4
|
+
type CronJobConfig = {
|
|
5
|
+
name: string;
|
|
6
|
+
schedule: string | SchedulerOptions;
|
|
7
|
+
numberOfExecutions?: SchedulerOptions["numberOfExecutions"];
|
|
8
|
+
};
|
|
9
|
+
type CronJobHandler = (container: AcmeKitContainer) => Promise<any>;
|
|
10
|
+
export declare class JobLoader extends ResourceLoader {
|
|
11
|
+
protected resourceName: string;
|
|
12
|
+
constructor(sourceDir: string | string[], container: AcmeKitContainer);
|
|
13
|
+
loadFile(path: string): Promise<void>;
|
|
14
|
+
protected onFileLoaded(path: string, fileExports: {
|
|
15
|
+
default: CronJobHandler;
|
|
16
|
+
config: CronJobConfig;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Validate cron job configuration
|
|
20
|
+
* @param config
|
|
21
|
+
* @protected
|
|
22
|
+
*/
|
|
23
|
+
protected validateConfig(config: {
|
|
24
|
+
schedule: string | SchedulerOptions;
|
|
25
|
+
name: string;
|
|
26
|
+
}): void;
|
|
27
|
+
/**
|
|
28
|
+
* Create a workflow to register a new cron job
|
|
29
|
+
* @param config
|
|
30
|
+
* @param handler
|
|
31
|
+
* @protected
|
|
32
|
+
*/
|
|
33
|
+
protected register({ path, config, handler, }: {
|
|
34
|
+
path: string;
|
|
35
|
+
config: CronJobConfig;
|
|
36
|
+
handler: CronJobHandler;
|
|
37
|
+
}): void;
|
|
38
|
+
/**
|
|
39
|
+
* Load cron jobs from one or multiple source paths
|
|
40
|
+
*/
|
|
41
|
+
load(): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=job-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-loader.d.ts","sourceRoot":"","sources":["../../src/jobs/job-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAajD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAA;IACnC,kBAAkB,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAA;CAC5D,CAAA;AAED,KAAK,cAAc,GAAG,CAAC,SAAS,EAAE,gBAAgB,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;AAEnE,qBAAa,SAAU,SAAQ,cAAc;IAC3C,SAAS,CAAC,YAAY,SAAQ;gBAElB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,gBAAgB;IAI/D,QAAQ,CAAC,IAAI,EAAE,MAAM;cAKX,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE;QACX,OAAO,EAAE,cAAc,CAAA;QACvB,MAAM,EAAE,aAAa,CAAA;KACtB;IAeH;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE;QAC/B,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAA;QACnC,IAAI,EAAE,MAAM,CAAA;KACb;IAuBD;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,EACjB,IAAI,EACJ,MAAM,EACN,OAAO,GACR,EAAE;QACD,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,aAAa,CAAA;QACrB,OAAO,EAAE,cAAc,CAAA;KACxB;IAwCD;;OAEG;IACG,IAAI;CAKX"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.JobLoader = void 0;
|
|
4
|
+
const utils_1 = require("@acmekit/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@acmekit/workflows-sdk");
|
|
6
|
+
const resource_loader_1 = require("../utils/resource-loader");
|
|
7
|
+
class JobLoader extends resource_loader_1.ResourceLoader {
|
|
8
|
+
constructor(sourceDir, container) {
|
|
9
|
+
super(sourceDir, container);
|
|
10
|
+
this.resourceName = "job";
|
|
11
|
+
}
|
|
12
|
+
async loadFile(path) {
|
|
13
|
+
const exports = await (0, utils_1.dynamicImport)(path);
|
|
14
|
+
await this.onFileLoaded(path, exports);
|
|
15
|
+
}
|
|
16
|
+
async onFileLoaded(path, fileExports) {
|
|
17
|
+
if ((0, utils_1.isFileSkipped)(fileExports)) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
this.validateConfig(fileExports.config);
|
|
21
|
+
this.logger.debug(`Registering job from ${path}.`);
|
|
22
|
+
this.register({
|
|
23
|
+
path,
|
|
24
|
+
config: fileExports.config,
|
|
25
|
+
handler: fileExports.default,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Validate cron job configuration
|
|
30
|
+
* @param config
|
|
31
|
+
* @protected
|
|
32
|
+
*/
|
|
33
|
+
validateConfig(config) {
|
|
34
|
+
if (!config) {
|
|
35
|
+
throw new utils_1.AcmeKitError(utils_1.AcmeKitError.Types.INVALID_ARGUMENT, "Config is required for scheduled jobs.");
|
|
36
|
+
}
|
|
37
|
+
if (!config.schedule) {
|
|
38
|
+
throw new utils_1.AcmeKitError(utils_1.AcmeKitError.Types.INVALID_ARGUMENT, "Cron schedule definition is required for scheduled jobs.");
|
|
39
|
+
}
|
|
40
|
+
if (!config.name) {
|
|
41
|
+
throw new utils_1.AcmeKitError(utils_1.AcmeKitError.Types.INVALID_ARGUMENT, "Job name is required for scheduled jobs.");
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Create a workflow to register a new cron job
|
|
46
|
+
* @param config
|
|
47
|
+
* @param handler
|
|
48
|
+
* @protected
|
|
49
|
+
*/
|
|
50
|
+
register({ path, config, handler, }) {
|
|
51
|
+
const workflowName = `job-${config.name}`;
|
|
52
|
+
const step = (0, workflows_sdk_1.createStep)(`${config.name}-as-step`, async (_, stepContext) => {
|
|
53
|
+
const { container } = stepContext;
|
|
54
|
+
try {
|
|
55
|
+
const res = await handler(container);
|
|
56
|
+
return new workflows_sdk_1.StepResponse(res, res);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
this.logger.error(`Scheduled job ${config.name} failed with error: ${error.message}`);
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
const workflowConfig = {
|
|
64
|
+
name: workflowName,
|
|
65
|
+
schedule: (0, utils_1.isObject)(config.schedule)
|
|
66
|
+
? config.schedule
|
|
67
|
+
: {
|
|
68
|
+
cron: config.schedule,
|
|
69
|
+
numberOfExecutions: config.numberOfExecutions,
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
(0, workflows_sdk_1.createWorkflow)(workflowConfig, () => {
|
|
73
|
+
step();
|
|
74
|
+
});
|
|
75
|
+
(0, utils_1.registerDevServerResource)({
|
|
76
|
+
sourcePath: path,
|
|
77
|
+
id: workflowName,
|
|
78
|
+
type: "job",
|
|
79
|
+
config: config,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Load cron jobs from one or multiple source paths
|
|
84
|
+
*/
|
|
85
|
+
async load() {
|
|
86
|
+
await super.discoverResources();
|
|
87
|
+
this.logger.debug(`Jobs registered.`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.JobLoader = JobLoader;
|
|
91
|
+
//# sourceMappingURL=job-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"job-loader.js","sourceRoot":"","sources":["../../src/jobs/job-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/links/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./link-loader"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/links/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA6B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Logger } from "@acmekit/types";
|
|
2
|
+
export declare class LinkLoader {
|
|
3
|
+
#private;
|
|
4
|
+
constructor(sourceDir: string | string[], logger?: Logger);
|
|
5
|
+
/**
|
|
6
|
+
* Load links from the source paths, links are registering themselves,
|
|
7
|
+
* therefore we only need to import them
|
|
8
|
+
*/
|
|
9
|
+
load(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=link-loader.d.ts.map
|