@crossplane-org/function-sdk-typescript 0.1.0 → 0.2.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/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export type { FunctionHandler } from "./function/function.js";
2
2
  export { FunctionRunner, getServer } from "./function/function.js";
3
3
  export { getDesiredCompositeResource, getObservedCompositeResource, getDesiredComposedResources, getObservedComposedResources, getInput, getContextKey, getRequiredResources, getCredentials, } from "./request/request.js";
4
- export { to, fatal, normal, warning, setDesiredComposedResources, setDesiredCompositeStatus, setDesiredCompositeResource, updateDesiredComposedResources, update, setContextKey, setOutput, DEFAULT_TTL, } from "./response/response.js";
4
+ export { to, fatal, normal, warning, setDesiredComposedResources, setDesiredResources, setDesiredCompositeStatus, setDesiredCompositeResource, updateDesiredComposedResources, update, setContextKey, setOutput, DEFAULT_TTL, } from "./response/response.js";
5
5
  export { asObject, asStruct, fromObject, toObject, newDesiredComposed, mustStructObject, mustStructJSON, type Composite, type ObservedComposed, type DesiredComposed, type ConnectionDetails, } from "./resource/resource.js";
6
6
  export { newGrpcServer, startServer, getServerCredentials, type ServerOptions, } from "./runtime/runtime.js";
7
7
  export { RunFunctionRequest, RunFunctionResponse, Resource, Severity, Result, State, Ready, Target, Status, Condition, Resources, Credentials, CredentialData, FunctionRunnerServiceService, } from "./proto/run_function.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnE,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,cAAc,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACH,EAAE,EACF,KAAK,EACL,MAAM,EACN,OAAO,EACP,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,MAAM,EACN,aAAa,EACb,SAAS,EACT,WAAW,GACd,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACH,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACzB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACH,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,KAAK,aAAa,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,4BAA4B,GAC/B,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnE,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,cAAc,GACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACH,EAAE,EACF,KAAK,EACL,MAAM,EACN,OAAO,EACP,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,MAAM,EACN,aAAa,EACb,SAAS,EACT,WAAW,GACd,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACH,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACzB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACH,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,KAAK,aAAa,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,4BAA4B,GAC/B,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ export { FunctionRunner, getServer } from "./function/function.js";
3
3
  // Request helpers
4
4
  export { getDesiredCompositeResource, getObservedCompositeResource, getDesiredComposedResources, getObservedComposedResources, getInput, getContextKey, getRequiredResources, getCredentials, } from "./request/request.js";
5
5
  // Response helpers
6
- export { to, fatal, normal, warning, setDesiredComposedResources, setDesiredCompositeStatus, setDesiredCompositeResource, updateDesiredComposedResources, update, setContextKey, setOutput, DEFAULT_TTL, } from "./response/response.js";
6
+ export { to, fatal, normal, warning, setDesiredComposedResources, setDesiredResources, setDesiredCompositeStatus, setDesiredCompositeResource, updateDesiredComposedResources, update, setContextKey, setOutput, DEFAULT_TTL, } from "./response/response.js";
7
7
  // Resource utilities
8
8
  export { asObject, asStruct, fromObject, toObject, newDesiredComposed, mustStructObject, mustStructJSON, } from "./resource/resource.js";
9
9
  // Runtime utilities
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAInD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnE,kBAAkB;AAClB,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,cAAc,GACjB,MAAM,sBAAsB,CAAC;AAE9B,mBAAmB;AACnB,OAAO,EACH,EAAE,EACF,KAAK,EACL,MAAM,EACN,OAAO,EACP,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,MAAM,EACN,aAAa,EACb,SAAS,EACT,WAAW,GACd,MAAM,wBAAwB,CAAC;AAEhC,qBAAqB;AACrB,OAAO,EACH,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GAKjB,MAAM,wBAAwB,CAAC;AAEhC,oBAAoB;AACpB,OAAO,EACH,aAAa,EACb,WAAW,EACX,oBAAoB,GAEvB,MAAM,sBAAsB,CAAC;AAE9B,wBAAwB;AACxB,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,4BAA4B,GAC/B,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AAInD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnE,kBAAkB;AAClB,OAAO,EACH,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,QAAQ,EACR,aAAa,EACb,oBAAoB,EACpB,cAAc,GACjB,MAAM,sBAAsB,CAAC;AAE9B,mBAAmB;AACnB,OAAO,EACH,EAAE,EACF,KAAK,EACL,MAAM,EACN,OAAO,EACP,2BAA2B,EAC3B,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,MAAM,EACN,aAAa,EACb,SAAS,EACT,WAAW,GACd,MAAM,wBAAwB,CAAC;AAEhC,qBAAqB;AACrB,OAAO,EACH,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GAKjB,MAAM,wBAAwB,CAAC;AAEhC,oBAAoB;AACpB,OAAO,EACH,aAAa,EACb,WAAW,EACX,oBAAoB,GAEvB,MAAM,sBAAsB,CAAC;AAE9B,wBAAwB;AACxB,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,4BAA4B,GAC/B,MAAM,yBAAyB,CAAC"}
@@ -151,6 +151,44 @@ export declare function warning(rsp: RunFunctionResponse, message: string): void
151
151
  export declare function setDesiredComposedResources(rsp: RunFunctionResponse, dcds: {
152
152
  [key: string]: Resource;
153
153
  }): RunFunctionResponse;
