@devvit/ui-renderer 0.11.0-next-2024-07-22-4764a9e68.0 → 0.11.0-next-2024-07-22-0a49bf500.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.
@@ -1,8 +1,19 @@
1
1
  import { EffectHandler } from './effect-handler.js';
2
- import type { ReactiveElement } from 'lit';
3
2
  import type { DevvitUIEffectEvent } from '../devvit-surface.js';
4
- export declare class CreateOrderEffectHandler extends EffectHandler {
5
- constructor(host: ReactiveElement);
3
+ export type OnResultCallback = (success: boolean, orderId: string) => void;
4
+ /**
5
+ * Handles parsing app effects to handle CreateOrder effects
6
+ */
7
+ export declare abstract class CreateOrderEffectHandler extends EffectHandler {
6
8
  protected onEvent(ev: DevvitUIEffectEvent): void;
9
+ /**
10
+ * Implement this method to handle an order request from a dev platform app
11
+ *
12
+ * @param skus List of SKUs in the order
13
+ * @param metadata Additional metadata to attach to the order receipt
14
+ * @param onResult Callback for the client to call once the purchase flow has completed
15
+ * @protected
16
+ */
17
+ protected abstract onOrder(skus: string[], metadata: Record<string, string>, onResult: OnResultCallback): void;
7
18
  }
8
19
  //# sourceMappingURL=create-order-effect-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-order-effect-handler.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/create-order-effect-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,qBAAa,wBAAyB,SAAQ,aAAa;gBAC7C,IAAI,EAAE,eAAe;cAId,OAAO,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;CAyB1D"}
1
+ {"version":3,"file":"create-order-effect-handler.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/create-order-effect-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAE3E;;GAEG;AACH,8BAAsB,wBAAyB,SAAQ,aAAa;cAC/C,OAAO,CAAC,EAAE,EAAE,mBAAmB,GAAG,IAAI;IA0BzD;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CACxB,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,EAAE,gBAAgB,GACzB,IAAI;CACR"}
@@ -1,8 +1,8 @@
1
1
  import { EffectHandler } from './effect-handler.js';
2
+ /**
3
+ * Handles parsing app effects to handle CreateOrder effects
4
+ */
2
5
  export class CreateOrderEffectHandler extends EffectHandler {
3
- constructor(host) {
4
- super(host);
5
- }
6
6
  onEvent(ev) {
7
7
  const { createOrder } = ev.detail.effect;
8
8
  if (!createOrder)
@@ -16,14 +16,14 @@ export class CreateOrderEffectHandler extends EffectHandler {
16
16
  const metaStr = JSON.stringify(createOrder.metadata);
17
17
  console.debug(`[handler] launching order flow for: ${skuStr} (metadata: ${metaStr})`);
18
18
  }
19
- // TODO: Emit a purchase event to be handled by Shreddit
20
- console.log(`Hooray! You tried to purchase: ${createOrder.skus.join(',')}`);
21
- ev.detail.onEvent({
22
- orderResult: {
23
- success: true,
24
- orderId: 'abcdef012345',
25
- },
26
- hook: createOrder.id,
19
+ this.onOrder(createOrder.skus, createOrder.metadata, (success, orderId) => {
20
+ ev.detail.onEvent({
21
+ orderResult: {
22
+ success,
23
+ orderId,
24
+ },
25
+ hook: createOrder.id,
26
+ });
27
27
  });
28
28
  }
29
29
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-order-effect-handler.test.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/create-order-effect-handler.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-handler-test-util.test.d.ts","sourceRoot":"","sources":["../../../library/src/client/effects/effect-handler-test-util.test.ts"],"names":[],"mappings":";AACA,OAAO,EAAQ,UAAU,EAAE,KAAK,eAAe,EAAU,MAAM,KAAK,CAAC;AAErE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,0DAA0D,CAAC;AAEnG,qBACa,MAAO,SAAQ,UAAU;CAAG;AAEzC,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,CAQzE;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAcf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devvit/ui-renderer",
3
- "version": "0.11.0-next-2024-07-22-4764a9e68.0",
3
+ "version": "0.11.0-next-2024-07-22-0a49bf500.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "repository": {
6
6
  "type": "git",
@@ -59,9 +59,9 @@
59
59
  "types": "./index.d.ts",
60
60
  "dependencies": {
61
61
  "@devvit/multiplatform": "0.0.1-20240529-491771c9",
62
- "@devvit/protos": "0.11.0-next-2024-07-22-4764a9e68.0",
63
- "@devvit/runtime-lite": "0.11.0-next-2024-07-22-4764a9e68.0",
64
- "@devvit/shared-types": "0.11.0-next-2024-07-22-4764a9e68.0",
62
+ "@devvit/protos": "0.11.0-next-2024-07-22-0a49bf500.0",
63
+ "@devvit/runtime-lite": "0.11.0-next-2024-07-22-0a49bf500.0",
64
+ "@devvit/shared-types": "0.11.0-next-2024-07-22-0a49bf500.0",
65
65
  "@dotlottie/player-component": "2.7.2",
66
66
  "compare-versions": "6.1.0",
67
67
  "nice-grpc-web": "3.3.3",
@@ -89,10 +89,10 @@
89
89
  },
90
90
  "devDependencies": {
91
91
  "@ampproject/filesize": "4.3.0",
92
- "@devvit/eslint-config": "0.11.0-next-2024-07-22-4764a9e68.0",
93
- "@devvit/public-api": "0.11.0-next-2024-07-22-4764a9e68.0",
94
- "@devvit/repo-tools": "0.11.0-next-2024-07-22-4764a9e68.0",
95
- "@devvit/tsconfig": "0.11.0-next-2024-07-22-4764a9e68.0",
92
+ "@devvit/eslint-config": "0.11.0-next-2024-07-22-0a49bf500.0",
93
+ "@devvit/public-api": "0.11.0-next-2024-07-22-0a49bf500.0",
94
+ "@devvit/repo-tools": "0.11.0-next-2024-07-22-0a49bf500.0",
95
+ "@devvit/tsconfig": "0.11.0-next-2024-07-22-0a49bf500.0",
96
96
  "@lit-labs/ssr": "^2.2.3",
97
97
  "@lit/localize": "0.11.4",
98
98
  "@open-wc/testing-helpers": "2.3.0",
@@ -139,5 +139,5 @@
139
139
  }
140
140
  },
141
141
  "source": "./src/index.ts",
142
- "gitHead": "8d29851f9be676a2d5a77ee2f500d03f35d7a20f"
142
+ "gitHead": "af71abf36a0a6c56d9a0db3622d799328e2859c5"
143
143
  }