@dagger.io/dagger 0.13.7 → 0.15.0
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/dist/{api → src/api}/client.gen.d.ts +304 -370
- package/dist/src/api/client.gen.d.ts.map +1 -0
- package/dist/{api → src/api}/client.gen.js +1385 -3821
- package/dist/src/common/context.d.ts +12 -0
- package/dist/src/common/context.d.ts.map +1 -0
- package/dist/src/common/context.js +22 -0
- package/dist/{common → src/common}/errors/DaggerSDKError.d.ts +1 -1
- package/dist/src/common/errors/DaggerSDKError.d.ts.map +1 -0
- package/dist/src/common/errors/DockerImageRefValidationError.d.ts.map +1 -0
- package/dist/src/common/errors/EngineSessionConnectParamsParseError.d.ts.map +1 -0
- package/dist/src/common/errors/EngineSessionConnectionTimeoutError.d.ts.map +1 -0
- package/dist/src/common/errors/EngineSessionErrorOptions.d.ts.map +1 -0
- package/dist/{common → src/common}/errors/ExecError.d.ts +0 -1
- package/dist/src/common/errors/ExecError.d.ts.map +1 -0
- package/dist/{common → src/common}/errors/ExecError.js +0 -3
- package/dist/src/common/errors/FunctionNotFound.d.ts.map +1 -0
- package/dist/src/common/errors/GraphQLRequestError.d.ts.map +1 -0
- package/dist/src/common/errors/InitEngineSessionBinaryError.d.ts.map +1 -0
- package/dist/src/common/errors/IntrospectionError.d.ts +7 -0
- package/dist/src/common/errors/IntrospectionError.d.ts.map +1 -0
- package/dist/src/common/errors/IntrospectionError.js +9 -0
- package/dist/src/common/errors/NotAwaitedRequestError.d.ts.map +1 -0
- package/dist/src/common/errors/TooManyNestedObjectsError.d.ts.map +1 -0
- package/dist/src/common/errors/UnknownDaggerError.d.ts.map +1 -0
- package/dist/{common → src/common}/errors/errors-codes.d.ts +4 -0
- package/dist/src/common/errors/errors-codes.d.ts.map +1 -0
- package/dist/{common → src/common}/errors/errors-codes.js +4 -0
- package/dist/{common → src/common}/errors/index.d.ts +2 -0
- package/dist/src/common/errors/index.d.ts.map +1 -0
- package/dist/{common → src/common}/errors/index.js +2 -0
- package/dist/src/common/graphql/client.d.ts.map +1 -0
- package/dist/{api/utils.d.ts → src/common/graphql/compute_query.d.ts} +10 -2
- package/dist/src/common/graphql/compute_query.d.ts.map +1 -0
- package/dist/{api/utils.js → src/common/graphql/compute_query.js} +4 -4
- package/dist/src/common/graphql/connect.d.ts +8 -0
- package/dist/src/common/graphql/connect.d.ts.map +1 -0
- package/dist/src/common/graphql/connect.js +22 -0
- package/dist/src/common/graphql/connection.d.ts +14 -0
- package/dist/src/common/graphql/connection.d.ts.map +1 -0
- package/dist/src/common/graphql/connection.js +23 -0
- package/dist/{common → src/common}/utils.d.ts +4 -4
- package/dist/src/common/utils.d.ts.map +1 -0
- package/dist/{connect.d.ts → src/connect.d.ts} +0 -4
- package/dist/src/connect.d.ts.map +1 -0
- package/dist/{connect.js → src/connect.js} +21 -23
- package/dist/src/connectOpts.d.ts.map +1 -0
- package/dist/{index.d.ts → src/index.d.ts} +5 -5
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +10 -0
- package/dist/{introspector/decorators → src/module}/decorators.d.ts +3 -3
- package/dist/src/module/decorators.d.ts.map +1 -0
- package/dist/{introspector/decorators → src/module}/decorators.js +1 -1
- package/dist/{entrypoint → src/module/entrypoint}/context.d.ts +1 -1
- package/dist/src/module/entrypoint/context.d.ts.map +1 -0
- package/dist/src/module/entrypoint/entrypoint.d.ts +2 -0
- package/dist/src/module/entrypoint/entrypoint.d.ts.map +1 -0
- package/dist/{entrypoint → src/module/entrypoint}/entrypoint.js +7 -16
- package/dist/{entrypoint → src/module/entrypoint}/invoke.d.ts +2 -2
- package/dist/src/module/entrypoint/invoke.d.ts.map +1 -0
- package/dist/{entrypoint → src/module/entrypoint}/invoke.js +2 -2
- package/dist/{entrypoint → src/module/entrypoint}/load.d.ts +6 -11
- package/dist/src/module/entrypoint/load.d.ts.map +1 -0
- package/dist/{entrypoint → src/module/entrypoint}/load.js +15 -5
- package/dist/src/module/entrypoint/register.d.ts +7 -0
- package/dist/src/module/entrypoint/register.d.ts.map +1 -0
- package/dist/{entrypoint → src/module/entrypoint}/register.js +3 -3
- package/dist/{introspector/executor → src/module}/executor.d.ts +4 -2
- package/dist/src/module/executor.d.ts.map +1 -0
- package/dist/src/module/executor.js +45 -0
- package/dist/src/module/introspector/case_convertor.d.ts +2 -0
- package/dist/src/module/introspector/case_convertor.d.ts.map +1 -0
- package/dist/src/module/introspector/case_convertor.js +17 -0
- package/dist/src/module/introspector/dagger_module/argument.d.ts +47 -0
- package/dist/src/module/introspector/dagger_module/argument.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/argument.js +109 -0
- package/dist/src/module/introspector/dagger_module/constructor.d.ts +18 -0
- package/dist/src/module/introspector/dagger_module/constructor.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/constructor.js +38 -0
- package/dist/src/module/introspector/dagger_module/decorator.d.ts +7 -0
- package/dist/src/module/introspector/dagger_module/decorator.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/decorator.js +6 -0
- package/dist/src/module/introspector/dagger_module/enum.d.ts +37 -0
- package/dist/src/module/introspector/dagger_module/enum.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/enum.js +55 -0
- package/dist/src/module/introspector/dagger_module/enumBase.d.ts +17 -0
- package/dist/src/module/introspector/dagger_module/enumBase.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/enumClass.d.ts +37 -0
- package/dist/src/module/introspector/dagger_module/enumClass.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/enumClass.js +61 -0
- package/dist/src/module/introspector/dagger_module/function.d.ts +35 -0
- package/dist/src/module/introspector/dagger_module/function.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/function.js +86 -0
- package/dist/src/module/introspector/dagger_module/index.d.ts +13 -0
- package/dist/src/module/introspector/dagger_module/index.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/index.js +12 -0
- package/dist/src/module/introspector/dagger_module/module.d.ts +110 -0
- package/dist/src/module/introspector/dagger_module/module.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/module.js +275 -0
- package/dist/src/module/introspector/dagger_module/object.d.ts +29 -0
- package/dist/src/module/introspector/dagger_module/object.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/object.js +91 -0
- package/dist/src/module/introspector/dagger_module/objectBase.d.ts +29 -0
- package/dist/src/module/introspector/dagger_module/objectBase.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/property.d.ts +33 -0
- package/dist/src/module/introspector/dagger_module/property.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/property.js +76 -0
- package/dist/src/module/introspector/dagger_module/reference.d.ts +13 -0
- package/dist/src/module/introspector/dagger_module/reference.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/reference.js +33 -0
- package/dist/src/module/introspector/dagger_module/typeObject.d.ts +25 -0
- package/dist/src/module/introspector/dagger_module/typeObject.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/typeObject.js +58 -0
- package/dist/src/module/introspector/dagger_module/typeObjectProperty.d.ts +31 -0
- package/dist/src/module/introspector/dagger_module/typeObjectProperty.d.ts.map +1 -0
- package/dist/src/module/introspector/dagger_module/typeObjectProperty.js +54 -0
- package/dist/src/module/introspector/index.d.ts +3 -0
- package/dist/src/module/introspector/index.d.ts.map +1 -0
- package/dist/src/module/introspector/index.js +16 -0
- package/dist/{introspector/scanner/typeDefs.d.ts → src/module/introspector/typedef.d.ts} +1 -1
- package/dist/src/module/introspector/typedef.d.ts.map +1 -0
- package/dist/src/module/introspector/typescript_module/ast.d.ts +42 -0
- package/dist/src/module/introspector/typescript_module/ast.d.ts.map +1 -0
- package/dist/src/module/introspector/typescript_module/ast.js +254 -0
- package/dist/src/module/introspector/typescript_module/declarations.d.ts +15 -0
- package/dist/src/module/introspector/typescript_module/declarations.d.ts.map +1 -0
- package/dist/src/module/introspector/typescript_module/declarations.js +10 -0
- package/dist/src/module/introspector/typescript_module/explorer.d.ts +4 -0
- package/dist/src/module/introspector/typescript_module/explorer.d.ts.map +1 -0
- package/dist/src/module/introspector/typescript_module/explorer.js +16 -0
- package/dist/src/module/introspector/typescript_module/index.d.ts +4 -0
- package/dist/src/module/introspector/typescript_module/index.d.ts.map +1 -0
- package/dist/src/module/introspector/typescript_module/index.js +3 -0
- package/dist/src/module/introspector/typescript_module/typedef_utils.d.ts +5 -0
- package/dist/src/module/introspector/typescript_module/typedef_utils.d.ts.map +1 -0
- package/dist/src/module/introspector/typescript_module/typedef_utils.js +26 -0
- package/dist/src/module/introspector/utils/files.d.ts.map +1 -0
- package/dist/{introspector → src/module/introspector}/utils/files.js +1 -1
- package/dist/src/module/registry.d.ts.map +1 -0
- package/dist/{introspector/registry → src/module}/registry.js +1 -1
- package/dist/src/provisioning/bin.d.ts.map +1 -0
- package/dist/{provisioning → src/provisioning}/bin.js +1 -1
- package/dist/src/provisioning/default.d.ts +2 -0
- package/dist/src/provisioning/default.d.ts.map +1 -0
- package/dist/{provisioning → src/provisioning}/default.js +1 -1
- package/dist/src/provisioning/engineconn.d.ts +30 -0
- package/dist/src/provisioning/engineconn.d.ts.map +1 -0
- package/dist/src/provisioning/engineconn.js +1 -0
- package/dist/src/provisioning/index.d.ts +4 -0
- package/dist/src/provisioning/index.d.ts.map +1 -0
- package/dist/src/provisioning/index.js +14 -0
- package/dist/src/telemetry/index.d.ts.map +1 -0
- package/dist/src/telemetry/init.d.ts.map +1 -0
- package/dist/src/telemetry/telemetry.d.ts.map +1 -0
- package/dist/src/telemetry/tracer.d.ts.map +1 -0
- package/package.json +5 -4
- package/dist/api/client.gen.d.ts.map +0 -1
- package/dist/api/utils.d.ts.map +0 -1
- package/dist/common/errors/DaggerSDKError.d.ts.map +0 -1
- package/dist/common/errors/DockerImageRefValidationError.d.ts.map +0 -1
- package/dist/common/errors/EngineSessionConnectParamsParseError.d.ts.map +0 -1
- package/dist/common/errors/EngineSessionConnectionTimeoutError.d.ts.map +0 -1
- package/dist/common/errors/EngineSessionErrorOptions.d.ts.map +0 -1
- package/dist/common/errors/ExecError.d.ts.map +0 -1
- package/dist/common/errors/FunctionNotFound.d.ts.map +0 -1
- package/dist/common/errors/GraphQLRequestError.d.ts.map +0 -1
- package/dist/common/errors/InitEngineSessionBinaryError.d.ts.map +0 -1
- package/dist/common/errors/NotAwaitedRequestError.d.ts.map +0 -1
- package/dist/common/errors/TooManyNestedObjectsError.d.ts.map +0 -1
- package/dist/common/errors/UnknownDaggerError.d.ts.map +0 -1
- package/dist/common/errors/errors-codes.d.ts.map +0 -1
- package/dist/common/errors/index.d.ts.map +0 -1
- package/dist/common/utils.d.ts.map +0 -1
- package/dist/connect.d.ts.map +0 -1
- package/dist/connectOpts.d.ts.map +0 -1
- package/dist/context/builder.d.ts +0 -9
- package/dist/context/builder.d.ts.map +0 -1
- package/dist/context/builder.js +0 -34
- package/dist/context/context.d.ts +0 -40
- package/dist/context/context.d.ts.map +0 -1
- package/dist/context/context.js +0 -53
- package/dist/entrypoint/context.d.ts.map +0 -1
- package/dist/entrypoint/entrypoint.d.ts +0 -2
- package/dist/entrypoint/entrypoint.d.ts.map +0 -1
- package/dist/entrypoint/invoke.d.ts.map +0 -1
- package/dist/entrypoint/load.d.ts.map +0 -1
- package/dist/entrypoint/register.d.ts +0 -7
- package/dist/entrypoint/register.d.ts.map +0 -1
- package/dist/graphql/client.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -7
- package/dist/introspector/decorators/decorators.d.ts.map +0 -1
- package/dist/introspector/executor/executor.d.ts.map +0 -1
- package/dist/introspector/executor/executor.js +0 -32
- package/dist/introspector/registry/registry.d.ts.map +0 -1
- package/dist/introspector/scanner/abtractions/argument.d.ts +0 -104
- package/dist/introspector/scanner/abtractions/argument.d.ts.map +0 -1
- package/dist/introspector/scanner/abtractions/argument.js +0 -207
- package/dist/introspector/scanner/abtractions/constructor.d.ts +0 -17
- package/dist/introspector/scanner/abtractions/constructor.d.ts.map +0 -1
- package/dist/introspector/scanner/abtractions/constructor.js +0 -40
- package/dist/introspector/scanner/abtractions/enum.d.ts +0 -33
- package/dist/introspector/scanner/abtractions/enum.d.ts.map +0 -1
- package/dist/introspector/scanner/abtractions/enum.js +0 -73
- package/dist/introspector/scanner/abtractions/enumValue.d.ts +0 -24
- package/dist/introspector/scanner/abtractions/enumValue.d.ts.map +0 -1
- package/dist/introspector/scanner/abtractions/enumValue.js +0 -51
- package/dist/introspector/scanner/abtractions/method.d.ts +0 -67
- package/dist/introspector/scanner/abtractions/method.d.ts.map +0 -1
- package/dist/introspector/scanner/abtractions/method.js +0 -132
- package/dist/introspector/scanner/abtractions/module.d.ts +0 -26
- package/dist/introspector/scanner/abtractions/module.d.ts.map +0 -1
- package/dist/introspector/scanner/abtractions/module.js +0 -103
- package/dist/introspector/scanner/abtractions/object.d.ts +0 -52
- package/dist/introspector/scanner/abtractions/object.d.ts.map +0 -1
- package/dist/introspector/scanner/abtractions/object.js +0 -118
- package/dist/introspector/scanner/abtractions/property.d.ts +0 -55
- package/dist/introspector/scanner/abtractions/property.d.ts.map +0 -1
- package/dist/introspector/scanner/abtractions/property.js +0 -110
- package/dist/introspector/scanner/abtractions/typeToTypedef.d.ts +0 -8
- package/dist/introspector/scanner/abtractions/typeToTypedef.d.ts.map +0 -1
- package/dist/introspector/scanner/abtractions/typeToTypedef.js +0 -85
- package/dist/introspector/scanner/scan.d.ts +0 -14
- package/dist/introspector/scanner/scan.d.ts.map +0 -1
- package/dist/introspector/scanner/scan.js +0 -26
- package/dist/introspector/scanner/typeDefs.d.ts.map +0 -1
- package/dist/introspector/scanner/utils.d.ts +0 -22
- package/dist/introspector/scanner/utils.d.ts.map +0 -1
- package/dist/introspector/scanner/utils.js +0 -101
- package/dist/introspector/utils/files.d.ts.map +0 -1
- package/dist/provisioning/bin.d.ts.map +0 -1
- package/dist/provisioning/default.d.ts +0 -2
- package/dist/provisioning/default.d.ts.map +0 -1
- package/dist/provisioning/engineconn.d.ts +0 -28
- package/dist/provisioning/engineconn.d.ts.map +0 -1
- package/dist/provisioning/index.d.ts +0 -4
- package/dist/provisioning/index.d.ts.map +0 -1
- package/dist/provisioning/index.js +0 -3
- package/dist/telemetry/attributes.d.ts +0 -2
- package/dist/telemetry/attributes.d.ts.map +0 -1
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/telemetry/init.d.ts.map +0 -1
- package/dist/telemetry/telemetry.d.ts.map +0 -1
- package/dist/telemetry/tracer.d.ts.map +0 -1
- /package/dist/{common → src/common}/errors/DaggerSDKError.js +0 -0
- /package/dist/{common → src/common}/errors/DockerImageRefValidationError.d.ts +0 -0
- /package/dist/{common → src/common}/errors/DockerImageRefValidationError.js +0 -0
- /package/dist/{common → src/common}/errors/EngineSessionConnectParamsParseError.d.ts +0 -0
- /package/dist/{common → src/common}/errors/EngineSessionConnectParamsParseError.js +0 -0
- /package/dist/{common → src/common}/errors/EngineSessionConnectionTimeoutError.d.ts +0 -0
- /package/dist/{common → src/common}/errors/EngineSessionConnectionTimeoutError.js +0 -0
- /package/dist/{common → src/common}/errors/EngineSessionErrorOptions.d.ts +0 -0
- /package/dist/{common → src/common}/errors/EngineSessionErrorOptions.js +0 -0
- /package/dist/{common → src/common}/errors/FunctionNotFound.d.ts +0 -0
- /package/dist/{common → src/common}/errors/FunctionNotFound.js +0 -0
- /package/dist/{common → src/common}/errors/GraphQLRequestError.d.ts +0 -0
- /package/dist/{common → src/common}/errors/GraphQLRequestError.js +0 -0
- /package/dist/{common → src/common}/errors/InitEngineSessionBinaryError.d.ts +0 -0
- /package/dist/{common → src/common}/errors/InitEngineSessionBinaryError.js +0 -0
- /package/dist/{common → src/common}/errors/NotAwaitedRequestError.d.ts +0 -0
- /package/dist/{common → src/common}/errors/NotAwaitedRequestError.js +0 -0
- /package/dist/{common → src/common}/errors/TooManyNestedObjectsError.d.ts +0 -0
- /package/dist/{common → src/common}/errors/TooManyNestedObjectsError.js +0 -0
- /package/dist/{common → src/common}/errors/UnknownDaggerError.d.ts +0 -0
- /package/dist/{common → src/common}/errors/UnknownDaggerError.js +0 -0
- /package/dist/{graphql → src/common/graphql}/client.d.ts +0 -0
- /package/dist/{graphql → src/common/graphql}/client.js +0 -0
- /package/dist/{common → src/common}/utils.js +0 -0
- /package/dist/{connectOpts.d.ts → src/connectOpts.d.ts} +0 -0
- /package/dist/{connectOpts.js → src/connectOpts.js} +0 -0
- /package/dist/{entrypoint → src/module/entrypoint}/context.js +0 -0
- /package/dist/{introspector/scanner/typeDefs.js → src/module/introspector/dagger_module/enumBase.js} +0 -0
- /package/dist/{provisioning/engineconn.js → src/module/introspector/dagger_module/objectBase.js} +0 -0
- /package/dist/{telemetry/attributes.js → src/module/introspector/typedef.js} +0 -0
- /package/dist/{introspector → src/module/introspector}/utils/files.d.ts +0 -0
- /package/dist/{introspector/registry → src/module}/registry.d.ts +0 -0
- /package/dist/{provisioning → src/provisioning}/bin.d.ts +0 -0
- /package/dist/{telemetry → src/telemetry}/index.d.ts +0 -0
- /package/dist/{telemetry → src/telemetry}/index.js +0 -0
- /package/dist/{telemetry → src/telemetry}/init.d.ts +0 -0
- /package/dist/{telemetry → src/telemetry}/init.js +0 -0
- /package/dist/{telemetry → src/telemetry}/telemetry.d.ts +0 -0
- /package/dist/{telemetry → src/telemetry}/telemetry.js +0 -0
- /package/dist/{telemetry → src/telemetry}/tracer.d.ts +0 -0
- /package/dist/{telemetry → src/telemetry}/tracer.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoke.d.ts","sourceRoot":"","sources":["../../../../src/module/entrypoint/invoke.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAIL,YAAY,EAEb,MAAM,wCAAwC,CAAA;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAcxC;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,gBAwDf"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FunctionNotFound } from "
|
|
2
|
-
import { registry } from "../
|
|
1
|
+
import { FunctionNotFound } from "../../common/errors/index.js";
|
|
2
|
+
import { registry } from "../registry.js";
|
|
3
3
|
import { loadResult, loadInvokedMethod, loadInvokedObject, loadArgs, loadParentState, loadObjectReturnType, } from "./load.js";
|
|
4
4
|
function isConstructor(method) {
|
|
5
5
|
return method.name === "";
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import Module from "node:module";
|
|
2
|
-
import { TypeDefKind } from "
|
|
3
|
-
import { Executor } from "../
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { DaggerEnum } from "../introspector/scanner/abtractions/enum.js";
|
|
7
|
-
import { Method } from "../introspector/scanner/abtractions/method.js";
|
|
8
|
-
import { DaggerModule } from "../introspector/scanner/abtractions/module.js";
|
|
9
|
-
import { DaggerObject } from "../introspector/scanner/abtractions/object.js";
|
|
10
|
-
import { TypeDef } from "../introspector/scanner/typeDefs.js";
|
|
2
|
+
import { TypeDefKind } from "../../api/client.gen.js";
|
|
3
|
+
import { Executor, Args } from "../executor.js";
|
|
4
|
+
import { DaggerConstructor as Constructor, DaggerFunction as Method, DaggerEnumBase, DaggerModule, DaggerObject, DaggerObjectBase } from "../introspector/dagger_module/index.js";
|
|
5
|
+
import { TypeDef } from "../introspector/typedef.js";
|
|
11
6
|
import { InvokeCtx } from "./context.js";
|
|
12
7
|
/**
|
|
13
8
|
* Import all given typescript files so that trigger their decorators
|
|
@@ -53,6 +48,6 @@ export declare function loadValue(executor: Executor, value: any, type: TypeDef<
|
|
|
53
48
|
* @param object The current object to load the return type from.
|
|
54
49
|
* @param method The method to load the return type from.
|
|
55
50
|
*/
|
|
56
|
-
export declare function loadObjectReturnType(module: DaggerModule, object: DaggerObject, method: Method):
|
|
57
|
-
export declare function loadResult(result: any, module: DaggerModule, object:
|
|
51
|
+
export declare function loadObjectReturnType(module: DaggerModule, object: DaggerObject, method: Method): DaggerObjectBase | DaggerEnumBase;
|
|
52
|
+
export declare function loadResult(result: any, module: DaggerModule, object: DaggerObjectBase | DaggerEnumBase): Promise<any>;
|
|
58
53
|
//# sourceMappingURL=load.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../../src/module/entrypoint/load.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,OAAO,EAAO,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EACL,iBAAiB,IAAI,WAAW,EAChC,cAAc,IAAI,MAAM,EAExB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,gBAAgB,EACjB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC;;;;;GAKG;AACH,wBAAsB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,GACjB,YAAY,CAEd;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,GACb,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,SAAS,CAMpC;AAED;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,GAAG,WAAW,EAC5B,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,IAAI,CAAC,CA6Cf;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,GAAG,EACV,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GACzB,OAAO,CAAC,GAAG,CAAC,CA2Cd;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,GACb,gBAAgB,GAAG,cAAc,CAwBnC;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,gBAAgB,GAAG,cAAc,GACxC,OAAO,CAAC,GAAG,CAAC,CA8Ed"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { dag, TypeDefKind } from "
|
|
2
|
-
import { DaggerEnum } from "../introspector/
|
|
3
|
-
import { DaggerObject } from "../introspector/scanner/abtractions/object.js";
|
|
1
|
+
import { dag, TypeDefKind } from "../../api/client.gen.js";
|
|
2
|
+
import { DaggerEnum, DaggerObject, } from "../introspector/dagger_module/index.js";
|
|
4
3
|
/**
|
|
5
4
|
* Import all given typescript files so that trigger their decorators
|
|
6
5
|
* and register their class and functions inside the Registry.
|
|
@@ -34,11 +33,14 @@ export function loadInvokedMethod(object, ctx) {
|
|
|
34
33
|
export async function loadArgs(executor, method, ctx) {
|
|
35
34
|
const args = {};
|
|
36
35
|
// Load arguments
|
|
37
|
-
for (const argName of method.
|
|
36
|
+
for (const argName of method.getArgsOrder()) {
|
|
38
37
|
const argument = method.arguments[argName];
|
|
39
38
|
if (!argument) {
|
|
40
39
|
throw new Error(`could not find argument ${argName}`);
|
|
41
40
|
}
|
|
41
|
+
if (!argument.type) {
|
|
42
|
+
throw new Error(`could not find type for argument ${argName}`);
|
|
43
|
+
}
|
|
42
44
|
const loadedArg = await loadValue(executor, ctx.fnArgs[argName], argument.type);
|
|
43
45
|
// If the argument is variadic, we need to load each args independently
|
|
44
46
|
// so it's correctly propagated when it's sent to the function.
|
|
@@ -73,6 +75,9 @@ export async function loadParentState(executor, object, ctx) {
|
|
|
73
75
|
if (!property) {
|
|
74
76
|
throw new Error(`could not find parent property ${key}`);
|
|
75
77
|
}
|
|
78
|
+
if (!property.type) {
|
|
79
|
+
throw new Error(`could not find type for parent property ${key}`);
|
|
80
|
+
}
|
|
76
81
|
parentState[property.name] = await loadValue(executor, value, property.type);
|
|
77
82
|
}
|
|
78
83
|
return parentState;
|
|
@@ -100,7 +105,6 @@ export async function loadValue(executor, value, type) {
|
|
|
100
105
|
// @ts-ignore
|
|
101
106
|
return dag[`load${objectType}FromID`](value);
|
|
102
107
|
}
|
|
103
|
-
// TODO(supports subfields serialization)
|
|
104
108
|
return executor.buildClass(objectType, value);
|
|
105
109
|
}
|
|
106
110
|
// Cannot use `,` to specify multiple matching case so instead we use fallthrough.
|
|
@@ -126,6 +130,9 @@ export async function loadValue(executor, value, type) {
|
|
|
126
130
|
*/
|
|
127
131
|
export function loadObjectReturnType(module, object, method) {
|
|
128
132
|
const retType = method.returnType;
|
|
133
|
+
if (!retType) {
|
|
134
|
+
throw new Error(`could not find return type for ${method.name}`);
|
|
135
|
+
}
|
|
129
136
|
switch (retType.kind) {
|
|
130
137
|
case TypeDefKind.ListKind: {
|
|
131
138
|
// Loop until we find the original object type.
|
|
@@ -162,6 +169,9 @@ export async function loadResult(result, module, object) {
|
|
|
162
169
|
if (!property) {
|
|
163
170
|
throw new Error(`could not find result property ${key}`);
|
|
164
171
|
}
|
|
172
|
+
if (!property.type) {
|
|
173
|
+
throw new Error(`could not find type for result property ${key}`);
|
|
174
|
+
}
|
|
165
175
|
let referencedObject = undefined;
|
|
166
176
|
// Handle nested objects
|
|
167
177
|
if (property.type.kind === TypeDefKind.ObjectKind) {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ModuleID } from "../../api/client.gen.js";
|
|
2
|
+
import { DaggerModule } from "../introspector/dagger_module/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* Register the module files and returns its ID
|
|
5
|
+
*/
|
|
6
|
+
export declare function register(files: string[], module: DaggerModule): Promise<ModuleID>;
|
|
7
|
+
//# sourceMappingURL=register.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../../src/module/entrypoint/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,QAAQ,EAGT,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAIL,YAAY,EACb,MAAM,wCAAwC,CAAA;AAS/C;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,QAAQ,CAAC,CA6DnB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dag, TypeDefKind, } from "
|
|
1
|
+
import { dag, TypeDefKind, } from "../../api/client.gen.js";
|
|
2
2
|
/**
|
|
3
3
|
* Register the module files and returns its ID
|
|
4
4
|
*/
|
|
@@ -85,9 +85,9 @@ function addArg(args) {
|
|
|
85
85
|
// If it has a default value but is not primitive, we set the value as optional
|
|
86
86
|
// to workaround the fact that the API isn't aware of the default value and will
|
|
87
87
|
// expect it to be set as required input.
|
|
88
|
-
if (arg.defaultValue) {
|
|
88
|
+
if (arg.defaultValue !== undefined) {
|
|
89
89
|
if (isPrimitiveType(arg.type)) {
|
|
90
|
-
opts.defaultValue = arg.defaultValue;
|
|
90
|
+
opts.defaultValue = JSON.stringify(arg.defaultValue);
|
|
91
91
|
}
|
|
92
92
|
else {
|
|
93
93
|
typeDef = typeDef.withOptional(true);
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import Module from "node:module";
|
|
2
|
+
import { DaggerModule } from "./introspector/dagger_module/index.js";
|
|
2
3
|
export type State = {
|
|
3
4
|
[property: string]: any;
|
|
4
5
|
};
|
|
5
6
|
export type Args = Record<string, unknown>;
|
|
6
7
|
export declare class Executor {
|
|
7
8
|
readonly modules: Module[];
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
private readonly daggerModule;
|
|
10
|
+
constructor(modules: Module[], daggerModule: DaggerModule);
|
|
11
|
+
private getExportedObject;
|
|
10
12
|
buildClass(object: string, state: State): any;
|
|
11
13
|
getResult(object: string, method: string, state: State, inputs: Args): Promise<any>;
|
|
12
14
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/module/executor.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,aAAa,CAAA;AAGhC,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAA;AAEpE,MAAM,MAAM,KAAK,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAE/C,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE1C,qBAAa,QAAQ;aAED,OAAO,EAAE,MAAM,EAAE;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBADb,OAAO,EAAE,MAAM,EAAE,EAChB,YAAY,EAAE,YAAY;IAG7C,OAAO,CAAC,iBAAiB;IAUzB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG;IAuBvC,SAAS,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,IAAI,GACX,OAAO,CAAC,GAAG,CAAC;CAchB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { FunctionNotFound } from "../common/errors/index.js";
|
|
2
|
+
export class Executor {
|
|
3
|
+
modules;
|
|
4
|
+
daggerModule;
|
|
5
|
+
constructor(modules, daggerModule) {
|
|
6
|
+
this.modules = modules;
|
|
7
|
+
this.daggerModule = daggerModule;
|
|
8
|
+
}
|
|
9
|
+
getExportedObject(object) {
|
|
10
|
+
const key = object;
|
|
11
|
+
const module = this.modules.find((m) => m[key] !== undefined);
|
|
12
|
+
if (!module) {
|
|
13
|
+
throw new FunctionNotFound(`Object ${object} not found`);
|
|
14
|
+
}
|
|
15
|
+
return module[key];
|
|
16
|
+
}
|
|
17
|
+
buildClass(object, state) {
|
|
18
|
+
const daggerObject = this.daggerModule.objects[object];
|
|
19
|
+
if (!daggerObject) {
|
|
20
|
+
throw new FunctionNotFound(`Object ${object} not found in the introspection`);
|
|
21
|
+
}
|
|
22
|
+
switch (daggerObject.kind()) {
|
|
23
|
+
case "class": {
|
|
24
|
+
const obj = this.getExportedObject(object);
|
|
25
|
+
const instanciatedClass = Object.create(obj.prototype);
|
|
26
|
+
Object.assign(instanciatedClass, state);
|
|
27
|
+
return instanciatedClass;
|
|
28
|
+
}
|
|
29
|
+
case "object": {
|
|
30
|
+
return state;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async getResult(object, method, state, inputs) {
|
|
35
|
+
const obj = this.getExportedObject(object);
|
|
36
|
+
if (method === "") {
|
|
37
|
+
return new obj(...Object.values(inputs));
|
|
38
|
+
}
|
|
39
|
+
const builtObj = this.buildClass(object, state);
|
|
40
|
+
if (!builtObj[method]) {
|
|
41
|
+
throw new FunctionNotFound(`Method ${method} not found`);
|
|
42
|
+
}
|
|
43
|
+
return await builtObj[method](...Object.values(inputs));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"case_convertor.d.ts","sourceRoot":"","sources":["../../../../src/module/introspector/case_convertor.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAoBzD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function convertToPascalCase(input) {
|
|
2
|
+
const words = input
|
|
3
|
+
.replace(/[^a-zA-Z0-9]/g, " ") // Replace non-alphanumeric characters with spaces
|
|
4
|
+
.split(/\s+/)
|
|
5
|
+
.filter((word) => word.length > 0);
|
|
6
|
+
if (words.length === 0) {
|
|
7
|
+
return ""; // No valid words found
|
|
8
|
+
}
|
|
9
|
+
// It's an edge case when moduleName is already in PascalCase or camelCase
|
|
10
|
+
if (words.length === 1) {
|
|
11
|
+
return words[0].charAt(0).toUpperCase() + words[0].slice(1);
|
|
12
|
+
}
|
|
13
|
+
const pascalCase = words
|
|
14
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
15
|
+
.join("");
|
|
16
|
+
return pascalCase;
|
|
17
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { TypeDefKind } from "../../../api/client.gen.js";
|
|
3
|
+
import { TypeDef } from "../typedef.js";
|
|
4
|
+
import { AST } from "../typescript_module/index.js";
|
|
5
|
+
import { References } from "./reference.js";
|
|
6
|
+
export type DaggerArguments = {
|
|
7
|
+
[name: string]: DaggerArgument;
|
|
8
|
+
};
|
|
9
|
+
export declare class DaggerArgument {
|
|
10
|
+
private readonly node;
|
|
11
|
+
private readonly ast;
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
private _typeRef?;
|
|
15
|
+
type?: TypeDef<TypeDefKind>;
|
|
16
|
+
isVariadic: boolean;
|
|
17
|
+
isNullable: boolean;
|
|
18
|
+
isOptional: boolean;
|
|
19
|
+
defaultPath?: string;
|
|
20
|
+
ignore?: string[];
|
|
21
|
+
defaultValue?: any;
|
|
22
|
+
private symbol;
|
|
23
|
+
constructor(node: ts.ParameterDeclaration, ast: AST);
|
|
24
|
+
/**
|
|
25
|
+
* Get the type of the parameter.
|
|
26
|
+
*
|
|
27
|
+
* If for it's a complex type that cannot be
|
|
28
|
+
* resolve yet, we save its string representation for further reference.
|
|
29
|
+
*/
|
|
30
|
+
private getType;
|
|
31
|
+
private getIsNullable;
|
|
32
|
+
private getDefaultValue;
|
|
33
|
+
getReference(): string | undefined;
|
|
34
|
+
propagateReferences(references: References): void;
|
|
35
|
+
toJSON(): {
|
|
36
|
+
name: string;
|
|
37
|
+
description: string;
|
|
38
|
+
type: TypeDef<TypeDefKind> | undefined;
|
|
39
|
+
isVariadic: boolean;
|
|
40
|
+
isNullable: boolean;
|
|
41
|
+
isOptional: boolean;
|
|
42
|
+
defaultValue: any;
|
|
43
|
+
defaultPath: string | undefined;
|
|
44
|
+
ignore: string[] | undefined;
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=argument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"argument.d.ts","sourceRoot":"","sources":["../../../../../src/module/introspector/dagger_module/argument.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAGxD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EACL,GAAG,EAGJ,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAA;AAEhE,qBAAa,cAAc;IAevB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAff,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAC3B,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,YAAY,CAAC,EAAE,GAAG,CAAA;IAEzB,OAAO,CAAC,MAAM,CAAW;gBAGN,IAAI,EAAE,EAAE,CAAC,oBAAoB,EAC7B,GAAG,EAAE,GAAG;IA6B3B;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,eAAe;IAShB,YAAY,IAAI,MAAM,GAAG,SAAS;IAWlC,mBAAmB,CAAC,UAAU,EAAE,UAAU;IAmBjD,MAAM;;;;;;;;;;;CAaP"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
import { IntrospectionError } from "../../../common/errors/index.js";
|
|
4
|
+
import { AST, isTypeDefResolved, resolveTypeDef, } from "../typescript_module/index.js";
|
|
5
|
+
import { ARGUMENT_DECORATOR } from "./decorator.js";
|
|
6
|
+
export class DaggerArgument {
|
|
7
|
+
node;
|
|
8
|
+
ast;
|
|
9
|
+
name;
|
|
10
|
+
description;
|
|
11
|
+
_typeRef;
|
|
12
|
+
type;
|
|
13
|
+
isVariadic;
|
|
14
|
+
isNullable;
|
|
15
|
+
isOptional;
|
|
16
|
+
defaultPath;
|
|
17
|
+
ignore;
|
|
18
|
+
defaultValue;
|
|
19
|
+
symbol;
|
|
20
|
+
constructor(node, ast) {
|
|
21
|
+
this.node = node;
|
|
22
|
+
this.ast = ast;
|
|
23
|
+
this.symbol = this.ast.getSymbolOrThrow(node.name);
|
|
24
|
+
this.name = this.node.name.getText();
|
|
25
|
+
this.description = this.ast.getDocFromSymbol(this.symbol);
|
|
26
|
+
this.defaultValue = this.getDefaultValue();
|
|
27
|
+
this.isVariadic = this.node.dotDotDotToken !== undefined;
|
|
28
|
+
this.isNullable = this.getIsNullable();
|
|
29
|
+
this.isOptional =
|
|
30
|
+
this.isVariadic || // if arguments has ...
|
|
31
|
+
(this.defaultValue === undefined && // if argument has a default value that couldn't be resolved.
|
|
32
|
+
this.node.initializer !== undefined) ||
|
|
33
|
+
this.isNullable || // if argument is nullable
|
|
34
|
+
this.node.questionToken !== undefined; // if argument has ?
|
|
35
|
+
const decoratorArguments = this.ast.getDecoratorArgument(this.node, ARGUMENT_DECORATOR, "object");
|
|
36
|
+
if (decoratorArguments) {
|
|
37
|
+
this.ignore = decoratorArguments.ignore;
|
|
38
|
+
this.defaultPath = decoratorArguments.defaultPath;
|
|
39
|
+
}
|
|
40
|
+
this.type = this.getType();
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Get the type of the parameter.
|
|
44
|
+
*
|
|
45
|
+
* If for it's a complex type that cannot be
|
|
46
|
+
* resolve yet, we save its string representation for further reference.
|
|
47
|
+
*/
|
|
48
|
+
getType() {
|
|
49
|
+
const type = this.ast.checker.getTypeAtLocation(this.node);
|
|
50
|
+
const typedef = this.ast.tsTypeToTypeDef(this.node, type);
|
|
51
|
+
if (typedef === undefined || !isTypeDefResolved(typedef)) {
|
|
52
|
+
this._typeRef = this.ast.typeToStringType(type);
|
|
53
|
+
}
|
|
54
|
+
return typedef;
|
|
55
|
+
}
|
|
56
|
+
getIsNullable() {
|
|
57
|
+
if (!this.node.type) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
if (ts.isUnionTypeNode(this.node.type)) {
|
|
61
|
+
for (const _type of this.node.type.types) {
|
|
62
|
+
if (_type.getText() === "null") {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
getDefaultValue() {
|
|
70
|
+
const initializer = this.node.initializer;
|
|
71
|
+
if (!initializer) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
return this.ast.resolveParameterDefaultValue(initializer);
|
|
75
|
+
}
|
|
76
|
+
getReference() {
|
|
77
|
+
if (this._typeRef &&
|
|
78
|
+
(this.type === undefined || !isTypeDefResolved(this.type))) {
|
|
79
|
+
return this._typeRef;
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
propagateReferences(references) {
|
|
84
|
+
if (!this._typeRef) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (this.type && isTypeDefResolved(this.type)) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const typeDef = references[this._typeRef];
|
|
91
|
+
if (!typeDef) {
|
|
92
|
+
throw new IntrospectionError(`could not find type reference for ${this._typeRef} at ${AST.getNodePosition(this.node)}.`);
|
|
93
|
+
}
|
|
94
|
+
this.type = resolveTypeDef(this.type, typeDef);
|
|
95
|
+
}
|
|
96
|
+
toJSON() {
|
|
97
|
+
return {
|
|
98
|
+
name: this.name,
|
|
99
|
+
description: this.description,
|
|
100
|
+
type: this.type,
|
|
101
|
+
isVariadic: this.isVariadic,
|
|
102
|
+
isNullable: this.isNullable,
|
|
103
|
+
isOptional: this.isOptional,
|
|
104
|
+
defaultValue: this.defaultValue,
|
|
105
|
+
defaultPath: this.defaultPath,
|
|
106
|
+
ignore: this.ignore,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { AST } from "../typescript_module/index.js";
|
|
3
|
+
import { DaggerArguments } from "./argument.js";
|
|
4
|
+
import { References } from "./reference.js";
|
|
5
|
+
export declare class DaggerConstructor {
|
|
6
|
+
private readonly node;
|
|
7
|
+
private readonly ast;
|
|
8
|
+
name: string;
|
|
9
|
+
arguments: DaggerArguments;
|
|
10
|
+
constructor(node: ts.ConstructorDeclaration, ast: AST);
|
|
11
|
+
getArgsOrder(): string[];
|
|
12
|
+
getReferences(): string[];
|
|
13
|
+
propagateReferences(references: References): void;
|
|
14
|
+
toJSON(): {
|
|
15
|
+
arguments: DaggerArguments;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=constructor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constructor.d.ts","sourceRoot":"","sources":["../../../../../src/module/introspector/dagger_module/constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AACnD,OAAO,EAAkB,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,qBAAa,iBAAiB;IAK1B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IALf,IAAI,EAAE,MAAM,CAAK;IACjB,SAAS,EAAE,eAAe,CAAK;gBAGnB,IAAI,EAAE,EAAE,CAAC,sBAAsB,EAC/B,GAAG,EAAE,GAAG;IAYpB,YAAY,IAAI,MAAM,EAAE;IAIxB,aAAa,IAAI,MAAM,EAAE;IAazB,mBAAmB,CAAC,UAAU,EAAE,UAAU;IAMjD,MAAM;;;CAKP"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DaggerArgument } from "./argument.js";
|
|
2
|
+
export class DaggerConstructor {
|
|
3
|
+
node;
|
|
4
|
+
ast;
|
|
5
|
+
name = "";
|
|
6
|
+
arguments = {};
|
|
7
|
+
constructor(node, ast) {
|
|
8
|
+
this.node = node;
|
|
9
|
+
this.ast = ast;
|
|
10
|
+
const parameters = this.node.parameters;
|
|
11
|
+
for (const parameter of parameters) {
|
|
12
|
+
this.arguments[parameter.name.getText()] = new DaggerArgument(parameter, this.ast);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
getArgsOrder() {
|
|
16
|
+
return Object.keys(this.arguments);
|
|
17
|
+
}
|
|
18
|
+
getReferences() {
|
|
19
|
+
const references = [];
|
|
20
|
+
for (const argument of Object.values(this.arguments)) {
|
|
21
|
+
const ref = argument.getReference();
|
|
22
|
+
if (ref) {
|
|
23
|
+
references.push(ref);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return references;
|
|
27
|
+
}
|
|
28
|
+
propagateReferences(references) {
|
|
29
|
+
for (const argument of Object.values(this.arguments)) {
|
|
30
|
+
argument.propagateReferences(references);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
toJSON() {
|
|
34
|
+
return {
|
|
35
|
+
arguments: this.arguments,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type DaggerDecorators = "object" | "func" | "argument" | "enumType" | "field";
|
|
2
|
+
export declare const OBJECT_DECORATOR: DaggerDecorators;
|
|
3
|
+
export declare const FUNCTION_DECORATOR: DaggerDecorators;
|
|
4
|
+
export declare const FIELD_DECORATOR: DaggerDecorators;
|
|
5
|
+
export declare const ARGUMENT_DECORATOR: DaggerDecorators;
|
|
6
|
+
export declare const ENUM_DECORATOR: DaggerDecorators;
|
|
7
|
+
//# sourceMappingURL=decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorator.d.ts","sourceRoot":"","sources":["../../../../../src/module/introspector/dagger_module/decorator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,MAAM,GACN,UAAU,GACV,UAAU,GACV,OAAO,CAAA;AAEX,eAAO,MAAM,gBAAgB,EAAkB,gBAAgB,CAAA;AAC/D,eAAO,MAAM,kBAAkB,EAAgB,gBAAgB,CAAA;AAC/D,eAAO,MAAM,eAAe,EAAiB,gBAAgB,CAAA;AAC7D,eAAO,MAAM,kBAAkB,EAAoB,gBAAgB,CAAA;AACnE,eAAO,MAAM,cAAc,EAAoB,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { argument, func, object, enumType, field } from "../../decorators.js";
|
|
2
|
+
export const OBJECT_DECORATOR = object.name;
|
|
3
|
+
export const FUNCTION_DECORATOR = func.name;
|
|
4
|
+
export const FIELD_DECORATOR = field.name;
|
|
5
|
+
export const ARGUMENT_DECORATOR = argument.name;
|
|
6
|
+
export const ENUM_DECORATOR = enumType.name;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { AST } from "../typescript_module/index.js";
|
|
3
|
+
import { DaggerEnumBase, DaggerEnumBaseValue } from "./enumBase.js";
|
|
4
|
+
export type DaggerEnums = {
|
|
5
|
+
[name: string]: DaggerEnum;
|
|
6
|
+
};
|
|
7
|
+
export type DaggerEnumValues = {
|
|
8
|
+
[name: string]: DaggerEnumValue;
|
|
9
|
+
};
|
|
10
|
+
export declare class DaggerEnumValue implements DaggerEnumBaseValue {
|
|
11
|
+
private readonly node;
|
|
12
|
+
private readonly ast;
|
|
13
|
+
name: string;
|
|
14
|
+
value: string;
|
|
15
|
+
description: string;
|
|
16
|
+
private symbol;
|
|
17
|
+
constructor(node: ts.EnumMember, ast: AST);
|
|
18
|
+
toJSON(): {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export declare class DaggerEnum implements DaggerEnumBase {
|
|
24
|
+
private readonly node;
|
|
25
|
+
private readonly ast;
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
values: DaggerEnumValues;
|
|
29
|
+
private symbol;
|
|
30
|
+
constructor(node: ts.EnumDeclaration, ast: AST);
|
|
31
|
+
toJSON(): {
|
|
32
|
+
name: string;
|
|
33
|
+
description: string;
|
|
34
|
+
values: DaggerEnumValues;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=enum.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../../src/module/introspector/dagger_module/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAG3B,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnE,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAA;AACxD,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAA;AAElE,qBAAa,eAAgB,YAAW,mBAAmB;IAQvD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IAE1B,OAAO,CAAC,MAAM,CAAW;gBAGN,IAAI,EAAE,EAAE,CAAC,UAAU,EACnB,GAAG,EAAE,GAAG;IAgB3B,MAAM;;;;CAMP;AAED,qBAAa,UAAW,YAAW,cAAc;IAQ7C,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,gBAAgB,CAAK;IAEpC,OAAO,CAAC,MAAM,CAAW;gBAGN,IAAI,EAAE,EAAE,CAAC,eAAe,EACxB,GAAG,EAAE,GAAG;IAc3B,MAAM;;;;;CAOP"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { IntrospectionError } from "../../../common/errors/index.js";
|
|
2
|
+
import { AST } from "../typescript_module/index.js";
|
|
3
|
+
export class DaggerEnumValue {
|
|
4
|
+
node;
|
|
5
|
+
ast;
|
|
6
|
+
name;
|
|
7
|
+
value;
|
|
8
|
+
description;
|
|
9
|
+
symbol;
|
|
10
|
+
constructor(node, ast) {
|
|
11
|
+
this.node = node;
|
|
12
|
+
this.ast = ast;
|
|
13
|
+
this.symbol = this.ast.getSymbolOrThrow(this.node.name);
|
|
14
|
+
this.name = this.node.name.getText();
|
|
15
|
+
this.description = this.ast.getDocFromSymbol(this.symbol);
|
|
16
|
+
const initializer = this.node.initializer;
|
|
17
|
+
if (!initializer) {
|
|
18
|
+
throw new IntrospectionError(`enum ${this.name} at ${AST.getNodePosition(this.node)} has no value set to its member.`);
|
|
19
|
+
}
|
|
20
|
+
this.value = this.ast.resolveParameterDefaultValue(initializer);
|
|
21
|
+
}
|
|
22
|
+
toJSON() {
|
|
23
|
+
return {
|
|
24
|
+
name: this.value,
|
|
25
|
+
description: this.description,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export class DaggerEnum {
|
|
30
|
+
node;
|
|
31
|
+
ast;
|
|
32
|
+
name;
|
|
33
|
+
description;
|
|
34
|
+
values = {};
|
|
35
|
+
symbol;
|
|
36
|
+
constructor(node, ast) {
|
|
37
|
+
this.node = node;
|
|
38
|
+
this.ast = ast;
|
|
39
|
+
this.name = this.node.name.getText();
|
|
40
|
+
this.symbol = this.ast.getSymbolOrThrow(this.node.name);
|
|
41
|
+
this.description = this.ast.getDocFromSymbol(this.symbol);
|
|
42
|
+
const members = this.node.members;
|
|
43
|
+
for (const member of members) {
|
|
44
|
+
const value = new DaggerEnumValue(member, this.ast);
|
|
45
|
+
this.values[value.name] = value;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
toJSON() {
|
|
49
|
+
return {
|
|
50
|
+
name: this.name,
|
|
51
|
+
description: this.description,
|
|
52
|
+
values: this.values,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface DaggerEnumBaseValue {
|
|
2
|
+
name: string;
|
|
3
|
+
value: string;
|
|
4
|
+
description: string;
|
|
5
|
+
}
|
|
6
|
+
export type DaggerEnumBaseValues = {
|
|
7
|
+
[name: string]: DaggerEnumBaseValue;
|
|
8
|
+
};
|
|
9
|
+
export interface DaggerEnumBase {
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
values: DaggerEnumBaseValues;
|
|
13
|
+
}
|
|
14
|
+
export type DaggerEnumsBase = {
|
|
15
|
+
[name: string]: DaggerEnumBase;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=enumBase.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enumBase.d.ts","sourceRoot":"","sources":["../../../../../src/module/introspector/dagger_module/enumBase.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAA;CAAE,CAAA;AAE1E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,oBAAoB,CAAA;CAC7B;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { AST } from "../typescript_module/index.js";
|
|
3
|
+
import { DaggerEnumBase, DaggerEnumBaseValue } from "./enumBase.js";
|
|
4
|
+
export type DaggerEnumClasses = {
|
|
5
|
+
[name: string]: DaggerEnumClass;
|
|
6
|
+
};
|
|
7
|
+
export type DaggerEnumClassValues = {
|
|
8
|
+
[name: string]: DaggerEnumClassValue;
|
|
9
|
+
};
|
|
10
|
+
export declare class DaggerEnumClassValue implements DaggerEnumBaseValue {
|
|
11
|
+
private readonly node;
|
|
12
|
+
private readonly ast;
|
|
13
|
+
name: string;
|
|
14
|
+
value: string;
|
|
15
|
+
description: string;
|
|
16
|
+
private symbol;
|
|
17
|
+
constructor(node: ts.PropertyDeclaration, ast: AST);
|
|
18
|
+
toJSON(): {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export declare class DaggerEnumClass implements DaggerEnumBase {
|
|
24
|
+
private readonly node;
|
|
25
|
+
private readonly ast;
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
values: DaggerEnumClassValues;
|
|
29
|
+
private symbol;
|
|
30
|
+
constructor(node: ts.ClassDeclaration, ast: AST);
|
|
31
|
+
toJSON(): {
|
|
32
|
+
name: string;
|
|
33
|
+
description: string;
|
|
34
|
+
values: DaggerEnumClassValues;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=enumClass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enumClass.d.ts","sourceRoot":"","sources":["../../../../../src/module/introspector/dagger_module/enumClass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAG3B,OAAO,EAAE,GAAG,EAAE,MAAM,+BAA+B,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAEnE,MAAM,MAAM,iBAAiB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAA;AAEnE,MAAM,MAAM,qBAAqB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAAA;CAAE,CAAA;AAE5E,qBAAa,oBAAqB,YAAW,mBAAmB;IAQ5D,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IAE1B,OAAO,CAAC,MAAM,CAAW;gBAGN,IAAI,EAAE,EAAE,CAAC,mBAAmB,EAC5B,GAAG,EAAE,GAAG;IAc3B,MAAM;;;;CAMP;AAED,qBAAa,eAAgB,YAAW,cAAc;IAQlD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARf,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,qBAAqB,CAAK;IAEzC,OAAO,CAAC,MAAM,CAAW;gBAGN,IAAI,EAAE,EAAE,CAAC,gBAAgB,EACzB,GAAG,EAAE,GAAG;IAqB3B,MAAM;;;;;CAOP"}
|