@chili-publish/studio-sdk 1.44.0 → 1.45.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.
Files changed (88) hide show
  1. package/_bundles/main.js +2 -2
  2. package/_bundles/main.js.map +1 -1
  3. package/lib/src/controllers/BrandKitController.cjs.js +13 -64
  4. package/lib/src/controllers/BrandKitController.cjs.js.map +1 -1
  5. package/lib/src/controllers/BrandKitController.d.ts +22 -30
  6. package/lib/src/controllers/BrandKitController.es.js +13 -64
  7. package/lib/src/controllers/BrandKitController.es.js.map +1 -1
  8. package/lib/src/controllers/ComponentController.cjs.js.map +1 -1
  9. package/lib/src/controllers/ComponentController.d.ts +1 -1
  10. package/lib/src/controllers/ComponentController.es.js.map +1 -1
  11. package/lib/src/controllers/ConnectorController.cjs.js.map +1 -1
  12. package/lib/src/controllers/ConnectorController.d.ts +5 -5
  13. package/lib/src/controllers/ConnectorController.es.js.map +1 -1
  14. package/lib/src/exceptions/AsyncExceptions.cjs.js.map +1 -1
  15. package/lib/src/exceptions/AsyncExceptions.d.ts +1 -0
  16. package/lib/src/exceptions/AsyncExceptions.es.js.map +1 -1
  17. package/lib/src/exceptions/Helpers.cjs.js.map +1 -1
  18. package/lib/src/exceptions/Helpers.es.js.map +1 -1
  19. package/lib/src/index.cjs.js +3 -2
  20. package/lib/src/index.cjs.js.map +1 -1
  21. package/lib/src/index.d.ts +2 -1
  22. package/lib/src/index.es.js +2 -1
  23. package/lib/src/next/NextInitiator.cjs.js +0 -2
  24. package/lib/src/next/NextInitiator.cjs.js.map +1 -1
  25. package/lib/src/next/NextInitiator.d.ts +0 -2
  26. package/lib/src/next/NextInitiator.es.js +0 -2
  27. package/lib/src/next/NextInitiator.es.js.map +1 -1
  28. package/lib/src/next/index.d.ts +0 -1
  29. package/lib/src/sdk/editor-engine.json.cjs.js +1 -1
  30. package/lib/src/sdk/editor-engine.json.es.js +1 -1
  31. package/lib/src/sdk/package.json.cjs.js +1 -1
  32. package/lib/src/sdk/package.json.es.js +1 -1
  33. package/lib/src/sdk.cjs.js +116 -78
  34. package/lib/src/sdk.cjs.js.map +1 -1
  35. package/lib/src/sdk.d.ts +52 -34
  36. package/lib/src/sdk.es.js +116 -78
  37. package/lib/src/sdk.es.js.map +1 -1
  38. package/lib/src/types/BrandKitTypes.d.ts +70 -108
  39. package/lib/src/types/ColorStyleTypes.cjs.js +10 -0
  40. package/lib/src/types/ColorStyleTypes.cjs.js.map +1 -1
  41. package/lib/src/types/ColorStyleTypes.es.js +10 -0
  42. package/lib/src/types/ColorStyleTypes.es.js.map +1 -1
  43. package/lib/src/types/CommonTypes.cjs.js +1 -0
  44. package/lib/src/types/CommonTypes.cjs.js.map +1 -1
  45. package/lib/src/types/CommonTypes.d.ts +2 -1
  46. package/lib/src/types/CommonTypes.es.js +1 -0
  47. package/lib/src/types/CommonTypes.es.js.map +1 -1
  48. package/lib/src/types/ConnectorTypes.cjs.js +6 -2
  49. package/lib/src/types/ConnectorTypes.cjs.js.map +1 -1
  50. package/lib/src/types/ConnectorTypes.d.ts +10 -1
  51. package/lib/src/types/ConnectorTypes.es.js +6 -2
  52. package/lib/src/types/ConnectorTypes.es.js.map +1 -1
  53. package/lib/src/types/FrameTypes.cjs.js.map +1 -1
  54. package/lib/src/types/FrameTypes.d.ts +1 -4
  55. package/lib/src/types/FrameTypes.es.js.map +1 -1
  56. package/lib/src/types/MethodInvocationTypes.d.ts +27 -0
  57. package/lib/src/utils/EngineEventTrigger.cjs.js +4 -1
  58. package/lib/src/utils/EngineEventTrigger.cjs.js.map +1 -1
  59. package/lib/src/utils/EngineEventTrigger.d.ts +2 -1
  60. package/lib/src/utils/EngineEventTrigger.es.js +5 -2
  61. package/lib/src/utils/EngineEventTrigger.es.js.map +1 -1
  62. package/lib/src/utils/MethodInstrumentation.cjs.js +176 -0
  63. package/lib/src/utils/MethodInstrumentation.cjs.js.map +1 -0
  64. package/lib/src/utils/MethodInstrumentation.d.ts +10 -0
  65. package/lib/src/utils/MethodInstrumentation.es.js +176 -0
  66. package/lib/src/utils/MethodInstrumentation.es.js.map +1 -0
  67. package/lib/src/utils/SdkEvent.cjs.js +29 -0
  68. package/lib/src/utils/SdkEvent.cjs.js.map +1 -0
  69. package/lib/src/utils/SdkEvent.d.ts +13 -0
  70. package/lib/src/utils/SdkEvent.es.js +29 -0
  71. package/lib/src/utils/SdkEvent.es.js.map +1 -0
  72. package/lib/src/utils/SdkEvents.cjs.js +11 -0
  73. package/lib/src/utils/SdkEvents.cjs.js.map +1 -0
  74. package/lib/src/utils/SdkEvents.d.ts +19 -0
  75. package/lib/src/utils/SdkEvents.es.js +11 -0
  76. package/lib/src/utils/SdkEvents.es.js.map +1 -0
  77. package/package.json +1 -1
  78. package/lib/src/next/controllers/BrandKitController.cjs.js +0 -34
  79. package/lib/src/next/controllers/BrandKitController.cjs.js.map +0 -1
  80. package/lib/src/next/controllers/BrandKitController.d.ts +0 -24
  81. package/lib/src/next/controllers/BrandKitController.es.js +0 -34
  82. package/lib/src/next/controllers/BrandKitController.es.js.map +0 -1
  83. package/lib/src/next/types/BrandKitTypes.d.ts +0 -52
  84. package/lib/src/utils/BrandKitAdapter.cjs.js +0 -42
  85. package/lib/src/utils/BrandKitAdapter.cjs.js.map +0 -1
  86. package/lib/src/utils/BrandKitAdapter.d.ts +0 -9
  87. package/lib/src/utils/BrandKitAdapter.es.js +0 -42
  88. package/lib/src/utils/BrandKitAdapter.es.js.map +0 -1