154
+ /**
155
+ * Set desired resources from unstructured Kubernetes objects.
156
+ *
157
+ * This is a simpler alternative to setDesiredComposedResources when you have raw
158
+ * Kubernetes resource objects and don't need to specify readiness or connection details.
159
+ * Each resource is converted to the protobuf Resource format with READY_UNSPECIFIED status.
160
+ *
161
+ * The function merges new resources with any existing resources in the desired state,
162
+ * allowing functions to add or modify resources while preserving those set by
163
+ * previous functions in the pipeline.
164
+ *
165
+ * @param rsp - The RunFunctionResponse to update
166
+ * @param resources - A map of resource names to unstructured Kubernetes objects
167
+ * @returns The updated response
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * rsp = setDesiredResources(rsp, {
172
+ * "my-bucket": {
173
+ * apiVersion: "s3.aws.upbound.io/v1beta1",
174
+ * kind: "Bucket",
175
+ * metadata: { name: "my-bucket" },
176
+ * spec: { forProvider: { region: "us-west-2" } }
177
+ * },
178
+ * "my-db": {
179
+ * apiVersion: "rds.aws.upbound.io/v1beta1",
180
+ * kind: "Instance",
181
+ * metadata: { name: "my-db" },
182
+ * spec: { forProvider: { instanceClass: "db.t3.micro" } }
183
+ * }
184
+ * });
185
+ * ```
186
+ */
187
+ export declare function setDesiredResources(rsp: RunFunctionResponse, resources: {
188
+ [key: string]: {
189
+ [key: string]: any;
190
+ };
191
+ }): RunFunctionResponse;
154
192
  /**
155
193
  * Update a resource by merging source into target.
156
194
  *
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/response/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EAEnB,KAAK,EACN,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAGhE;;;GAGG;AACH,QAAA,MAAM,WAAW,EAAE,QAAoC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CAsB/E;AAED,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,EAChC,GAAG,EAAE,aAAa,GACjB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAG7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,KAAK,CACnB,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,MAAM,GACd,mBAAmB,CAQrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,QAO/D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,QAOhE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAChC,mBAAmB,CAYrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAE7D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CACzC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAAE,GAAG,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,CAAC;CAAE,GAC5E,mBAAmB,CAOrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,mBAAmB,CAMpG;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,KAAK,GACZ,mBAAmB,CAcrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,mBAAmB,CAGvG"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/response/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EAEnB,KAAK,EACN,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAGhE;;;GAGG;AACH,QAAA,MAAM,WAAW,EAAE,QAAoC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,mBAAmB,CAsB/E;AAED,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,EAChC,GAAG,EAAE,aAAa,GACjB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAG7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,KAAK,CACnB,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,MAAM,GACd,mBAAmB,CAQrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,QAO/D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,QAOhE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAChC,mBAAmB,CAYrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,mBAAmB,EACxB,SAAS,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;CAAE,GACnD,mBAAmB,CAkBrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAE7D;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CACzC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;IAAE,GAAG,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KAAE,CAAC;CAAE,GAC5E,mBAAmB,CAsBrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,mBAAmB,CAMpG;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,QAAQ,EAClB,KAAK,CAAC,EAAE,KAAK,GACZ,mBAAmB,CAcrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,mBAAmB,EAAE,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,mBAAmB,CAGvG"}
@@ -194,6 +194,53 @@ export function setDesiredComposedResources(rsp, dcds) {
194
194
  rsp.desired.resources = merge(rsp.desired.resources || {}, dcds);
195
195
  return rsp;
196
196
  }
197
+ /**
198
+ * Set desired resources from unstructured Kubernetes objects.
199
+ *
200
+ * This is a simpler alternative to setDesiredComposedResources when you have raw
201
+ * Kubernetes resource objects and don't need to specify readiness or connection details.
202
+ * Each resource is converted to the protobuf Resource format with READY_UNSPECIFIED status.
203
+ *
204
+ * The function merges new resources with any existing resources in the desired state,
205
+ * allowing functions to add or modify resources while preserving those set by
206
+ * previous functions in the pipeline.
207
+ *
208
+ * @param rsp - The RunFunctionResponse to update
209
+ * @param resources - A map of resource names to unstructured Kubernetes objects
210
+ * @returns The updated response
211
+ *
212
+ * @example
213
+ * ```typescript
214
+ * rsp = setDesiredResources(rsp, {
215
+ * "my-bucket": {
216
+ * apiVersion: "s3.aws.upbound.io/v1beta1",
217
+ * kind: "Bucket",
218
+ * metadata: { name: "my-bucket" },
219
+ * spec: { forProvider: { region: "us-west-2" } }
220
+ * },
221
+ * "my-db": {
222
+ * apiVersion: "rds.aws.upbound.io/v1beta1",
223
+ * kind: "Instance",
224
+ * metadata: { name: "my-db" },
225
+ * spec: { forProvider: { instanceClass: "db.t3.micro" } }
226
+ * }
227
+ * });
228
+ * ```
229
+ */
230
+ export function setDesiredResources(rsp, resources) {
231
+ // Ensure desired state exists
232
+ if (!rsp.desired) {
233
+ rsp.desired = { composite: undefined, resources: {} };
234
+ }
235
+ // Convert each resource to Resource format
236
+ const convertedResources = {};
237
+ for (const [name, resource] of Object.entries(resources)) {
238
+ convertedResources[name] = Resource.fromJSON({ resource });
239
+ }
240
+ // Merge the new resources with existing ones
241
+ rsp.desired.resources = merge(rsp.desired.resources || {}, convertedResources);
242
+ return rsp;
243
+ }
197
244
  /**
198
245
  * Update a resource by merging source into target.
199
246
  *
@@ -242,11 +289,22 @@ export function update(src, tgt) {
242
289
  * ```
243
290
  */