@@ -0,0 +1,176 @@
1
+ import { LogLevel, LogCategory } from "../types/CommonTypes.es.js";
2
+ const NOOP_UNSUBSCRIBER = () => void 0;
3
+ class MethodListenerRegistry {
4
+ constructor() {
5
+ this.listeners = /* @__PURE__ */ new Map();
6
+ }
7
+ add(path, listener) {
8
+ if (typeof listener !== "function") {
9
+ return NOOP_UNSUBSCRIBER;
10
+ }
11
+ const subscriptions = this.listeners.get(path) ?? /* @__PURE__ */ new Set();
12
+ subscriptions.add(listener);
13
+ this.listeners.set(path, subscriptions);
14
+ return () => {
15
+ this.remove(path, listener);
16
+ };
17
+ }
18
+ remove(path, listener) {
19
+ const subscriptions = this.listeners.get(path);
20
+ if (!subscriptions) {
21
+ return;
22
+ }
23
+ subscriptions.delete(listener);
24
+ if (subscriptions.size === 0) {
25
+ this.listeners.delete(path);
26
+ }
27
+ }
28
+ getListeners(path) {
29
+ return [...this.listeners.get(path) ?? []];
30
+ }
31
+ }
32
+ const isThenable = (value) => {
33
+ if (!value || typeof value !== "object") {
34
+ return false;
35
+ }
36
+ return typeof value.then === "function";
37
+ };
38
+ const isInstrumentableObject = (value) => {
39
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
40
+ return false;
41
+ }
42
+ return true;
43
+ };
44
+ const reportListenerError = (path, error, logger) => {
45
+ logger == null ? void 0 : logger(LogLevel.error, LogCategory.sdk, `Error in method listener for ${path}: ${String(error)}`);
46
+ };
47
+ const notifyListeners = (path, event, listenerRegistry, sdkEvents, logger) => {
48
+ for (const callback of listenerRegistry.getListeners(path)) {
49
+ try {
50
+ callback(event);
51
+ } catch (error) {
52
+ reportListenerError(path, error, logger);
53
+ }
54
+ }
55
+ try {
56
+ if (event.phase === "invoke") {
57
+ sdkEvents.onMethodInvoked.trigger(event);
58
+ } else {
59
+ sdkEvents.onMethodCompleted.trigger(event);
60
+ }
61
+ } catch (error) {
62
+ reportListenerError(path, error, logger);
63
+ }
64
+ };
65
+ function wrapWithInvocationObserver(target, basePath, listenerRegistry, sdkEvents, logger) {
66
+ const methodWrappers = /* @__PURE__ */ new Map();
67
+ const nestedControllers = /* @__PURE__ */ new Map();
68
+ return new Proxy(target, {
69
+ get(targetController, propKey, receiver) {
70
+ const value = Reflect.get(targetController, propKey, receiver);
71
+ if (typeof propKey === "symbol") {
72
+ return value;
73
+ }
74
+ if (typeof value === "function") {
75
+ if (methodWrappers.has(propKey)) {
76
+ return methodWrappers.get(propKey);
77
+ }
78
+ const methodPath = `${basePath}.${String(propKey)}`;
79
+ const controllerName = basePath.split(".")[0] || basePath;
80
+ const methodName = String(propKey);
81
+ const wrappedMethod = ((...args) => {
82
+ const invokeEvent = {
83
+ phase: "invoke",
84
+ path: methodPath,
85
+ controller: controllerName,
86
+ method: methodName,
87
+ args: [...args]
88
+ };
89
+ notifyListeners(methodPath, invokeEvent, listenerRegistry, sdkEvents, logger);
90
+ try {
91
+ const result = value.apply(targetController, args);
92
+ if (isThenable(result)) {
93
+ return result.then((resolvedValue) => {
94
+ const completeEvent2 = {
95
+ phase: "complete",
96
+ path: methodPath,
97
+ controller: controllerName,
98
+ method: methodName,
99
+ args: [...args],
100
+ success: true,
101
+ result: resolvedValue
102
+ };
103
+ notifyListeners(methodPath, completeEvent2, listenerRegistry, sdkEvents, logger);
104
+ return resolvedValue;
105
+ }).catch((error) => {
106
+ const completeEvent2 = {
107
+ phase: "complete",
108
+ path: methodPath,
109
+ controller: controllerName,
110
+ method: methodName,
111
+ args: [...args],
112
+ success: false,
113
+ error
114
+ };
115
+ notifyListeners(methodPath, completeEvent2, listenerRegistry, sdkEvents, logger);
116
+ throw error;
117
+ });
118
+ }
119
+ const completeEvent = {
120
+ phase: "complete",
121
+ path: methodPath,
122
+ controller: controllerName,
123
+ method: methodName,
124
+ args: [...args],
125
+ success: true,
126
+ result
127
+ };
128
+ notifyListeners(methodPath, completeEvent, listenerRegistry, sdkEvents, logger);
129
+ return result;
130
+ } catch (error) {
131
+ const completeEvent = {
132
+ phase: "complete",
133
+ path: methodPath,
134
+ controller: controllerName,
135
+ method: methodName,
136
+ args: [...args],
137
+ success: false,
138
+ error
139
+ };
140
+ notifyListeners(methodPath, completeEvent, listenerRegistry, sdkEvents, logger);
141
+ throw error;
142
+ }
143
+ });
144
+ wrappedMethod.addEventListener = (listener) => {
145
+ return listenerRegistry.add(methodPath, listener);
146
+ };
147
+ wrappedMethod.removeEventListener = (listener) => {
148
+ listenerRegistry.remove(methodPath, listener);
149
+ };
150
+ methodWrappers.set(propKey, wrappedMethod);
151
+ return wrappedMethod;
152
+ }
153
+ if (isInstrumentableObject(value)) {
154
+ if (nestedControllers.has(propKey)) {
155
+ return nestedControllers.get(propKey);
156
+ }
157
+ const nestedPath = `${basePath}.${String(propKey)}`;
158
+ const wrappedNestedController = wrapWithInvocationObserver(
159
+ value,
160
+ nestedPath,
161
+ listenerRegistry,
162
+ sdkEvents,
163
+ logger
164
+ );
165
+ nestedControllers.set(propKey, wrappedNestedController);
166
+ return wrappedNestedController;
167
+ }
168
+ return value;
169
+ }
170
+ });
171
+ }
172
+ export {
173
+ MethodListenerRegistry,
174
+ wrapWithInvocationObserver
175
+ };
176
+ //# sourceMappingURL=MethodInstrumentation.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MethodInstrumentation.es.js","sources":["../../../src/utils/MethodInstrumentation.ts"],"sourcesContent":["import { LogCategory, LoggerFunction, LogLevel } from '../types/CommonTypes';\nimport {\n Instrumented,\n MethodCompleteEvent,\n MethodInvocationEvent,\n MethodInvocationListener,\n MethodInvokeEvent,\n MethodListenable,\n Unsubscriber,\n} from '../types/MethodInvocationTypes';\nimport { SdkEvents } from './SdkEvents';\n\nconst NOOP_UNSUBSCRIBER: Unsubscriber = () => undefined;\n\nexport class MethodListenerRegistry {\n private listeners = new Map<string, Set<MethodInvocationListener>>();\n\n add(path: string, listener: MethodInvocationListener): Unsubscriber {\n if (typeof listener !== 'function') {\n return NOOP_UNSUBSCRIBER;\n }\n\n const subscriptions = this.listeners.get(path) ?? new Set<MethodInvocationListener>();\n subscriptions.add(listener);\n this.listeners.set(path, subscriptions);\n\n return () => {\n this.remove(path, listener);\n };\n }\n\n remove(path: string, listener: MethodInvocationListener): void {\n const subscriptions = this.listeners.get(path);\n if (!subscriptions) {\n return;\n }\n\n subscriptions.delete(listener);\n\n if (subscriptions.size === 0) {\n this.listeners.delete(path);\n }\n }\n\n getListeners(path: string): MethodInvocationListener[] {\n return [...(this.listeners.get(path) ?? [])];\n }\n}\n\nconst isThenable = (value: unknown): value is Promise<unknown> => {\n if (!value || typeof value !== 'object') {\n return false;\n }\n\n return typeof (value as Promise<unknown>).then === 'function';\n};\n\nconst isInstrumentableObject = (value: unknown): value is Record<string, unknown> => {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n return false;\n }\n\n return true;\n};\n\nconst reportListenerError = (path: string, error: unknown, logger?: LoggerFunction) => {\n logger?.(LogLevel.error, LogCategory.sdk, `Error in method listener for ${path}: ${String(error)}`);\n};\n\nconst notifyListeners = (\n path: string,\n event: MethodInvocationEvent,\n listenerRegistry: MethodListenerRegistry,\n sdkEvents: SdkEvents,\n logger?: LoggerFunction,\n) => {\n for (const callback of listenerRegistry.getListeners(path)) {\n try {\n callback(event);\n } catch (error) {\n reportListenerError(path, error, logger);\n }\n }\n\n try {\n if (event.phase === 'invoke') {\n sdkEvents.onMethodInvoked.trigger(event);\n } else {\n sdkEvents.onMethodCompleted.trigger(event);\n }\n } catch (error) {\n reportListenerError(path, error, logger);\n }\n};\n\nexport function wrapWithInvocationObserver<T extends object>(\n target: T,\n basePath: string,\n listenerRegistry: MethodListenerRegistry,\n sdkEvents: SdkEvents,\n logger?: LoggerFunction,\n): Instrumented<T> {\n const methodWrappers = new Map<PropertyKey, unknown>();\n const nestedControllers = new Map<PropertyKey, unknown>();\n\n return new Proxy(target, {\n get(targetController, propKey, receiver) {\n const value = Reflect.get(targetController, propKey, receiver);\n if (typeof propKey === 'symbol') {\n return value;\n }\n\n if (typeof value === 'function') {\n if (methodWrappers.has(propKey)) {\n return methodWrappers.get(propKey);\n }\n\n const methodPath = `${basePath}.${String(propKey)}`;\n const controllerName = basePath.split('.')[0] || basePath;\n const methodName = String(propKey);\n\n const wrappedMethod = ((...args: unknown[]) => {\n const invokeEvent: MethodInvokeEvent = {\n phase: 'invoke',\n path: methodPath,\n controller: controllerName,\n method: methodName,\n args: [...args],\n };\n notifyListeners(methodPath, invokeEvent, listenerRegistry, sdkEvents, logger);\n\n try {\n const result = value.apply(targetController, args);\n\n if (isThenable(result)) {\n return result\n .then((resolvedValue) => {\n const completeEvent: MethodCompleteEvent = {\n phase: 'complete',\n path: methodPath,\n controller: controllerName,\n method: methodName,\n args: [...args],\n success: true,\n result: resolvedValue,\n };\n notifyListeners(methodPath, completeEvent, listenerRegistry, sdkEvents, logger);\n return resolvedValue;\n })\n .catch((error) => {\n const completeEvent: MethodCompleteEvent = {\n phase: 'complete',\n path: methodPath,\n controller: controllerName,\n method: methodName,\n args: [...args],\n success: false,\n error,\n };\n notifyListeners(methodPath, completeEvent, listenerRegistry, sdkEvents, logger);\n throw error;\n });\n }\n\n const completeEvent: MethodCompleteEvent = {\n phase: 'complete',\n path: methodPath,\n controller: controllerName,\n method: methodName,\n args: [...args],\n success: true,\n result,\n };\n notifyListeners(methodPath, completeEvent, listenerRegistry, sdkEvents, logger);\n\n return result;\n } catch (error) {\n const completeEvent: MethodCompleteEvent = {\n phase: 'complete',\n path: methodPath,\n controller: controllerName,\n method: methodName,\n args: [...args],\n success: false,\n error,\n };\n notifyListeners(methodPath, completeEvent, listenerRegistry, sdkEvents, logger);\n throw error;\n }\n }) as MethodListenable<(...args: unknown[]) => unknown>;\n\n wrappedMethod.addEventListener = (listener: MethodInvocationListener) => {\n return listenerRegistry.add(methodPath, listener);\n };\n wrappedMethod.removeEventListener = (listener: MethodInvocationListener) => {\n listenerRegistry.remove(methodPath, listener);\n };\n\n methodWrappers.set(propKey, wrappedMethod);\n return wrappedMethod;\n }\n\n if (isInstrumentableObject(value)) {\n if (nestedControllers.has(propKey)) {\n return nestedControllers.get(propKey);\n }\n\n const nestedPath = `${basePath}.${String(propKey)}`;\n const wrappedNestedController = wrapWithInvocationObserver(\n value,\n nestedPath,\n listenerRegistry,\n sdkEvents,\n logger,\n );\n nestedControllers.set(propKey, wrappedNestedController);\n\n return wrappedNestedController;\n }\n\n return value;\n },\n }) as Instrumented<T>;\n}\n"],"names":["completeEvent"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const CommonTypes = require("../types/CommonTypes.cjs.js");
4
+ const EngineEventTrigger = require("./EngineEventTrigger.cjs.js");
5
+ class SdkEvent extends EngineEventTrigger.EngineEventTrigger {
6
+ constructor(logger) {
7
+ super(logger);
8
+ this.subscriptions = /* @__PURE__ */ new Set();
9
+ }
10
+ getLogCategory() {
11
+ return CommonTypes.LogCategory.sdk;
12
+ }
13
+ trigger(...args) {
14
+ const callbacks = Array.from(this.subscriptions);
15
+ for (const callback of callbacks) {
16
+ callback(...args);
17
+ }
18
+ return void 0;
19
+ }
20
+ registerCallback(callback, errorBehavior = CommonTypes.CallbackErrorBehavior.log) {
21
+ const callbackFn = this.createEventHandlerFn(callback, errorBehavior);
22
+ this.subscriptions.add(callbackFn);
23
+ return () => {
24
+ this.subscriptions.delete(callbackFn);
25
+ };
26
+ }
27
+ }
28
+ exports.SdkEvent = SdkEvent;
29
+ //# sourceMappingURL=SdkEvent.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SdkEvent.cjs.js","sources":["../../../src/utils/SdkEvent.ts"],"sourcesContent":["import { CallbackErrorBehavior, LogCategory, LoggerFunction } from '../types/CommonTypes';\nimport { EngineEventTrigger } from './EngineEventTrigger';\n\ninterface Unsubscriber {\n (): void;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class SdkEvent<T extends (...args: any[]) => void> extends EngineEventTrigger<T> {\n private subscriptions: Set<T> = new Set();\n\n constructor(logger?: LoggerFunction) {\n super(logger);\n }\n\n protected getLogCategory(): LogCategory {\n return LogCategory.sdk;\n }\n\n trigger(...args: Parameters<T>): ReturnType<T> {\n const callbacks = Array.from(this.subscriptions);\n for (const callback of callbacks) {\n callback(...args);\n }\n return undefined as ReturnType<T>;\n }\n\n registerCallback(callback: T, errorBehavior: CallbackErrorBehavior = CallbackErrorBehavior.log): Unsubscriber {\n const callbackFn = this.createEventHandlerFn(callback, errorBehavior);\n this.subscriptions.add(callbackFn);\n\n return () => {\n this.subscriptions.delete(callbackFn);\n };\n }\n}\n"],"names":["EngineEventTrigger","LogCategory","CallbackErrorBehavior"],"mappings":";;;;AAQO,MAAM,iBAAqDA,mBAAAA,mBAAsB;AAAA,EAGpF,YAAY,QAAyB;AACjC,UAAM,MAAM;AAHhB,SAAQ,oCAA4B,IAAA;AAAA,EAIpC;AAAA,EAEU,iBAA8B;AACpC,WAAOC,YAAAA,YAAY;AAAA,EACvB;AAAA,EAEA,WAAW,MAAoC;AAC3C,UAAM,YAAY,MAAM,KAAK,KAAK,aAAa;AAC/C,eAAW,YAAY,WAAW;AAC9B,eAAS,GAAG,IAAI;AAAA,IACpB;AACA,WAAO;AAAA,EACX;AAAA,EAEA,iBAAiB,UAAa,gBAAuCC,YAAAA,sBAAsB,KAAmB;AAC1G,UAAM,aAAa,KAAK,qBAAqB,UAAU,aAAa;AACpE,SAAK,cAAc,IAAI,UAAU;AAEjC,WAAO,MAAM;AACT,WAAK,cAAc,OAAO,UAAU;AAAA,IACxC;AAAA,EACJ;AACJ;;"}
@@ -0,0 +1,13 @@
1
+ import { CallbackErrorBehavior, LogCategory, LoggerFunction } from '../types/CommonTypes';
2
+ import { EngineEventTrigger } from './EngineEventTrigger';
3
+ interface Unsubscriber {
4
+ (): void;
5
+ }
6
+ export declare class SdkEvent<T extends (...args: any[]) => void> extends EngineEventTrigger<T> {
7
+ private subscriptions;
8
+ constructor(logger?: LoggerFunction);
9
+ protected getLogCategory(): LogCategory;
10
+ trigger(...args: Parameters<T>): ReturnType<T>;
11
+ registerCallback(callback: T, errorBehavior?: CallbackErrorBehavior): Unsubscriber;
12
+ }
13
+ export {};
@@ -0,0 +1,29 @@
1
+ import { LogCategory, CallbackErrorBehavior } from "../types/CommonTypes.es.js";
2
+ import { EngineEventTrigger } from "./EngineEventTrigger.es.js";
3
+ class SdkEvent extends EngineEventTrigger {
4
+ constructor(logger) {
5
+ super(logger);
6
+ this.subscriptions = /* @__PURE__ */ new Set();
7
+ }
8
+ getLogCategory() {
9
+ return LogCategory.sdk;
10
+ }
11
+ trigger(...args) {
12
+ const callbacks = Array.from(this.subscriptions);
13
+ for (const callback of callbacks) {
14
+ callback(...args);
15
+ }
16
+ return void 0;
17
+ }
18
+ registerCallback(callback, errorBehavior = CallbackErrorBehavior.log) {
19
+ const callbackFn = this.createEventHandlerFn(callback, errorBehavior);
20
+ this.subscriptions.add(callbackFn);
21
+ return () => {
22
+ this.subscriptions.delete(callbackFn);
23
+ };
24
+ }
25
+ }
26
+ export {
27
+ SdkEvent
28
+ };
29
+ //# sourceMappingURL=SdkEvent.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SdkEvent.es.js","sources":["../../../src/utils/SdkEvent.ts"],"sourcesContent":["import { CallbackErrorBehavior, LogCategory, LoggerFunction } from '../types/CommonTypes';\nimport { EngineEventTrigger } from './EngineEventTrigger';\n\ninterface Unsubscriber {\n (): void;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nexport class SdkEvent<T extends (...args: any[]) => void> extends EngineEventTrigger<T> {\n private subscriptions: Set<T> = new Set();\n\n constructor(logger?: LoggerFunction) {\n super(logger);\n }\n\n protected getLogCategory(): LogCategory {\n return LogCategory.sdk;\n }\n\n trigger(...args: Parameters<T>): ReturnType<T> {\n const callbacks = Array.from(this.subscriptions);\n for (const callback of callbacks) {\n callback(...args);\n }\n return undefined as ReturnType<T>;\n }\n\n registerCallback(callback: T, errorBehavior: CallbackErrorBehavior = CallbackErrorBehavior.log): Unsubscriber {\n const callbackFn = this.createEventHandlerFn(callback, errorBehavior);\n this.subscriptions.add(callbackFn);\n\n return () => {\n this.subscriptions.delete(callbackFn);\n };\n }\n}\n"],"names":[],"mappings":";;AAQO,MAAM,iBAAqD,mBAAsB;AAAA,EAGpF,YAAY,QAAyB;AACjC,UAAM,MAAM;AAHhB,SAAQ,oCAA4B,IAAA;AAAA,EAIpC;AAAA,EAEU,iBAA8B;AACpC,WAAO,YAAY;AAAA,EACvB;AAAA,EAEA,WAAW,MAAoC;AAC3C,UAAM,YAAY,MAAM,KAAK,KAAK,aAAa;AAC/C,eAAW,YAAY,WAAW;AAC9B,eAAS,GAAG,IAAI;AAAA,IACpB;AACA,WAAO;AAAA,EACX;AAAA,EAEA,iBAAiB,UAAa,gBAAuC,sBAAsB,KAAmB;AAC1G,UAAM,aAAa,KAAK,qBAAqB,UAAU,aAAa;AACpE,SAAK,cAAc,IAAI,UAAU;AAEjC,WAAO,MAAM;AACT,WAAK,cAAc,OAAO,UAAU;AAAA,IACxC;AAAA,EACJ;AACJ;"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const SdkEvent = require("./SdkEvent.cjs.js");
4
+ class SdkEvents {
5
+ constructor(logger) {
6
+ this.onMethodInvoked = new SdkEvent.SdkEvent(logger);
7
+ this.onMethodCompleted = new SdkEvent.SdkEvent(logger);
8
+ }
9
+ }
10
+ exports.SdkEvents = SdkEvents;
11
+ //# sourceMappingURL=SdkEvents.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SdkEvents.cjs.js","sources":["../../../src/utils/SdkEvents.ts"],"sourcesContent":["import { LoggerFunction, MaybePromise } from '../types/CommonTypes';\nimport { MethodCompleteEvent, MethodInvokeEvent } from '../types/MethodInvocationTypes';\nimport { SdkEvent } from './SdkEvent';\n\nexport class SdkEvents {\n /**\n * Fired immediately before an instrumented SDK controller method is invoked.\n *\n * This event is synchronous with the method call and always precedes `onMethodCompleted`.\n */\n onMethodInvoked: SdkEvent<(event: MethodInvokeEvent) => MaybePromise<void>>;\n /**\n * Fired after an instrumented SDK controller method finishes.\n *\n * For async methods, this fires when the returned promise settles (resolved/rejected).\n * For sync methods, this fires right after the method returns or throws.\n */\n onMethodCompleted: SdkEvent<(event: MethodCompleteEvent) => MaybePromise<void>>;\n\n constructor(logger?: LoggerFunction) {\n this.onMethodInvoked = new SdkEvent<(event: MethodInvokeEvent) => MaybePromise<void>>(logger);\n this.onMethodCompleted = new SdkEvent<(event: MethodCompleteEvent) => MaybePromise<void>>(logger);\n }\n}\n"],"names":["SdkEvent"],"mappings":";;;AAIO,MAAM,UAAU;AAAA,EAenB,YAAY,QAAyB;AACjC,SAAK,kBAAkB,IAAIA,SAAAA,SAA2D,MAAM;AAC5F,SAAK,oBAAoB,IAAIA,SAAAA,SAA6D,MAAM;AAAA,EACpG;AACJ;;"}
@@ -0,0 +1,19 @@
1
+ import { LoggerFunction, MaybePromise } from '../types/CommonTypes';
2
+ import { MethodCompleteEvent, MethodInvokeEvent } from '../types/MethodInvocationTypes';
3
+ import { SdkEvent } from './SdkEvent';
4
+ export declare class SdkEvents {
5
+ /**
6
+ * Fired immediately before an instrumented SDK controller method is invoked.
7
+ *
8
+ * This event is synchronous with the method call and always precedes `onMethodCompleted`.
9
+ */
10
+ onMethodInvoked: SdkEvent<(event: MethodInvokeEvent) => MaybePromise<void>>;
11
+ /**
12
+ * Fired after an instrumented SDK controller method finishes.
13
+ *
14
+ * For async methods, this fires when the returned promise settles (resolved/rejected).
15
+ * For sync methods, this fires right after the method returns or throws.
16
+ */
17
+ onMethodCompleted: SdkEvent<(event: MethodCompleteEvent) => MaybePromise<void>>;
18
+ constructor(logger?: LoggerFunction);
19
+ }
@@ -0,0 +1,11 @@
1
+ import { SdkEvent } from "./SdkEvent.es.js";
2
+ class SdkEvents {
3
+ constructor(logger) {
4
+ this.onMethodInvoked = new SdkEvent(logger);
5
+ this.onMethodCompleted = new SdkEvent(logger);
6
+ }
7
+ }
8
+ export {
9
+ SdkEvents
10
+ };
11
+ //# sourceMappingURL=SdkEvents.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SdkEvents.es.js","sources":["../../../src/utils/SdkEvents.ts"],"sourcesContent":["import { LoggerFunction, MaybePromise } from '../types/CommonTypes';\nimport { MethodCompleteEvent, MethodInvokeEvent } from '../types/MethodInvocationTypes';\nimport { SdkEvent } from './SdkEvent';\n\nexport class SdkEvents {\n /**\n * Fired immediately before an instrumented SDK controller method is invoked.\n *\n * This event is synchronous with the method call and always precedes `onMethodCompleted`.\n */\n onMethodInvoked: SdkEvent<(event: MethodInvokeEvent) => MaybePromise<void>>;\n /**\n * Fired after an instrumented SDK controller method finishes.\n *\n * For async methods, this fires when the returned promise settles (resolved/rejected).\n * For sync methods, this fires right after the method returns or throws.\n */\n onMethodCompleted: SdkEvent<(event: MethodCompleteEvent) => MaybePromise<void>>;\n\n constructor(logger?: LoggerFunction) {\n this.onMethodInvoked = new SdkEvent<(event: MethodInvokeEvent) => MaybePromise<void>>(logger);\n this.onMethodCompleted = new SdkEvent<(event: MethodCompleteEvent) => MaybePromise<void>>(logger);\n }\n}\n"],"names":[],"mappings":";AAIO,MAAM,UAAU;AAAA,EAenB,YAAY,QAAyB;AACjC,SAAK,kBAAkB,IAAI,SAA2D,MAAM;AAC5F,SAAK,oBAAoB,IAAI,SAA6D,MAAM;AAAA,EACpG;AACJ;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@chili-publish/studio-sdk",
3
3
  "private": false,
4
- "version": "1.44.0",
4
+ "version": "1.45.0",
5
5
  "description": "The sdk for the chili editor",
6
6
  "repository": {
7
7
  "type": "git",
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __typeError = (msg) => {
3
- throw TypeError(msg);
4
- };
5
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
6
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
7
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
8
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
9
- var _editorAPI;
10
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
11
- const EditorResponseData = require("../../utils/EditorResponseData.cjs.js");
12
- class BrandKitController {
13
- /**
14
- * @ignore
15
- */
16
- constructor(editorAPI) {
17
- /**
18
- * @ignore
19
- */
20
- __privateAdd(this, _editorAPI);
21
- this.get = async () => {
22
- const res = await __privateGet(this, _editorAPI);
23
- return res.getBrandKit().then((result) => EditorResponseData.getEditorResponseData(result));
24
- };
25
- this.set = async (apiBrandKit) => {
26
- const res = await __privateGet(this, _editorAPI);
27
- return res.setBrandKit(JSON.stringify(apiBrandKit)).then((result) => EditorResponseData.getEditorResponseData(result));
28
- };
29
- __privateSet(this, _editorAPI, editorAPI);
30
- }
31
- }
32
- _editorAPI = new WeakMap();
33
- exports.BrandKitController = BrandKitController;
34
- //# sourceMappingURL=BrandKitController.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrandKitController.cjs.js","sources":["../../../../src/next/controllers/BrandKitController.ts"],"sourcesContent":["import { EditorAPI } from '../../types/CommonTypes';\nimport { getEditorResponseData } from '../../utils/EditorResponseData';\nimport type { APIBrandKit, BrandKit } from '../types/BrandKitTypes';\n\n/**\n * Next BrandKitController: get/set use the same unified BrandKit type.\n * Methods in this controller are the future API and can be called when using the next initiator.\n */\nexport class BrandKitController {\n /**\n * @ignore\n */\n #editorAPI: EditorAPI;\n\n /**\n * @ignore\n */\n constructor(editorAPI: EditorAPI) {\n this.#editorAPI = editorAPI;\n }\n\n /**\n * Returns the current brand kit (unified BrandKit shape).\n * @returns The brand kit with all assigned resources\n */\n get = async () => {\n const res = await this.#editorAPI;\n return res.getBrandKit().then((result) => getEditorResponseData<BrandKit>(result));\n };\n\n /**\n * Updates the brand kit with the given API data. Returns the updated brand kit (BrandKit shape).\n * @param apiBrandKit - The brand kit data in API/environment format\n * @returns The updated brand kit\n */\n set = async (apiBrandKit: APIBrandKit) => {\n const res = await this.#editorAPI;\n return res.setBrandKit(JSON.stringify(apiBrandKit)).then((result) => getEditorResponseData<BrandKit>(result));\n };\n}\n"],"names":["getEditorResponseData"],"mappings":";;;;;;;;;;;AAQO,MAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA,EAS5B,YAAY,WAAsB;AALlC;AAAA;AAAA;AAAA;AAaA,SAAA,MAAM,YAAY;AACd,YAAM,MAAM,MAAM,mBAAK;AACvB,aAAO,IAAI,cAAc,KAAK,CAAC,WAAWA,mBAAAA,sBAAgC,MAAM,CAAC;AAAA,IACrF;AAOA,SAAA,MAAM,OAAO,gBAA6B;AACtC,YAAM,MAAM,MAAM,mBAAK;AACvB,aAAO,IAAI,YAAY,KAAK,UAAU,WAAW,CAAC,EAAE,KAAK,CAAC,WAAWA,mBAAAA,sBAAgC,MAAM,CAAC;AAAA,IAChH;AApBI,uBAAK,YAAa;AAAA,EACtB;AAoBJ;AA3BI;;"}
@@ -1,24 +0,0 @@
1
- import { EditorAPI } from '../../types/CommonTypes';
2
- import { APIBrandKit, BrandKit } from '../types/BrandKitTypes';
3
- /**
4
- * Next BrandKitController: get/set use the same unified BrandKit type.
5
- * Methods in this controller are the future API and can be called when using the next initiator.
6
- */
7
- export declare class BrandKitController {
8
- #private;
9
- /**
10
- * @ignore
11
- */
12
- constructor(editorAPI: EditorAPI);
13
- /**
14
- * Returns the current brand kit (unified BrandKit shape).
15
- * @returns The brand kit with all assigned resources
16
- */
17
- get: () => Promise<import('../../types/CommonTypes').EditorResponse<BrandKit>>;
18
- /**
19
- * Updates the brand kit with the given API data. Returns the updated brand kit (BrandKit shape).
20
- * @param apiBrandKit - The brand kit data in API/environment format
21
- * @returns The updated brand kit
22
- */
23
- set: (apiBrandKit: APIBrandKit) => Promise<import('../../types/CommonTypes').EditorResponse<BrandKit>>;
24
- }
@@ -1,34 +0,0 @@
1
- var __typeError = (msg) => {
2
- throw TypeError(msg);
3
- };
4
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
- var _editorAPI;
9
- import { getEditorResponseData } from "../../utils/EditorResponseData.es.js";
10
- class BrandKitController {
11
- /**
12
- * @ignore
13
- */
14
- constructor(editorAPI) {
15
- /**
16
- * @ignore
17
- */
18
- __privateAdd(this, _editorAPI);
19
- this.get = async () => {
20
- const res = await __privateGet(this, _editorAPI);
21
- return res.getBrandKit().then((result) => getEditorResponseData(result));
22
- };
23
- this.set = async (apiBrandKit) => {
24
- const res = await __privateGet(this, _editorAPI);
25
- return res.setBrandKit(JSON.stringify(apiBrandKit)).then((result) => getEditorResponseData(result));
26
- };
27
- __privateSet(this, _editorAPI, editorAPI);
28
- }
29
- }
30
- _editorAPI = new WeakMap();
31
- export {
32
- BrandKitController
33
- };
34
- //# sourceMappingURL=BrandKitController.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrandKitController.es.js","sources":["../../../../src/next/controllers/BrandKitController.ts"],"sourcesContent":["import { EditorAPI } from '../../types/CommonTypes';\nimport { getEditorResponseData } from '../../utils/EditorResponseData';\nimport type { APIBrandKit, BrandKit } from '../types/BrandKitTypes';\n\n/**\n * Next BrandKitController: get/set use the same unified BrandKit type.\n * Methods in this controller are the future API and can be called when using the next initiator.\n */\nexport class BrandKitController {\n /**\n * @ignore\n */\n #editorAPI: EditorAPI;\n\n /**\n * @ignore\n */\n constructor(editorAPI: EditorAPI) {\n this.#editorAPI = editorAPI;\n }\n\n /**\n * Returns the current brand kit (unified BrandKit shape).\n * @returns The brand kit with all assigned resources\n */\n get = async () => {\n const res = await this.#editorAPI;\n return res.getBrandKit().then((result) => getEditorResponseData<BrandKit>(result));\n };\n\n /**\n * Updates the brand kit with the given API data. Returns the updated brand kit (BrandKit shape).\n * @param apiBrandKit - The brand kit data in API/environment format\n * @returns The updated brand kit\n */\n set = async (apiBrandKit: APIBrandKit) => {\n const res = await this.#editorAPI;\n return res.setBrandKit(JSON.stringify(apiBrandKit)).then((result) => getEditorResponseData<BrandKit>(result));\n };\n}\n"],"names":[],"mappings":";;;;;;;;;AAQO,MAAM,mBAAmB;AAAA;AAAA;AAAA;AAAA,EAS5B,YAAY,WAAsB;AALlC;AAAA;AAAA;AAAA;AAaA,SAAA,MAAM,YAAY;AACd,YAAM,MAAM,MAAM,mBAAK;AACvB,aAAO,IAAI,cAAc,KAAK,CAAC,WAAW,sBAAgC,MAAM,CAAC;AAAA,IACrF;AAOA,SAAA,MAAM,OAAO,gBAA6B;AACtC,YAAM,MAAM,MAAM,mBAAK;AACvB,aAAO,IAAI,YAAY,KAAK,UAAU,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,sBAAgC,MAAM,CAAC;AAAA,IAChH;AApBI,uBAAK,YAAa;AAAA,EACtB;AAoBJ;AA3BI;"}
@@ -1,52 +0,0 @@
1
- import { BrandKitColor, BrandKitCharacterStyle, BrandKitParagraphStyle, APIBrandKitMedia as MainAPIBrandKitMedia, BrandKitMedia, APIBrandKitTheme, BrandKitTheme } from '../../types/BrandKitTypes';
2
- import { CharacterStyle } from '../../types/CharacterStyleTypes';
3
- import { DocumentColor } from '../../types/ColorStyleTypes';
4
- import { Id } from '../../types/CommonTypes';
5
- import { DocumentFontFamily } from '../../types/FontTypes';
6
- import { DocumentGradient } from '../../types/GradientStyleTypes';
7
- import { ParagraphStyle } from '../../types/ParagraphStyleTypes';
8
- /** API-style color union (alias of main BrandKitColor). */
9
- export type APIBrandKitColor = BrandKitColor;
10
- export type APIBrandKitFont = {
11
- fontFamilyId: string;
12
- fontFamilyBrandKitGuid: string;
13
- fontConnectorId: string;
14
- };
15
- /** API-style character style (alias of main BrandKitCharacterStyle). */
16
- export type APIBrandKitCharacterStyle = BrandKitCharacterStyle;
17
- /** API-style paragraph style (alias of main BrandKitParagraphStyle). */
18
- export type APIBrandKitParagraphStyle = BrandKitParagraphStyle;
19
- /** API-style media (re-export from main). */
20
- export type APIBrandKitMedia = MainAPIBrandKitMedia;
21
- /**
22
- * API brand kit shape: used as the input to set().
23
- * Environment/API format with guid-based references.
24
- */
25
- export type APIBrandKit = {
26
- id: Id;
27
- name: string;
28
- dateCreated: string;
29
- lastModifiedDate: string;
30
- fonts: APIBrandKitFont[];
31
- colors: APIBrandKitColor[];
32
- characterStyles: APIBrandKitCharacterStyle[];
33
- paragraphStyles: APIBrandKitParagraphStyle[];
34
- media: APIBrandKitMedia[];
35
- themes: APIBrandKitTheme[];
36
- };
37
- /**
38
- * Unified brand kit type for the next API (output of get() and set()).
39
- * Represents the flat engine shape (id, version, name, and document-style resources).
40
- */
41
- export type BrandKit = {
42
- id: string | null;
43
- version: string | null;
44
- name: string | null;
45
- colors: DocumentColor[];
46
- gradients: DocumentGradient[];
47
- fontFamilies: DocumentFontFamily[];
48
- characterStyles: CharacterStyle[];
49
- paragraphStyles: ParagraphStyle[];
50
- media: BrandKitMedia[];
51
- themes: BrandKitTheme[];
52
- };
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- function engineBrandKitToStudioBrandKit(engine) {
4
- const fontConnectorId = engine.fontFamilies.length > 0 ? String(engine.fontFamilies[0].connectorId) : "";
5
- const brandKit = {
6
- id: engine.id ?? "",
7
- name: engine.name ?? "",
8
- dateCreated: "",
9
- // This is not supported by the API yet
10
- lastModifiedDate: engine.version ?? "",
11
- // Ideally those types should be mapped, but this is a breaking change
12
- fonts: engine.fontFamilies,
13
- colors: engine.colors,
14
- characterStyles: engine.characterStyles,
15
- paragraphStyles: engine.paragraphStyles,
16
- media: engine.media,
17
- themes: engine.themes
18
- };
19
- return {
20
- id: engine.id ?? "",
21
- name: engine.name ?? "",
22
- fontConnectorId,
23
- brandKit
24
- };
25
- }
26
- function engineBrandKitToBrandKitInternal(engine) {
27
- return {
28
- id: engine.id ?? "",
29
- version: engine.version ?? "",
30
- name: engine.name ?? "",
31
- colors: engine.colors,
32
- gradients: engine.gradients,
33
- fonts: engine.fontFamilies,
34
- characterStyles: engine.characterStyles,
35
- paragraphStyles: engine.paragraphStyles,
36
- media: engine.media,
37
- themes: engine.themes
38
- };
39
- }
40
- exports.engineBrandKitToBrandKitInternal = engineBrandKitToBrandKitInternal;
41
- exports.engineBrandKitToStudioBrandKit = engineBrandKitToStudioBrandKit;
42
- //# sourceMappingURL=BrandKitAdapter.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrandKitAdapter.cjs.js","sources":["../../../src/utils/BrandKitAdapter.ts"],"sourcesContent":["import {\n APIBrandKitMedia,\n BrandKitColor,\n BrandKitCharacterStyle,\n BrandKitFont,\n BrandKitParagraphStyle,\n EngineBrandKit,\n StudioBrandKit,\n BrandKitInternal,\n APIBrandKit,\n} from '../types/BrandKitTypes';\n/**\n * Converts the engine getBrandKit() / setBrandKit() response to the user-facing StudioBrandKit shape.\n */\nexport function engineBrandKitToStudioBrandKit(engine: EngineBrandKit): StudioBrandKit {\n const fontConnectorId =\n engine.fontFamilies.length > 0 ? String(engine.fontFamilies[0].connectorId) : '';\n const brandKit: APIBrandKit = {\n id: engine.id ?? '',\n name: engine.name ?? '',\n dateCreated: '', // This is not supported by the API yet\n lastModifiedDate: engine.version ?? '',\n // Ideally those types should be mapped, but this is a breaking change\n fonts: engine.fontFamilies as unknown as BrandKitFont[],\n colors: engine.colors as unknown as BrandKitColor[],\n characterStyles: engine.characterStyles as unknown as BrandKitCharacterStyle[],\n paragraphStyles: engine.paragraphStyles as unknown as BrandKitParagraphStyle[],\n media: engine.media as unknown as APIBrandKitMedia[],\n themes: engine.themes,\n };\n return {\n id: engine.id ?? '',\n name: engine.name ?? '',\n fontConnectorId,\n brandKit,\n };\n}\n\n/**\n * Converts the engine setBrandKit() response to the BrandKitInternal shape returned by set().\n */\nexport function engineBrandKitToBrandKitInternal(engine: EngineBrandKit): BrandKitInternal {\n return {\n id: engine.id ?? '',\n version: engine.version ?? '',\n name: engine.name ?? '',\n colors: engine.colors,\n gradients: engine.gradients,\n fonts: engine.fontFamilies,\n characterStyles: engine.characterStyles,\n paragraphStyles: engine.paragraphStyles,\n media: engine.media,\n themes: engine.themes,\n };\n}\n"],"names":[],"mappings":";;AAcO,SAAS,+BAA+B,QAAwC;AACnF,QAAM,kBACF,OAAO,aAAa,SAAS,IAAI,OAAO,OAAO,aAAa,CAAC,EAAE,WAAW,IAAI;AAClF,QAAM,WAAwB;AAAA,IAC1B,IAAI,OAAO,MAAM;AAAA,IACjB,MAAM,OAAO,QAAQ;AAAA,IACrB,aAAa;AAAA;AAAA,IACb,kBAAkB,OAAO,WAAW;AAAA;AAAA,IAEpC,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,IACf,iBAAiB,OAAO;AAAA,IACxB,iBAAiB,OAAO;AAAA,IACxB,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,EAAA;AAEnB,SAAO;AAAA,IACH,IAAI,OAAO,MAAM;AAAA,IACjB,MAAM,OAAO,QAAQ;AAAA,IACrB;AAAA,IACA;AAAA,EAAA;AAER;AAKO,SAAS,iCAAiC,QAA0C;AACvF,SAAO;AAAA,IACH,IAAI,OAAO,MAAM;AAAA,IACjB,SAAS,OAAO,WAAW;AAAA,IAC3B,MAAM,OAAO,QAAQ;AAAA,IACrB,QAAQ,OAAO;AAAA,IACf,WAAW,OAAO;AAAA,IAClB,OAAO,OAAO;AAAA,IACd,iBAAiB,OAAO;AAAA,IACxB,iBAAiB,OAAO;AAAA,IACxB,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,EAAA;AAEvB;;;"}
@@ -1,9 +0,0 @@
1
- import { EngineBrandKit, StudioBrandKit, BrandKitInternal } from '../types/BrandKitTypes';
2
- /**
3
- * Converts the engine getBrandKit() / setBrandKit() response to the user-facing StudioBrandKit shape.
4
- */
5
- export declare function engineBrandKitToStudioBrandKit(engine: EngineBrandKit): StudioBrandKit;
6
- /**
7
- * Converts the engine setBrandKit() response to the BrandKitInternal shape returned by set().
8
- */
9
- export declare function engineBrandKitToBrandKitInternal(engine: EngineBrandKit): BrandKitInternal;
@@ -1,42 +0,0 @@
1
- function engineBrandKitToStudioBrandKit(engine) {
2
- const fontConnectorId = engine.fontFamilies.length > 0 ? String(engine.fontFamilies[0].connectorId) : "";
3
- const brandKit = {
4
- id: engine.id ?? "",
5
- name: engine.name ?? "",
6
- dateCreated: "",
7
- // This is not supported by the API yet
8
- lastModifiedDate: engine.version ?? "",
9
- // Ideally those types should be mapped, but this is a breaking change
10
- fonts: engine.fontFamilies,
11
- colors: engine.colors,
12
- characterStyles: engine.characterStyles,
13
- paragraphStyles: engine.paragraphStyles,
14
- media: engine.media,
15
- themes: engine.themes
16
- };
17
- return {
18
- id: engine.id ?? "",
19
- name: engine.name ?? "",
20
- fontConnectorId,
21
- brandKit
22
- };
23
- }
24
- function engineBrandKitToBrandKitInternal(engine) {
25
- return {
26
- id: engine.id ?? "",
27
- version: engine.version ?? "",
28
- name: engine.name ?? "",
29
- colors: engine.colors,
30
- gradients: engine.gradients,
31
- fonts: engine.fontFamilies,
32
- characterStyles: engine.characterStyles,
33
- paragraphStyles: engine.paragraphStyles,
34
- media: engine.media,
35
- themes: engine.themes
36
- };
37
- }
38
- export {
39
- engineBrandKitToBrandKitInternal,
40
- engineBrandKitToStudioBrandKit
41
- };
42
- //# sourceMappingURL=BrandKitAdapter.es.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrandKitAdapter.es.js","sources":["../../../src/utils/BrandKitAdapter.ts"],"sourcesContent":["import {\n APIBrandKitMedia,\n BrandKitColor,\n BrandKitCharacterStyle,\n BrandKitFont,\n BrandKitParagraphStyle,\n EngineBrandKit,\n StudioBrandKit,\n BrandKitInternal,\n APIBrandKit,\n} from '../types/BrandKitTypes';\n/**\n * Converts the engine getBrandKit() / setBrandKit() response to the user-facing StudioBrandKit shape.\n */\nexport function engineBrandKitToStudioBrandKit(engine: EngineBrandKit): StudioBrandKit {\n const fontConnectorId =\n engine.fontFamilies.length > 0 ? String(engine.fontFamilies[0].connectorId) : '';\n const brandKit: APIBrandKit = {\n id: engine.id ?? '',\n name: engine.name ?? '',\n dateCreated: '', // This is not supported by the API yet\n lastModifiedDate: engine.version ?? '',\n // Ideally those types should be mapped, but this is a breaking change\n fonts: engine.fontFamilies as unknown as BrandKitFont[],\n colors: engine.colors as unknown as BrandKitColor[],\n characterStyles: engine.characterStyles as unknown as BrandKitCharacterStyle[],\n paragraphStyles: engine.paragraphStyles as unknown as BrandKitParagraphStyle[],\n media: engine.media as unknown as APIBrandKitMedia[],\n themes: engine.themes,\n };\n return {\n id: engine.id ?? '',\n name: engine.name ?? '',\n fontConnectorId,\n brandKit,\n };\n}\n\n/**\n * Converts the engine setBrandKit() response to the BrandKitInternal shape returned by set().\n */\nexport function engineBrandKitToBrandKitInternal(engine: EngineBrandKit): BrandKitInternal {\n return {\n id: engine.id ?? '',\n version: engine.version ?? '',\n name: engine.name ?? '',\n colors: engine.colors,\n gradients: engine.gradients,\n fonts: engine.fontFamilies,\n characterStyles: engine.characterStyles,\n paragraphStyles: engine.paragraphStyles,\n media: engine.media,\n themes: engine.themes,\n };\n}\n"],"names":[],"mappings":"AAcO,SAAS,+BAA+B,QAAwC;AACnF,QAAM,kBACF,OAAO,aAAa,SAAS,IAAI,OAAO,OAAO,aAAa,CAAC,EAAE,WAAW,IAAI;AAClF,QAAM,WAAwB;AAAA,IAC1B,IAAI,OAAO,MAAM;AAAA,IACjB,MAAM,OAAO,QAAQ;AAAA,IACrB,aAAa;AAAA;AAAA,IACb,kBAAkB,OAAO,WAAW;AAAA;AAAA,IAEpC,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,IACf,iBAAiB,OAAO;AAAA,IACxB,iBAAiB,OAAO;AAAA,IACxB,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,EAAA;AAEnB,SAAO;AAAA,IACH,IAAI,OAAO,MAAM;AAAA,IACjB,MAAM,OAAO,QAAQ;AAAA,IACrB;AAAA,IACA;AAAA,EAAA;AAER;AAKO,SAAS,iCAAiC,QAA0C;AACvF,SAAO;AAAA,IACH,IAAI,OAAO,MAAM;AAAA,IACjB,SAAS,OAAO,WAAW;AAAA,IAC3B,MAAM,OAAO,QAAQ;AAAA,IACrB,QAAQ,OAAO;AAAA,IACf,WAAW,OAAO;AAAA,IAClB,OAAO,OAAO;AAAA,IACd,iBAAiB,OAAO;AAAA,IACxB,iBAAiB,OAAO;AAAA,IACxB,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,EAAA;AAEvB;"}