244
291
  export function setDesiredCompositeStatus({ rsp, status }) {
245
- if (rsp.desired?.composite?.resource) {
246
- rsp.desired.composite.resource = merge(rsp.desired.composite.resource, {
247
- "status": status,
248
- });
292
+ // Ensure desired state exists
293
+ if (!rsp.desired) {
294
+ rsp.desired = { composite: undefined, resources: {} };
249
295
  }
296
+ // Ensure composite exists
297
+ if (!rsp.desired.composite) {
298
+ rsp.desired.composite = Resource.fromJSON({});
299
+ }
300
+ // Ensure resource exists
301
+ if (!rsp.desired.composite.resource) {
302
+ rsp.desired.composite.resource = {};
303
+ }
304
+ // Merge the status
305
+ rsp.desired.composite.resource = merge(rsp.desired.composite.resource, {
306
+ "status": status,
307
+ });
250
308
  return rsp;
251
309
  }
252
310
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/response/response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/response/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACN,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,GAAa,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,EAAE,CAAC,GAAuB,EAAE,GAAc;IACxD,qCAAqC;IACrC,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAE1B,uCAAuC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACpD,CAAC;IAED,sEAAsE;IACtE,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,WAAW,EAAE;QAC3D,YAAY,EAAE,SAAS;QACvB,OAAO,EAAE,EAAE;KACZ,CAAC;AACJ,CAAC;AAOD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,8BAA8B,CAC5C,GAAgC,EAChC,GAAkB;IAElB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC7B,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,KAAK,CACnB,GAAwB,EACxB,OAAe;IAEf,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACf,QAAQ,EAAE,QAAQ,CAAC,cAAc;YACjC,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,MAAM,CAAC,GAAwB,EAAE,OAAe;IAC9D,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACf,QAAQ,EAAE,QAAQ,CAAC,eAAe;YAClC,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,OAAO,CAAC,GAAwB,EAAE,OAAe;IAC/D,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YACf,QAAQ,EAAE,QAAQ,CAAC,gBAAgB;YACnC,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAwB,EACxB,IAAiC;IAEjC,8BAA8B;IAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,GAAG,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACxD,CAAC;IAED,6CAA6C;IAC7C,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAE9D,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,mBAAmB,CACjC,GAAwB,EACxB,SAAoD;IAEpD,8BAA8B;IAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,GAAG,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACxD,CAAC;IAED,2CAA2C;IAC3C,MAAM,kBAAkB,GAAgC,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACzD,kBAAkB,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,6CAA6C;IAC7C,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,EAAE,kBAAkB,CAE5E,CAAC;IAEF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,MAAM,CAAC,GAAa,EAAE,GAAa;IACjD,OAAO,KAAK,CAAC,GAAG,EAAE,GAAG,CAAa,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,yBAAyB,CACzC,EAAE,GAAG,EAAE,MAAM,EAAkE;IAE7E,8BAA8B;IAC9B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,GAAG,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACxD,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,yBAAyB;IACzB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACpC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,EAAE,CAAC;IACtC,CAAC;IAED,mBAAmB;IACnB,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;QACrE,QAAQ,EAAE,MAAM;KACjB,CAA2B,CAAC;IAE7B,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAAC,GAAwB,EAAE,GAAW,EAAE,KAAU;IAC7E,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACzB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,2BAA2B,CACzC,GAAwB,EACxB,QAAkB,EAClB,KAAa;IAEb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,GAAG,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IACxD,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC;QAC3C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,KAAK,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB;KAC7D,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,SAAS,CAAC,GAAwB,EAAE,MAA8B;IAChF,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IACpB,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossplane-org/function-sdk-typescript",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "A Crossplane Function SDK for Typescript",
5
5
  "keywords": [
6
6
  "crossplane",