@chili-publish/studio-sdk 1.44.1 → 1.46.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/_bundles/main.js +2 -2
- package/_bundles/main.js.map +1 -1
- package/lib/src/controllers/BrandKitController.cjs.js +13 -64
- package/lib/src/controllers/BrandKitController.cjs.js.map +1 -1
- package/lib/src/controllers/BrandKitController.d.ts +22 -30
- package/lib/src/controllers/BrandKitController.es.js +13 -64
- package/lib/src/controllers/BrandKitController.es.js.map +1 -1
- package/lib/src/controllers/ComponentController.cjs.js +4 -0
- package/lib/src/controllers/ComponentController.cjs.js.map +1 -1
- package/lib/src/controllers/ComponentController.d.ts +7 -1
- package/lib/src/controllers/ComponentController.es.js +4 -0
- package/lib/src/controllers/ComponentController.es.js.map +1 -1
- package/lib/src/controllers/ConnectorController.cjs.js.map +1 -1
- package/lib/src/controllers/ConnectorController.d.ts +5 -5
- package/lib/src/controllers/ConnectorController.es.js.map +1 -1
- package/lib/src/controllers/SubscriberController.cjs.js +3 -0
- package/lib/src/controllers/SubscriberController.cjs.js.map +1 -1
- package/lib/src/controllers/SubscriberController.d.ts +7 -0
- package/lib/src/controllers/SubscriberController.es.js +3 -0
- package/lib/src/controllers/SubscriberController.es.js.map +1 -1
- package/lib/src/exceptions/AsyncExceptions.cjs.js.map +1 -1
- package/lib/src/exceptions/AsyncExceptions.d.ts +1 -0
- package/lib/src/exceptions/AsyncExceptions.es.js.map +1 -1
- package/lib/src/exceptions/Helpers.cjs.js.map +1 -1
- package/lib/src/exceptions/Helpers.es.js.map +1 -1
- package/lib/src/index.cjs.js +3 -2
- package/lib/src/index.cjs.js.map +1 -1
- package/lib/src/index.d.ts +2 -1
- package/lib/src/index.es.js +2 -1
- package/lib/src/interactions/Connector.cjs.js +2 -1
- package/lib/src/interactions/Connector.cjs.js.map +1 -1
- package/lib/src/interactions/Connector.d.ts +1 -0
- package/lib/src/interactions/Connector.es.js +2 -1
- package/lib/src/interactions/Connector.es.js.map +1 -1
- package/lib/src/next/NextInitiator.cjs.js +0 -2
- package/lib/src/next/NextInitiator.cjs.js.map +1 -1
- package/lib/src/next/NextInitiator.d.ts +0 -2
- package/lib/src/next/NextInitiator.es.js +0 -2
- package/lib/src/next/NextInitiator.es.js.map +1 -1
- package/lib/src/next/index.d.ts +0 -1
- package/lib/src/sdk/editor-engine.json.cjs.js +1 -1
- package/lib/src/sdk/editor-engine.json.es.js +1 -1
- package/lib/src/sdk/package.json.cjs.js +1 -1
- package/lib/src/sdk/package.json.es.js +1 -1
- package/lib/src/sdk.cjs.js +118 -79
- package/lib/src/sdk.cjs.js.map +1 -1
- package/lib/src/sdk.d.ts +52 -34
- package/lib/src/sdk.es.js +118 -79
- package/lib/src/sdk.es.js.map +1 -1
- package/lib/src/types/BrandKitTypes.d.ts +70 -108
- package/lib/src/types/ColorStyleTypes.cjs.js +10 -0
- package/lib/src/types/ColorStyleTypes.cjs.js.map +1 -1
- package/lib/src/types/ColorStyleTypes.es.js +10 -0
- package/lib/src/types/ColorStyleTypes.es.js.map +1 -1
- package/lib/src/types/CommonTypes.cjs.js +1 -0
- package/lib/src/types/CommonTypes.cjs.js.map +1 -1
- package/lib/src/types/CommonTypes.d.ts +12 -1
- package/lib/src/types/CommonTypes.es.js +1 -0
- package/lib/src/types/CommonTypes.es.js.map +1 -1
- package/lib/src/types/ComponentGridTypes.cjs.js.map +1 -1
- package/lib/src/types/ComponentGridTypes.es.js.map +1 -1
- package/lib/src/types/ConnectorTypes.cjs.js +6 -2
- package/lib/src/types/ConnectorTypes.cjs.js.map +1 -1
- package/lib/src/types/ConnectorTypes.d.ts +10 -1
- package/lib/src/types/ConnectorTypes.es.js +6 -2
- package/lib/src/types/ConnectorTypes.es.js.map +1 -1
- package/lib/src/types/FrameTypes.cjs.js.map +1 -1
- package/lib/src/types/FrameTypes.d.ts +2 -4
- package/lib/src/types/FrameTypes.es.js.map +1 -1
- package/lib/src/types/MethodInvocationTypes.d.ts +27 -0
- package/lib/src/types/RichTextRuleTypes.cjs.js.map +1 -1
- package/lib/src/types/RichTextRuleTypes.es.js.map +1 -1
- package/lib/src/types/ShapeTypes.cjs.js +1 -0
- package/lib/src/types/ShapeTypes.cjs.js.map +1 -1
- package/lib/src/types/ShapeTypes.d.ts +12 -2
- package/lib/src/types/ShapeTypes.es.js +1 -0
- package/lib/src/types/ShapeTypes.es.js.map +1 -1
- package/lib/src/utils/ConfigHelper.cjs.js +4 -0
- package/lib/src/utils/ConfigHelper.cjs.js.map +1 -1
- package/lib/src/utils/ConfigHelper.es.js +4 -0
- package/lib/src/utils/ConfigHelper.es.js.map +1 -1
- package/lib/src/utils/EngineEventTrigger.cjs.js +4 -1
- package/lib/src/utils/EngineEventTrigger.cjs.js.map +1 -1
- package/lib/src/utils/EngineEventTrigger.d.ts +2 -1
- package/lib/src/utils/EngineEventTrigger.es.js +5 -2
- package/lib/src/utils/EngineEventTrigger.es.js.map +1 -1
- package/lib/src/utils/MethodInstrumentation.cjs.js +176 -0
- package/lib/src/utils/MethodInstrumentation.cjs.js.map +1 -0
- package/lib/src/utils/MethodInstrumentation.d.ts +10 -0
- package/lib/src/utils/MethodInstrumentation.es.js +176 -0
- package/lib/src/utils/MethodInstrumentation.es.js.map +1 -0
- package/lib/src/utils/SdkEvent.cjs.js +29 -0
- package/lib/src/utils/SdkEvent.cjs.js.map +1 -0
- package/lib/src/utils/SdkEvent.d.ts +13 -0
- package/lib/src/utils/SdkEvent.es.js +29 -0
- package/lib/src/utils/SdkEvent.es.js.map +1 -0
- package/lib/src/utils/SdkEvents.cjs.js +11 -0
- package/lib/src/utils/SdkEvents.cjs.js.map +1 -0
- package/lib/src/utils/SdkEvents.d.ts +19 -0
- package/lib/src/utils/SdkEvents.es.js +11 -0
- package/lib/src/utils/SdkEvents.es.js.map +1 -0
- package/package.json +1 -1
- package/lib/src/next/controllers/BrandKitController.cjs.js +0 -34
- package/lib/src/next/controllers/BrandKitController.cjs.js.map +0 -1
- package/lib/src/next/controllers/BrandKitController.d.ts +0 -24
- package/lib/src/next/controllers/BrandKitController.es.js +0 -34
- package/lib/src/next/controllers/BrandKitController.es.js.map +0 -1
- package/lib/src/next/types/BrandKitTypes.d.ts +0 -52
- package/lib/src/utils/BrandKitAdapter.cjs.js +0 -42
- package/lib/src/utils/BrandKitAdapter.cjs.js.map +0 -1
- package/lib/src/utils/BrandKitAdapter.d.ts +0 -9
- package/lib/src/utils/BrandKitAdapter.es.js +0 -42
- package/lib/src/utils/BrandKitAdapter.es.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextRuleTypes.cjs.js","sources":["../../../src/types/RichTextRuleTypes.ts"],"sourcesContent":["import { Scripting } from './TextStyleTypes';\n\n/**\n * Defines a text flow and all style rules that are applied to it.\n */\nexport interface StructuredTextTextFlowDefinition {\n id: string;\n styleRules: StructuredTextStyleRule[];\n}\n\n/**\n * Supported style kinds for structured text rules.\n */\nexport enum StructuredTextStyleKind {\n paragraph = 'paragraph',\n character = 'character',\n lineBreak = 'lineBreak',\n inlineStyle = 'inlineStyle',\n}\n\n/**\n * A style rule for rich text parsing.\n */\nexport type StructuredTextStyleRule =\n | ParagraphTextStyleRule\n | CharacterTextStyleRule\n | LineBreakTextStyleRule\n | InlineStyleTextStyleRule;\n\nexport interface ParagraphTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n paragraphStyleName: string;\n styleKind: StructuredTextStyleKind.paragraph;\n}\n\nexport interface CharacterTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n characterStyleName: string;\n styleKind: StructuredTextStyleKind.character;\n}\n\nexport interface LineBreakTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n styleKind: StructuredTextStyleKind.lineBreak;\n}\n\n
|
|
1
|
+
{"version":3,"file":"RichTextRuleTypes.cjs.js","sources":["../../../src/types/RichTextRuleTypes.ts"],"sourcesContent":["import { Scripting } from './TextStyleTypes';\n\n/**\n * Defines a text flow and all style rules that are applied to it.\n */\nexport interface StructuredTextTextFlowDefinition {\n id: string;\n styleRules: StructuredTextStyleRule[];\n}\n\n/**\n * Supported style kinds for structured text rules.\n */\nexport enum StructuredTextStyleKind {\n paragraph = 'paragraph',\n character = 'character',\n lineBreak = 'lineBreak',\n inlineStyle = 'inlineStyle',\n}\n\n/**\n * A style rule for rich text parsing.\n */\nexport type StructuredTextStyleRule =\n | ParagraphTextStyleRule\n | CharacterTextStyleRule\n | LineBreakTextStyleRule\n | InlineStyleTextStyleRule;\n\nexport interface ParagraphTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n paragraphStyleName: string;\n styleKind: StructuredTextStyleKind.paragraph;\n}\n\nexport interface CharacterTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n characterStyleName: string;\n styleKind: StructuredTextStyleKind.character;\n}\n\nexport interface LineBreakTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n styleKind: StructuredTextStyleKind.lineBreak;\n}\n\n/**\n * A style rule that applies inline character styling directly to matched\n * elements without requiring a named style.\n */\nexport interface InlineStyleTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n inlineStyleDefinition: StructuredTextInlineStyleDefinition;\n styleKind: StructuredTextStyleKind.inlineStyle;\n}\n\n/**\n * Defines inline character style properties applied by inline style rules.\n *\n * Every property is optional. If a property is left `undefined`, it is not\n * overridden by the rule.\n */\nexport interface StructuredTextInlineStyleDefinition {\n underline?: boolean;\n lineThrough?: boolean;\n subSuperScript?: Scripting;\n}\n\n/**\n * Matcher for structured text nodes.\n */\nexport interface StructuredTextNodeMatcher {\n tag?: string;\n attributeMatchers: StructuredTextAttributeMatcher[];\n caseSensitive: boolean;\n}\n\n/**\n * Supported operators for matching attributes.\n */\nexport enum StructuredTextAttributeMatchOperator {\n exists = 'exists',\n missing = 'missing',\n equals = 'equals',\n notEquals = 'notEquals',\n contains = 'contains',\n startsWith = 'startsWith',\n endsWith = 'endsWith',\n}\n\n/**\n * Matcher used to evaluate a node attribute.\n */\nexport type StructuredTextAttributeMatcher =\n | ExistsStructuredTextAttributeMatcher\n | MissingStructuredTextAttributeMatcher\n | EqualsStructuredTextAttributeMatcher\n | NotEqualsStructuredTextAttributeMatcher\n | ContainsStructuredTextAttributeMatcher\n | StartsWithStructuredTextAttributeMatcher\n | EndsWithStructuredTextAttributeMatcher;\n\nexport interface ExistsStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n matchOperator: StructuredTextAttributeMatchOperator.exists;\n}\n\nexport interface MissingStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n matchOperator: StructuredTextAttributeMatchOperator.missing;\n}\n\nexport interface EqualsStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n value: string;\n matchOperator: StructuredTextAttributeMatchOperator.equals;\n}\n\nexport interface NotEqualsStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n value: string;\n matchOperator: StructuredTextAttributeMatchOperator.notEquals;\n}\n\nexport interface ContainsStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n value: string;\n matchOperator: StructuredTextAttributeMatchOperator.contains;\n}\n\nexport interface StartsWithStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n value: string;\n matchOperator: StructuredTextAttributeMatchOperator.startsWith;\n}\n\nexport interface EndsWithStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n value: string;\n matchOperator: StructuredTextAttributeMatchOperator.endsWith;\n}\n"],"names":["StructuredTextStyleKind","StructuredTextAttributeMatchOperator"],"mappings":";;AAaO,IAAK,4CAAAA,6BAAL;AACHA,2BAAA,WAAA,IAAY;AACZA,2BAAA,WAAA,IAAY;AACZA,2BAAA,WAAA,IAAY;AACZA,2BAAA,aAAA,IAAc;AAJN,SAAAA;AAAA,GAAA,2BAAA,CAAA,CAAA;AAmEL,IAAK,yDAAAC,0CAAL;AACHA,wCAAA,QAAA,IAAS;AACTA,wCAAA,SAAA,IAAU;AACVA,wCAAA,QAAA,IAAS;AACTA,wCAAA,WAAA,IAAY;AACZA,wCAAA,UAAA,IAAW;AACXA,wCAAA,YAAA,IAAa;AACbA,wCAAA,UAAA,IAAW;AAPH,SAAAA;AAAA,GAAA,wCAAA,CAAA,CAAA;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichTextRuleTypes.es.js","sources":["../../../src/types/RichTextRuleTypes.ts"],"sourcesContent":["import { Scripting } from './TextStyleTypes';\n\n/**\n * Defines a text flow and all style rules that are applied to it.\n */\nexport interface StructuredTextTextFlowDefinition {\n id: string;\n styleRules: StructuredTextStyleRule[];\n}\n\n/**\n * Supported style kinds for structured text rules.\n */\nexport enum StructuredTextStyleKind {\n paragraph = 'paragraph',\n character = 'character',\n lineBreak = 'lineBreak',\n inlineStyle = 'inlineStyle',\n}\n\n/**\n * A style rule for rich text parsing.\n */\nexport type StructuredTextStyleRule =\n | ParagraphTextStyleRule\n | CharacterTextStyleRule\n | LineBreakTextStyleRule\n | InlineStyleTextStyleRule;\n\nexport interface ParagraphTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n paragraphStyleName: string;\n styleKind: StructuredTextStyleKind.paragraph;\n}\n\nexport interface CharacterTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n characterStyleName: string;\n styleKind: StructuredTextStyleKind.character;\n}\n\nexport interface LineBreakTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n styleKind: StructuredTextStyleKind.lineBreak;\n}\n\n
|
|
1
|
+
{"version":3,"file":"RichTextRuleTypes.es.js","sources":["../../../src/types/RichTextRuleTypes.ts"],"sourcesContent":["import { Scripting } from './TextStyleTypes';\n\n/**\n * Defines a text flow and all style rules that are applied to it.\n */\nexport interface StructuredTextTextFlowDefinition {\n id: string;\n styleRules: StructuredTextStyleRule[];\n}\n\n/**\n * Supported style kinds for structured text rules.\n */\nexport enum StructuredTextStyleKind {\n paragraph = 'paragraph',\n character = 'character',\n lineBreak = 'lineBreak',\n inlineStyle = 'inlineStyle',\n}\n\n/**\n * A style rule for rich text parsing.\n */\nexport type StructuredTextStyleRule =\n | ParagraphTextStyleRule\n | CharacterTextStyleRule\n | LineBreakTextStyleRule\n | InlineStyleTextStyleRule;\n\nexport interface ParagraphTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n paragraphStyleName: string;\n styleKind: StructuredTextStyleKind.paragraph;\n}\n\nexport interface CharacterTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n characterStyleName: string;\n styleKind: StructuredTextStyleKind.character;\n}\n\nexport interface LineBreakTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n styleKind: StructuredTextStyleKind.lineBreak;\n}\n\n/**\n * A style rule that applies inline character styling directly to matched\n * elements without requiring a named style.\n */\nexport interface InlineStyleTextStyleRule {\n matcher: StructuredTextNodeMatcher;\n inlineStyleDefinition: StructuredTextInlineStyleDefinition;\n styleKind: StructuredTextStyleKind.inlineStyle;\n}\n\n/**\n * Defines inline character style properties applied by inline style rules.\n *\n * Every property is optional. If a property is left `undefined`, it is not\n * overridden by the rule.\n */\nexport interface StructuredTextInlineStyleDefinition {\n underline?: boolean;\n lineThrough?: boolean;\n subSuperScript?: Scripting;\n}\n\n/**\n * Matcher for structured text nodes.\n */\nexport interface StructuredTextNodeMatcher {\n tag?: string;\n attributeMatchers: StructuredTextAttributeMatcher[];\n caseSensitive: boolean;\n}\n\n/**\n * Supported operators for matching attributes.\n */\nexport enum StructuredTextAttributeMatchOperator {\n exists = 'exists',\n missing = 'missing',\n equals = 'equals',\n notEquals = 'notEquals',\n contains = 'contains',\n startsWith = 'startsWith',\n endsWith = 'endsWith',\n}\n\n/**\n * Matcher used to evaluate a node attribute.\n */\nexport type StructuredTextAttributeMatcher =\n | ExistsStructuredTextAttributeMatcher\n | MissingStructuredTextAttributeMatcher\n | EqualsStructuredTextAttributeMatcher\n | NotEqualsStructuredTextAttributeMatcher\n | ContainsStructuredTextAttributeMatcher\n | StartsWithStructuredTextAttributeMatcher\n | EndsWithStructuredTextAttributeMatcher;\n\nexport interface ExistsStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n matchOperator: StructuredTextAttributeMatchOperator.exists;\n}\n\nexport interface MissingStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n matchOperator: StructuredTextAttributeMatchOperator.missing;\n}\n\nexport interface EqualsStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n value: string;\n matchOperator: StructuredTextAttributeMatchOperator.equals;\n}\n\nexport interface NotEqualsStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n value: string;\n matchOperator: StructuredTextAttributeMatchOperator.notEquals;\n}\n\nexport interface ContainsStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n value: string;\n matchOperator: StructuredTextAttributeMatchOperator.contains;\n}\n\nexport interface StartsWithStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n value: string;\n matchOperator: StructuredTextAttributeMatchOperator.startsWith;\n}\n\nexport interface EndsWithStructuredTextAttributeMatcher {\n name: string;\n caseSensitive: boolean;\n value: string;\n matchOperator: StructuredTextAttributeMatchOperator.endsWith;\n}\n"],"names":["StructuredTextStyleKind","StructuredTextAttributeMatchOperator"],"mappings":"AAaO,IAAK,4CAAAA,6BAAL;AACHA,2BAAA,WAAA,IAAY;AACZA,2BAAA,WAAA,IAAY;AACZA,2BAAA,WAAA,IAAY;AACZA,2BAAA,aAAA,IAAc;AAJN,SAAAA;AAAA,GAAA,2BAAA,CAAA,CAAA;AAmEL,IAAK,yDAAAC,0CAAL;AACHA,wCAAA,QAAA,IAAS;AACTA,wCAAA,SAAA,IAAU;AACVA,wCAAA,QAAA,IAAS;AACTA,wCAAA,WAAA,IAAY;AACZA,wCAAA,UAAA,IAAW;AACXA,wCAAA,YAAA,IAAa;AACbA,wCAAA,UAAA,IAAW;AAPH,SAAAA;AAAA,GAAA,wCAAA,CAAA,CAAA;"}
|
|
@@ -4,6 +4,7 @@ var ShapeType = /* @__PURE__ */ ((ShapeType2) => {
|
|
|
4
4
|
ShapeType2["ellipse"] = "ellipse";
|
|
5
5
|
ShapeType2["rectangle"] = "rectangle";
|
|
6
6
|
ShapeType2["polygon"] = "polygon";
|
|
7
|
+
ShapeType2["custom"] = "custom";
|
|
7
8
|
return ShapeType2;
|
|
8
9
|
})(ShapeType || {});
|
|
9
10
|
var CornerRadiusType = /* @__PURE__ */ ((CornerRadiusType2) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShapeTypes.cjs.js","sources":["../../../src/types/ShapeTypes.ts"],"sourcesContent":["import { ColorUsage } from './ColorStyleTypes';\n\nexport enum ShapeType {\n ellipse = 'ellipse',\n rectangle = 'rectangle',\n polygon = 'polygon',\n}\n\nexport interface ShapeProperties {\n enableFill?: boolean;\n fillColor?: ColorUsage;\n enableStroke?: boolean;\n strokeColor?: ColorUsage;\n strokeWeight?: number;\n allCornersSame?: boolean;\n}\n\nexport interface ShapeContainerProperties {\n enableStroke: boolean;\n strokeColor: ColorUsage;\n strokeWeight: number;\n allCornersSame: boolean;\n}\n\nexport interface CornerRadiusUpdateModel {\n radiusAll?: number;\n topLeft?: number;\n bottomLeft?: number;\n topRight?: number;\n bottomRight?: number;\n allCornersSame?: boolean;\n}\n\nexport interface CornerRadiusNone {\n type: string;\n}\n\nexport interface CornerRadiusAll {\n type: string;\n radius: number;\n}\n\nexport interface CornerRadiusOnly {\n type: string;\n topLeft: number;\n bottomLeft: number;\n topRight: number;\n bottomRight: number;\n}\n\nexport enum CornerRadiusType {\n all = 'all',\n only = 'only',\n none = 'none',\n}\n\nexport type CornerRadius = CornerRadiusNone | CornerRadiusAll | CornerRadiusOnly;\n\nexport type ShapeFrameRectSource = {\n type: ShapeType.rectangle;\n cornerRadius?: CornerRadius;\n};\n\nexport type ShapeFrameEllipseSource = {\n type: ShapeType.ellipse;\n};\n\nexport type ShapeFramePolygonSource = {\n type: ShapeType.polygon;\n sides?: number;\n cornerRadius?: CornerRadius;\n};\n\nexport type
|
|
1
|
+
{"version":3,"file":"ShapeTypes.cjs.js","sources":["../../../src/types/ShapeTypes.ts"],"sourcesContent":["import { ColorUsage } from './ColorStyleTypes';\n\nexport enum ShapeType {\n ellipse = 'ellipse',\n rectangle = 'rectangle',\n polygon = 'polygon',\n custom = 'custom',\n}\n\nexport interface ShapeProperties {\n enableFill?: boolean;\n fillColor?: ColorUsage;\n enableStroke?: boolean;\n strokeColor?: ColorUsage;\n strokeWeight?: number;\n allCornersSame?: boolean;\n}\n\nexport interface ShapeContainerProperties {\n enableStroke: boolean;\n strokeColor: ColorUsage;\n strokeWeight: number;\n allCornersSame: boolean;\n}\n\nexport interface CornerRadiusUpdateModel {\n radiusAll?: number;\n topLeft?: number;\n bottomLeft?: number;\n topRight?: number;\n bottomRight?: number;\n allCornersSame?: boolean;\n}\n\nexport interface CornerRadiusNone {\n type: string;\n}\n\nexport interface CornerRadiusAll {\n type: string;\n radius: number;\n}\n\nexport interface CornerRadiusOnly {\n type: string;\n topLeft: number;\n bottomLeft: number;\n topRight: number;\n bottomRight: number;\n}\n\nexport enum CornerRadiusType {\n all = 'all',\n only = 'only',\n none = 'none',\n}\n\nexport type CornerRadius = CornerRadiusNone | CornerRadiusAll | CornerRadiusOnly;\n\nexport type ShapeFrameRectSource = {\n type: ShapeType.rectangle;\n cornerRadius?: CornerRadius;\n};\n\nexport type ShapeFrameEllipseSource = {\n type: ShapeType.ellipse;\n};\n\nexport type ShapeFramePolygonSource = {\n type: ShapeType.polygon;\n sides?: number;\n cornerRadius?: CornerRadius;\n};\n\nexport type ShapeFrameCustomSource = {\n type: ShapeType.custom;\n /** \n * The shape path is in relative coordinates to the frame, \n * with the top left corner of the frame being (0, 0) and the \n * bottom right corner being (1, 1). The path should be a valid SVG path string. \n */\n path: string;\n};\n\nexport type ShapeFrameSource =\n | ShapeFrameRectSource\n | ShapeFrameEllipseSource\n | ShapeFramePolygonSource\n | ShapeFrameCustomSource;\n"],"names":["ShapeType","CornerRadiusType"],"mappings":";;AAEO,IAAK,8BAAAA,eAAL;AACHA,aAAA,SAAA,IAAU;AACVA,aAAA,WAAA,IAAY;AACZA,aAAA,SAAA,IAAU;AACVA,aAAA,QAAA,IAAS;AAJD,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAiDL,IAAK,qCAAAC,sBAAL;AACHA,oBAAA,KAAA,IAAM;AACNA,oBAAA,MAAA,IAAO;AACPA,oBAAA,MAAA,IAAO;AAHC,SAAAA;AAAA,GAAA,oBAAA,CAAA,CAAA;;;"}
|
|
@@ -2,7 +2,8 @@ import { ColorUsage } from './ColorStyleTypes';
|
|
|
2
2
|
export declare enum ShapeType {
|
|
3
3
|
ellipse = "ellipse",
|
|
4
4
|
rectangle = "rectangle",
|
|
5
|
-
polygon = "polygon"
|
|
5
|
+
polygon = "polygon",
|
|
6
|
+
custom = "custom"
|
|
6
7
|
}
|
|
7
8
|
export interface ShapeProperties {
|
|
8
9
|
enableFill?: boolean;
|
|
@@ -58,4 +59,13 @@ export type ShapeFramePolygonSource = {
|
|
|
58
59
|
sides?: number;
|
|
59
60
|
cornerRadius?: CornerRadius;
|
|
60
61
|
};
|
|
61
|
-
export type
|
|
62
|
+
export type ShapeFrameCustomSource = {
|
|
63
|
+
type: ShapeType.custom;
|
|
64
|
+
/**
|
|
65
|
+
* The shape path is in relative coordinates to the frame,
|
|
66
|
+
* with the top left corner of the frame being (0, 0) and the
|
|
67
|
+
* bottom right corner being (1, 1). The path should be a valid SVG path string.
|
|
68
|
+
*/
|
|
69
|
+
path: string;
|
|
70
|
+
};
|
|
71
|
+
export type ShapeFrameSource = ShapeFrameRectSource | ShapeFrameEllipseSource | ShapeFramePolygonSource | ShapeFrameCustomSource;
|
|
@@ -2,6 +2,7 @@ var ShapeType = /* @__PURE__ */ ((ShapeType2) => {
|
|
|
2
2
|
ShapeType2["ellipse"] = "ellipse";
|
|
3
3
|
ShapeType2["rectangle"] = "rectangle";
|
|
4
4
|
ShapeType2["polygon"] = "polygon";
|
|
5
|
+
ShapeType2["custom"] = "custom";
|
|
5
6
|
return ShapeType2;
|
|
6
7
|
})(ShapeType || {});
|
|
7
8
|
var CornerRadiusType = /* @__PURE__ */ ((CornerRadiusType2) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShapeTypes.es.js","sources":["../../../src/types/ShapeTypes.ts"],"sourcesContent":["import { ColorUsage } from './ColorStyleTypes';\n\nexport enum ShapeType {\n ellipse = 'ellipse',\n rectangle = 'rectangle',\n polygon = 'polygon',\n}\n\nexport interface ShapeProperties {\n enableFill?: boolean;\n fillColor?: ColorUsage;\n enableStroke?: boolean;\n strokeColor?: ColorUsage;\n strokeWeight?: number;\n allCornersSame?: boolean;\n}\n\nexport interface ShapeContainerProperties {\n enableStroke: boolean;\n strokeColor: ColorUsage;\n strokeWeight: number;\n allCornersSame: boolean;\n}\n\nexport interface CornerRadiusUpdateModel {\n radiusAll?: number;\n topLeft?: number;\n bottomLeft?: number;\n topRight?: number;\n bottomRight?: number;\n allCornersSame?: boolean;\n}\n\nexport interface CornerRadiusNone {\n type: string;\n}\n\nexport interface CornerRadiusAll {\n type: string;\n radius: number;\n}\n\nexport interface CornerRadiusOnly {\n type: string;\n topLeft: number;\n bottomLeft: number;\n topRight: number;\n bottomRight: number;\n}\n\nexport enum CornerRadiusType {\n all = 'all',\n only = 'only',\n none = 'none',\n}\n\nexport type CornerRadius = CornerRadiusNone | CornerRadiusAll | CornerRadiusOnly;\n\nexport type ShapeFrameRectSource = {\n type: ShapeType.rectangle;\n cornerRadius?: CornerRadius;\n};\n\nexport type ShapeFrameEllipseSource = {\n type: ShapeType.ellipse;\n};\n\nexport type ShapeFramePolygonSource = {\n type: ShapeType.polygon;\n sides?: number;\n cornerRadius?: CornerRadius;\n};\n\nexport type
|
|
1
|
+
{"version":3,"file":"ShapeTypes.es.js","sources":["../../../src/types/ShapeTypes.ts"],"sourcesContent":["import { ColorUsage } from './ColorStyleTypes';\n\nexport enum ShapeType {\n ellipse = 'ellipse',\n rectangle = 'rectangle',\n polygon = 'polygon',\n custom = 'custom',\n}\n\nexport interface ShapeProperties {\n enableFill?: boolean;\n fillColor?: ColorUsage;\n enableStroke?: boolean;\n strokeColor?: ColorUsage;\n strokeWeight?: number;\n allCornersSame?: boolean;\n}\n\nexport interface ShapeContainerProperties {\n enableStroke: boolean;\n strokeColor: ColorUsage;\n strokeWeight: number;\n allCornersSame: boolean;\n}\n\nexport interface CornerRadiusUpdateModel {\n radiusAll?: number;\n topLeft?: number;\n bottomLeft?: number;\n topRight?: number;\n bottomRight?: number;\n allCornersSame?: boolean;\n}\n\nexport interface CornerRadiusNone {\n type: string;\n}\n\nexport interface CornerRadiusAll {\n type: string;\n radius: number;\n}\n\nexport interface CornerRadiusOnly {\n type: string;\n topLeft: number;\n bottomLeft: number;\n topRight: number;\n bottomRight: number;\n}\n\nexport enum CornerRadiusType {\n all = 'all',\n only = 'only',\n none = 'none',\n}\n\nexport type CornerRadius = CornerRadiusNone | CornerRadiusAll | CornerRadiusOnly;\n\nexport type ShapeFrameRectSource = {\n type: ShapeType.rectangle;\n cornerRadius?: CornerRadius;\n};\n\nexport type ShapeFrameEllipseSource = {\n type: ShapeType.ellipse;\n};\n\nexport type ShapeFramePolygonSource = {\n type: ShapeType.polygon;\n sides?: number;\n cornerRadius?: CornerRadius;\n};\n\nexport type ShapeFrameCustomSource = {\n type: ShapeType.custom;\n /** \n * The shape path is in relative coordinates to the frame, \n * with the top left corner of the frame being (0, 0) and the \n * bottom right corner being (1, 1). The path should be a valid SVG path string. \n */\n path: string;\n};\n\nexport type ShapeFrameSource =\n | ShapeFrameRectSource\n | ShapeFrameEllipseSource\n | ShapeFramePolygonSource\n | ShapeFrameCustomSource;\n"],"names":["ShapeType","CornerRadiusType"],"mappings":"AAEO,IAAK,8BAAAA,eAAL;AACHA,aAAA,SAAA,IAAU;AACVA,aAAA,WAAA,IAAY;AACZA,aAAA,SAAA,IAAU;AACVA,aAAA,QAAA,IAAS;AAJD,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAiDL,IAAK,qCAAAC,sBAAL;AACHA,oBAAA,KAAA,IAAM;AACNA,oBAAA,MAAA,IAAO;AACPA,oBAAA,MAAA,IAAO;AAHC,SAAAA;AAAA,GAAA,oBAAA,CAAA,CAAA;"}
|
|
@@ -196,6 +196,10 @@ class ConfigHelper {
|
|
|
196
196
|
onBrandKitMediaChanged: new EngineEvent.EngineEvent(
|
|
197
197
|
() => clone.onBrandKitMediaChanged,
|
|
198
198
|
clone.logging.logger
|
|
199
|
+
),
|
|
200
|
+
onCanvasFramesManipulated: new EngineEvent.EngineEvent(
|
|
201
|
+
() => clone.onCanvasFramesManipulated,
|
|
202
|
+
clone.logging.logger
|
|
199
203
|
)
|
|
200
204
|
};
|
|
201
205
|
return clone;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigHelper.cjs.js","sources":["../../../src/utils/ConfigHelper.ts"],"sourcesContent":["import { DocumentAction } from '../types/ActionTypes';\nimport { AnimationPlaybackType, FrameAnimationType } from '../types/AnimationTypes';\nimport { BarcodeFrameValidationResult } from '../types/BarcodeTypes';\nimport { CharacterStyle } from '../types/CharacterStyleTypes';\nimport { DocumentColor } from '../types/ColorStyleTypes';\nimport { ConfigType, Id, LogLevel, MaybePromise, RuntimeConfigType, SelectedLayoutFrame } from '../types/CommonTypes';\nimport { AuthCredentials, AuthRefreshRequest, ConnectorEvent, ConnectorInstance } from '../types/ConnectorTypes';\nimport { DocumentIssue, UndoState } from '../types/DocumentTypes';\nimport { EngineEditMode } from '../types/EngineEditModeTypes';\nimport { DocumentFontFamily } from '../types/FontTypes';\nimport { Frame, FrameLayoutType } from '../types/FrameTypes';\nimport { LayoutListItemType, LayoutPropertiesType, MeasurementUnit } from '../types/LayoutTypes';\nimport { Page, PageSize } from '../types/PageTypes';\nimport { ParagraphStyle } from '../types/ParagraphStyleTypes';\nimport { CornerRadiusUpdateModel } from '../types/ShapeTypes';\nimport { SelectedTextStyle } from '../types/TextStyleTypes';\nimport { Variable } from '../types/VariableTypes';\nimport { ViewMode } from '../types/ViewModeTypes';\nimport { Viewport } from '../types/ViewportTypes';\nimport { EngineCallbackHandler } from './EngineCallbackHandler';\nimport { EngineEvent } from './EngineEvent';\nimport { ToolType } from './Enums';\nimport { BrandKitMedia } from '../types/BrandKitTypes';\nimport { AsyncError } from '../exceptions';\n\nexport class ConfigHelper {\n /**\n * Creates a runtime configuration object from the provided configuration object.\n *\n * @param config The configuration object to create the runtime configuration object from.\n * @returns The runtime configuration object.\n */\n static createRuntimeConfig(config: ConfigType): RuntimeConfigType {\n // we need a reference to the clone object in the engineEvent, so we need to create the object in 2 steps\n const clone: RuntimeConfigType = { ...config } as RuntimeConfigType;\n clone.logging = {\n logLevel: config.logging?.logLevel || LogLevel.error,\n logger:\n config.logging?.logger ||\n ((level, cat, msg) => {\n if (!ConfigHelper.isLoggingEnabled(level, clone.logging?.logLevel ?? LogLevel.error)) {\n return;\n }\n\n switch (level) {\n case LogLevel.error:\n console.error(`[${cat}] [${level}] ${msg}`);\n break;\n case LogLevel.warn:\n console.warn(`[${cat}] [${level}] ${msg}`);\n break;\n default:\n console.log(`[${cat}] [${level}] ${msg}`);\n }\n }),\n };\n clone.handlers = {\n onAuthExpired: new EngineCallbackHandler<\n (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>\n >(() => clone.onAuthExpired, clone.logging?.logger),\n onViewportRequested: new EngineCallbackHandler<() => Viewport | null>(\n () => clone.onViewportRequested,\n clone.logging?.logger,\n ),\n };\n clone.events = {\n onActionsChanged: new EngineEvent<(state: DocumentAction[]) => MaybePromise<void>>(\n () => clone.onActionsChanged,\n clone.logging?.logger,\n ),\n onStateChanged: new EngineEvent<() => MaybePromise<void>>(\n () => clone.onStateChanged,\n clone.logging?.logger,\n ),\n\n onDocumentLoaded: new EngineEvent<() => MaybePromise<void>>(\n () => clone.onDocumentLoaded,\n clone.logging?.logger,\n ),\n onSelectedFramesLayoutChanged: new EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>(\n () => clone.onSelectedFramesLayoutChanged,\n clone.logging?.logger,\n ),\n onFramesLayoutChanged: new EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>(\n () => clone.onFramesLayoutChanged,\n clone.logging?.logger,\n ),\n onSelectedFramesContentChanged: new EngineEvent<(state: Frame[]) => MaybePromise<void>>(\n () => clone.onSelectedFramesContentChanged,\n clone.logging?.logger,\n ),\n onPageSelectionChanged: new EngineEvent<(id: Id) => MaybePromise<void>>(\n () => clone.onPageSelectionChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutPropertiesChanged: new EngineEvent<(state: LayoutPropertiesType) => MaybePromise<void>>(\n () => clone.onSelectedLayoutPropertiesChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutUnitChanged: new EngineEvent<(unit: MeasurementUnit) => MaybePromise<void>>(\n () => clone.onSelectedLayoutUnitChanged,\n clone.logging?.logger,\n ),\n onScrubberPositionChanged: new EngineEvent<(state: AnimationPlaybackType) => MaybePromise<void>>(\n () => clone.onScrubberPositionChanged,\n clone.logging?.logger,\n ),\n onFrameAnimationsChanged: new EngineEvent<(animationState: FrameAnimationType[]) => MaybePromise<void>>(\n () => clone.onFrameAnimationsChanged,\n clone.logging?.logger,\n ),\n onVariableListChanged: new EngineEvent<(variableList: Variable[]) => MaybePromise<void>>(\n () => clone.onVariableListChanged,\n clone.logging?.logger,\n ),\n onSelectedToolChanged: new EngineEvent<(tool: ToolType) => MaybePromise<void>>(\n () => clone.onSelectedToolChanged,\n clone.logging?.logger,\n ),\n onUndoStackStateChanged: new EngineEvent<(undoStackState: UndoState) => MaybePromise<void>>(\n () => clone.onUndoStackStateChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutFramesChanged: new EngineEvent<(frames: SelectedLayoutFrame[]) => MaybePromise<void>>(\n () => clone.onSelectedLayoutFramesChanged,\n clone.logging?.logger,\n ),\n onSelectedTextStyleChanged: new EngineEvent<(styles: SelectedTextStyle) => MaybePromise<void>>(\n () => clone.onSelectedTextStyleChanged,\n clone.logging?.logger,\n ),\n onColorsChanged: new EngineEvent<(colors: DocumentColor[]) => MaybePromise<void>>(\n () => clone.onColorsChanged,\n clone.logging?.logger,\n ),\n onParagraphStylesChanged: new EngineEvent<(paragraphStyles: ParagraphStyle[]) => MaybePromise<void>>(\n () => clone.onParagraphStylesChanged,\n clone.logging?.logger,\n ),\n onCharacterStylesChanged: new EngineEvent<(characterStyles: CharacterStyle[]) => MaybePromise<void>>(\n () => clone.onCharacterStylesChanged,\n clone.logging?.logger,\n ),\n onFontFamiliesChanged: new EngineEvent<(fontFamilies: DocumentFontFamily[]) => MaybePromise<void>>(\n () => clone.onFontFamiliesChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutIdChanged: new EngineEvent<(layoutId: string) => MaybePromise<void>>(\n () => clone.onSelectedLayoutIdChanged,\n clone.logging?.logger,\n ),\n onLayoutsChanged: new EngineEvent<(layouts: LayoutListItemType[]) => MaybePromise<void>>(\n () => clone.onLayoutsChanged,\n clone.logging?.logger,\n ),\n onConnectorEvent: new EngineEvent<(event: ConnectorEvent) => MaybePromise<void>>(\n () => clone.onConnectorEvent,\n clone.logging?.logger,\n ),\n onConnectorsChanged: new EngineEvent<(connectors: ConnectorInstance[]) => MaybePromise<void>>(\n () => clone.onConnectorsChanged,\n clone.logging?.logger,\n ),\n onZoomChanged: new EngineEvent<(scaleFactor: number) => MaybePromise<void>>(\n () => clone.onZoomChanged,\n clone.logging?.logger,\n ),\n onSelectedPageIdChanged: new EngineEvent<(pageId: Id) => MaybePromise<void>>(\n () => clone.onSelectedPageIdChanged,\n clone.logging.logger,\n ),\n onPagesChanged: new EngineEvent<(pages: Page[]) => MaybePromise<void>>(\n () => clone.onPagesChanged,\n clone.logging.logger,\n ),\n onPageSnapshotInvalidated: new EngineEvent<(pageId: Id) => MaybePromise<void>>(\n () => clone.onPageSnapshotInvalidated,\n clone.logging.logger,\n ),\n onPageSizeChanged: new EngineEvent<(pageSize: PageSize) => MaybePromise<void>>(\n () => clone.onPageSizeChanged,\n clone.logging?.logger,\n ),\n onShapeCornerRadiusChanged: new EngineEvent<(cornerRadius: CornerRadiusUpdateModel) => MaybePromise<void>>(\n () => clone.onShapeCornerRadiusChanged,\n clone.logging?.logger,\n ),\n onCropActiveFrameIdChanged: new EngineEvent<(id?: Id) => MaybePromise<void>>(\n () => clone.onCropActiveFrameIdChanged,\n clone.logging?.logger,\n ),\n onAsyncError: new EngineEvent<(asyncError: AsyncError) => MaybePromise<void>>(\n () => clone.onAsyncError,\n clone.logging?.logger,\n ),\n onViewModeChanged: new EngineEvent<(tool: ViewMode) => MaybePromise<void>>(\n () => clone.onViewModeChanged,\n clone.logging?.logger,\n ),\n onBarcodeValidationChanged: new EngineEvent<\n (validationResults: BarcodeFrameValidationResult[]) => MaybePromise<void>\n >(() => clone.onBarcodeValidationChanged, clone.logging?.logger),\n onDataSourceIdChanged: new EngineEvent<(connectorId?: Id) => MaybePromise<void>>(\n () => clone.onDataSourceIdChanged,\n clone.logging.logger,\n ),\n onInjectedDataChanged: new EngineEvent<(variableId: Id) => MaybePromise<void>>(\n () => clone.onInjectedDataChanged,\n clone.logging.logger,\n ),\n onDocumentIssueListChanged: new EngineEvent<(documentIssues: DocumentIssue[]) => MaybePromise<void>>(\n () => clone.onDocumentIssueListChanged,\n clone.logging.logger,\n ),\n onCustomUndoDataChanged: new EngineEvent<(customData: Record<string, string>) => MaybePromise<void>>(\n () => clone.onCustomUndoDataChanged,\n clone.logging.logger,\n ),\n onEngineEditModeChanged: new EngineEvent<(engineEditMode: EngineEditMode) => MaybePromise<void>>(\n () => clone.onEngineEditModeChanged,\n clone.logging.logger,\n ),\n onBrandKitMediaChanged: new EngineEvent<(brandKitMedia: BrandKitMedia[]) => MaybePromise<void>>(\n () => clone.onBrandKitMediaChanged,\n clone.logging.logger,\n ),\n };\n return clone;\n }\n\n private static isLoggingEnabled(level: LogLevel, logLevel: LogLevel): boolean {\n if (logLevel == LogLevel.info) {\n return true;\n }\n if (logLevel == LogLevel.warn && (level == LogLevel.warn || level == LogLevel.error)) {\n return true;\n }\n return logLevel == LogLevel.error && level == LogLevel.error;\n }\n}\n"],"names":["LogLevel","_a","EngineCallbackHandler","EngineEvent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigHelper.cjs.js","sources":["../../../src/utils/ConfigHelper.ts"],"sourcesContent":["import { DocumentAction } from '../types/ActionTypes';\nimport { AnimationPlaybackType, FrameAnimationType } from '../types/AnimationTypes';\nimport { BarcodeFrameValidationResult } from '../types/BarcodeTypes';\nimport { CharacterStyle } from '../types/CharacterStyleTypes';\nimport { DocumentColor } from '../types/ColorStyleTypes';\nimport { ConfigType, Id, LogLevel, MaybePromise, RuntimeConfigType, SelectedLayoutFrame } from '../types/CommonTypes';\nimport { AuthCredentials, AuthRefreshRequest, ConnectorEvent, ConnectorInstance } from '../types/ConnectorTypes';\nimport { DocumentIssue, UndoState } from '../types/DocumentTypes';\nimport { EngineEditMode } from '../types/EngineEditModeTypes';\nimport { DocumentFontFamily } from '../types/FontTypes';\nimport { Frame, FrameLayoutType } from '../types/FrameTypes';\nimport { LayoutListItemType, LayoutPropertiesType, MeasurementUnit } from '../types/LayoutTypes';\nimport { Page, PageSize } from '../types/PageTypes';\nimport { ParagraphStyle } from '../types/ParagraphStyleTypes';\nimport { CornerRadiusUpdateModel } from '../types/ShapeTypes';\nimport { SelectedTextStyle } from '../types/TextStyleTypes';\nimport { Variable } from '../types/VariableTypes';\nimport { ViewMode } from '../types/ViewModeTypes';\nimport { Viewport } from '../types/ViewportTypes';\nimport { EngineCallbackHandler } from './EngineCallbackHandler';\nimport { EngineEvent } from './EngineEvent';\nimport { ToolType } from './Enums';\nimport { BrandKitMedia } from '../types/BrandKitTypes';\nimport { AsyncError } from '../exceptions';\n\nexport class ConfigHelper {\n /**\n * Creates a runtime configuration object from the provided configuration object.\n *\n * @param config The configuration object to create the runtime configuration object from.\n * @returns The runtime configuration object.\n */\n static createRuntimeConfig(config: ConfigType): RuntimeConfigType {\n // we need a reference to the clone object in the engineEvent, so we need to create the object in 2 steps\n const clone: RuntimeConfigType = { ...config } as RuntimeConfigType;\n clone.logging = {\n logLevel: config.logging?.logLevel || LogLevel.error,\n logger:\n config.logging?.logger ||\n ((level, cat, msg) => {\n if (!ConfigHelper.isLoggingEnabled(level, clone.logging?.logLevel ?? LogLevel.error)) {\n return;\n }\n\n switch (level) {\n case LogLevel.error:\n console.error(`[${cat}] [${level}] ${msg}`);\n break;\n case LogLevel.warn:\n console.warn(`[${cat}] [${level}] ${msg}`);\n break;\n default:\n console.log(`[${cat}] [${level}] ${msg}`);\n }\n }),\n };\n clone.handlers = {\n onAuthExpired: new EngineCallbackHandler<\n (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>\n >(() => clone.onAuthExpired, clone.logging?.logger),\n onViewportRequested: new EngineCallbackHandler<() => Viewport | null>(\n () => clone.onViewportRequested,\n clone.logging?.logger,\n ),\n };\n clone.events = {\n onActionsChanged: new EngineEvent<(state: DocumentAction[]) => MaybePromise<void>>(\n () => clone.onActionsChanged,\n clone.logging?.logger,\n ),\n onStateChanged: new EngineEvent<() => MaybePromise<void>>(\n () => clone.onStateChanged,\n clone.logging?.logger,\n ),\n\n onDocumentLoaded: new EngineEvent<() => MaybePromise<void>>(\n () => clone.onDocumentLoaded,\n clone.logging?.logger,\n ),\n onSelectedFramesLayoutChanged: new EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>(\n () => clone.onSelectedFramesLayoutChanged,\n clone.logging?.logger,\n ),\n onFramesLayoutChanged: new EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>(\n () => clone.onFramesLayoutChanged,\n clone.logging?.logger,\n ),\n onSelectedFramesContentChanged: new EngineEvent<(state: Frame[]) => MaybePromise<void>>(\n () => clone.onSelectedFramesContentChanged,\n clone.logging?.logger,\n ),\n onPageSelectionChanged: new EngineEvent<(id: Id) => MaybePromise<void>>(\n () => clone.onPageSelectionChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutPropertiesChanged: new EngineEvent<(state: LayoutPropertiesType) => MaybePromise<void>>(\n () => clone.onSelectedLayoutPropertiesChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutUnitChanged: new EngineEvent<(unit: MeasurementUnit) => MaybePromise<void>>(\n () => clone.onSelectedLayoutUnitChanged,\n clone.logging?.logger,\n ),\n onScrubberPositionChanged: new EngineEvent<(state: AnimationPlaybackType) => MaybePromise<void>>(\n () => clone.onScrubberPositionChanged,\n clone.logging?.logger,\n ),\n onFrameAnimationsChanged: new EngineEvent<(animationState: FrameAnimationType[]) => MaybePromise<void>>(\n () => clone.onFrameAnimationsChanged,\n clone.logging?.logger,\n ),\n onVariableListChanged: new EngineEvent<(variableList: Variable[]) => MaybePromise<void>>(\n () => clone.onVariableListChanged,\n clone.logging?.logger,\n ),\n onSelectedToolChanged: new EngineEvent<(tool: ToolType) => MaybePromise<void>>(\n () => clone.onSelectedToolChanged,\n clone.logging?.logger,\n ),\n onUndoStackStateChanged: new EngineEvent<(undoStackState: UndoState) => MaybePromise<void>>(\n () => clone.onUndoStackStateChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutFramesChanged: new EngineEvent<(frames: SelectedLayoutFrame[]) => MaybePromise<void>>(\n () => clone.onSelectedLayoutFramesChanged,\n clone.logging?.logger,\n ),\n onSelectedTextStyleChanged: new EngineEvent<(styles: SelectedTextStyle) => MaybePromise<void>>(\n () => clone.onSelectedTextStyleChanged,\n clone.logging?.logger,\n ),\n onColorsChanged: new EngineEvent<(colors: DocumentColor[]) => MaybePromise<void>>(\n () => clone.onColorsChanged,\n clone.logging?.logger,\n ),\n onParagraphStylesChanged: new EngineEvent<(paragraphStyles: ParagraphStyle[]) => MaybePromise<void>>(\n () => clone.onParagraphStylesChanged,\n clone.logging?.logger,\n ),\n onCharacterStylesChanged: new EngineEvent<(characterStyles: CharacterStyle[]) => MaybePromise<void>>(\n () => clone.onCharacterStylesChanged,\n clone.logging?.logger,\n ),\n onFontFamiliesChanged: new EngineEvent<(fontFamilies: DocumentFontFamily[]) => MaybePromise<void>>(\n () => clone.onFontFamiliesChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutIdChanged: new EngineEvent<(layoutId: string) => MaybePromise<void>>(\n () => clone.onSelectedLayoutIdChanged,\n clone.logging?.logger,\n ),\n onLayoutsChanged: new EngineEvent<(layouts: LayoutListItemType[]) => MaybePromise<void>>(\n () => clone.onLayoutsChanged,\n clone.logging?.logger,\n ),\n onConnectorEvent: new EngineEvent<(event: ConnectorEvent) => MaybePromise<void>>(\n () => clone.onConnectorEvent,\n clone.logging?.logger,\n ),\n onConnectorsChanged: new EngineEvent<(connectors: ConnectorInstance[]) => MaybePromise<void>>(\n () => clone.onConnectorsChanged,\n clone.logging?.logger,\n ),\n onZoomChanged: new EngineEvent<(scaleFactor: number) => MaybePromise<void>>(\n () => clone.onZoomChanged,\n clone.logging?.logger,\n ),\n onSelectedPageIdChanged: new EngineEvent<(pageId: Id) => MaybePromise<void>>(\n () => clone.onSelectedPageIdChanged,\n clone.logging.logger,\n ),\n onPagesChanged: new EngineEvent<(pages: Page[]) => MaybePromise<void>>(\n () => clone.onPagesChanged,\n clone.logging.logger,\n ),\n onPageSnapshotInvalidated: new EngineEvent<(pageId: Id) => MaybePromise<void>>(\n () => clone.onPageSnapshotInvalidated,\n clone.logging.logger,\n ),\n onPageSizeChanged: new EngineEvent<(pageSize: PageSize) => MaybePromise<void>>(\n () => clone.onPageSizeChanged,\n clone.logging?.logger,\n ),\n onShapeCornerRadiusChanged: new EngineEvent<(cornerRadius: CornerRadiusUpdateModel) => MaybePromise<void>>(\n () => clone.onShapeCornerRadiusChanged,\n clone.logging?.logger,\n ),\n onCropActiveFrameIdChanged: new EngineEvent<(id?: Id) => MaybePromise<void>>(\n () => clone.onCropActiveFrameIdChanged,\n clone.logging?.logger,\n ),\n onAsyncError: new EngineEvent<(asyncError: AsyncError) => MaybePromise<void>>(\n () => clone.onAsyncError,\n clone.logging?.logger,\n ),\n onViewModeChanged: new EngineEvent<(tool: ViewMode) => MaybePromise<void>>(\n () => clone.onViewModeChanged,\n clone.logging?.logger,\n ),\n onBarcodeValidationChanged: new EngineEvent<\n (validationResults: BarcodeFrameValidationResult[]) => MaybePromise<void>\n >(() => clone.onBarcodeValidationChanged, clone.logging?.logger),\n onDataSourceIdChanged: new EngineEvent<(connectorId?: Id) => MaybePromise<void>>(\n () => clone.onDataSourceIdChanged,\n clone.logging.logger,\n ),\n onInjectedDataChanged: new EngineEvent<(variableId: Id) => MaybePromise<void>>(\n () => clone.onInjectedDataChanged,\n clone.logging.logger,\n ),\n onDocumentIssueListChanged: new EngineEvent<(documentIssues: DocumentIssue[]) => MaybePromise<void>>(\n () => clone.onDocumentIssueListChanged,\n clone.logging.logger,\n ),\n onCustomUndoDataChanged: new EngineEvent<(customData: Record<string, string>) => MaybePromise<void>>(\n () => clone.onCustomUndoDataChanged,\n clone.logging.logger,\n ),\n onEngineEditModeChanged: new EngineEvent<(engineEditMode: EngineEditMode) => MaybePromise<void>>(\n () => clone.onEngineEditModeChanged,\n clone.logging.logger,\n ),\n onBrandKitMediaChanged: new EngineEvent<(brandKitMedia: BrandKitMedia[]) => MaybePromise<void>>(\n () => clone.onBrandKitMediaChanged,\n clone.logging.logger,\n ),\n onCanvasFramesManipulated: new EngineEvent<(frameIds: Id[]) => MaybePromise<void>>(\n () => clone.onCanvasFramesManipulated,\n clone.logging.logger,\n ),\n };\n return clone;\n }\n\n private static isLoggingEnabled(level: LogLevel, logLevel: LogLevel): boolean {\n if (logLevel == LogLevel.info) {\n return true;\n }\n if (logLevel == LogLevel.warn && (level == LogLevel.warn || level == LogLevel.error)) {\n return true;\n }\n return logLevel == LogLevel.error && level == LogLevel.error;\n }\n}\n"],"names":["LogLevel","_a","EngineCallbackHandler","EngineEvent"],"mappings":"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"}
|
|
@@ -194,6 +194,10 @@ class ConfigHelper {
|
|
|
194
194
|
onBrandKitMediaChanged: new EngineEvent(
|
|
195
195
|
() => clone.onBrandKitMediaChanged,
|
|
196
196
|
clone.logging.logger
|
|
197
|
+
),
|
|
198
|
+
onCanvasFramesManipulated: new EngineEvent(
|
|
199
|
+
() => clone.onCanvasFramesManipulated,
|
|
200
|
+
clone.logging.logger
|
|
197
201
|
)
|
|
198
202
|
};
|
|
199
203
|
return clone;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigHelper.es.js","sources":["../../../src/utils/ConfigHelper.ts"],"sourcesContent":["import { DocumentAction } from '../types/ActionTypes';\nimport { AnimationPlaybackType, FrameAnimationType } from '../types/AnimationTypes';\nimport { BarcodeFrameValidationResult } from '../types/BarcodeTypes';\nimport { CharacterStyle } from '../types/CharacterStyleTypes';\nimport { DocumentColor } from '../types/ColorStyleTypes';\nimport { ConfigType, Id, LogLevel, MaybePromise, RuntimeConfigType, SelectedLayoutFrame } from '../types/CommonTypes';\nimport { AuthCredentials, AuthRefreshRequest, ConnectorEvent, ConnectorInstance } from '../types/ConnectorTypes';\nimport { DocumentIssue, UndoState } from '../types/DocumentTypes';\nimport { EngineEditMode } from '../types/EngineEditModeTypes';\nimport { DocumentFontFamily } from '../types/FontTypes';\nimport { Frame, FrameLayoutType } from '../types/FrameTypes';\nimport { LayoutListItemType, LayoutPropertiesType, MeasurementUnit } from '../types/LayoutTypes';\nimport { Page, PageSize } from '../types/PageTypes';\nimport { ParagraphStyle } from '../types/ParagraphStyleTypes';\nimport { CornerRadiusUpdateModel } from '../types/ShapeTypes';\nimport { SelectedTextStyle } from '../types/TextStyleTypes';\nimport { Variable } from '../types/VariableTypes';\nimport { ViewMode } from '../types/ViewModeTypes';\nimport { Viewport } from '../types/ViewportTypes';\nimport { EngineCallbackHandler } from './EngineCallbackHandler';\nimport { EngineEvent } from './EngineEvent';\nimport { ToolType } from './Enums';\nimport { BrandKitMedia } from '../types/BrandKitTypes';\nimport { AsyncError } from '../exceptions';\n\nexport class ConfigHelper {\n /**\n * Creates a runtime configuration object from the provided configuration object.\n *\n * @param config The configuration object to create the runtime configuration object from.\n * @returns The runtime configuration object.\n */\n static createRuntimeConfig(config: ConfigType): RuntimeConfigType {\n // we need a reference to the clone object in the engineEvent, so we need to create the object in 2 steps\n const clone: RuntimeConfigType = { ...config } as RuntimeConfigType;\n clone.logging = {\n logLevel: config.logging?.logLevel || LogLevel.error,\n logger:\n config.logging?.logger ||\n ((level, cat, msg) => {\n if (!ConfigHelper.isLoggingEnabled(level, clone.logging?.logLevel ?? LogLevel.error)) {\n return;\n }\n\n switch (level) {\n case LogLevel.error:\n console.error(`[${cat}] [${level}] ${msg}`);\n break;\n case LogLevel.warn:\n console.warn(`[${cat}] [${level}] ${msg}`);\n break;\n default:\n console.log(`[${cat}] [${level}] ${msg}`);\n }\n }),\n };\n clone.handlers = {\n onAuthExpired: new EngineCallbackHandler<\n (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>\n >(() => clone.onAuthExpired, clone.logging?.logger),\n onViewportRequested: new EngineCallbackHandler<() => Viewport | null>(\n () => clone.onViewportRequested,\n clone.logging?.logger,\n ),\n };\n clone.events = {\n onActionsChanged: new EngineEvent<(state: DocumentAction[]) => MaybePromise<void>>(\n () => clone.onActionsChanged,\n clone.logging?.logger,\n ),\n onStateChanged: new EngineEvent<() => MaybePromise<void>>(\n () => clone.onStateChanged,\n clone.logging?.logger,\n ),\n\n onDocumentLoaded: new EngineEvent<() => MaybePromise<void>>(\n () => clone.onDocumentLoaded,\n clone.logging?.logger,\n ),\n onSelectedFramesLayoutChanged: new EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>(\n () => clone.onSelectedFramesLayoutChanged,\n clone.logging?.logger,\n ),\n onFramesLayoutChanged: new EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>(\n () => clone.onFramesLayoutChanged,\n clone.logging?.logger,\n ),\n onSelectedFramesContentChanged: new EngineEvent<(state: Frame[]) => MaybePromise<void>>(\n () => clone.onSelectedFramesContentChanged,\n clone.logging?.logger,\n ),\n onPageSelectionChanged: new EngineEvent<(id: Id) => MaybePromise<void>>(\n () => clone.onPageSelectionChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutPropertiesChanged: new EngineEvent<(state: LayoutPropertiesType) => MaybePromise<void>>(\n () => clone.onSelectedLayoutPropertiesChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutUnitChanged: new EngineEvent<(unit: MeasurementUnit) => MaybePromise<void>>(\n () => clone.onSelectedLayoutUnitChanged,\n clone.logging?.logger,\n ),\n onScrubberPositionChanged: new EngineEvent<(state: AnimationPlaybackType) => MaybePromise<void>>(\n () => clone.onScrubberPositionChanged,\n clone.logging?.logger,\n ),\n onFrameAnimationsChanged: new EngineEvent<(animationState: FrameAnimationType[]) => MaybePromise<void>>(\n () => clone.onFrameAnimationsChanged,\n clone.logging?.logger,\n ),\n onVariableListChanged: new EngineEvent<(variableList: Variable[]) => MaybePromise<void>>(\n () => clone.onVariableListChanged,\n clone.logging?.logger,\n ),\n onSelectedToolChanged: new EngineEvent<(tool: ToolType) => MaybePromise<void>>(\n () => clone.onSelectedToolChanged,\n clone.logging?.logger,\n ),\n onUndoStackStateChanged: new EngineEvent<(undoStackState: UndoState) => MaybePromise<void>>(\n () => clone.onUndoStackStateChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutFramesChanged: new EngineEvent<(frames: SelectedLayoutFrame[]) => MaybePromise<void>>(\n () => clone.onSelectedLayoutFramesChanged,\n clone.logging?.logger,\n ),\n onSelectedTextStyleChanged: new EngineEvent<(styles: SelectedTextStyle) => MaybePromise<void>>(\n () => clone.onSelectedTextStyleChanged,\n clone.logging?.logger,\n ),\n onColorsChanged: new EngineEvent<(colors: DocumentColor[]) => MaybePromise<void>>(\n () => clone.onColorsChanged,\n clone.logging?.logger,\n ),\n onParagraphStylesChanged: new EngineEvent<(paragraphStyles: ParagraphStyle[]) => MaybePromise<void>>(\n () => clone.onParagraphStylesChanged,\n clone.logging?.logger,\n ),\n onCharacterStylesChanged: new EngineEvent<(characterStyles: CharacterStyle[]) => MaybePromise<void>>(\n () => clone.onCharacterStylesChanged,\n clone.logging?.logger,\n ),\n onFontFamiliesChanged: new EngineEvent<(fontFamilies: DocumentFontFamily[]) => MaybePromise<void>>(\n () => clone.onFontFamiliesChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutIdChanged: new EngineEvent<(layoutId: string) => MaybePromise<void>>(\n () => clone.onSelectedLayoutIdChanged,\n clone.logging?.logger,\n ),\n onLayoutsChanged: new EngineEvent<(layouts: LayoutListItemType[]) => MaybePromise<void>>(\n () => clone.onLayoutsChanged,\n clone.logging?.logger,\n ),\n onConnectorEvent: new EngineEvent<(event: ConnectorEvent) => MaybePromise<void>>(\n () => clone.onConnectorEvent,\n clone.logging?.logger,\n ),\n onConnectorsChanged: new EngineEvent<(connectors: ConnectorInstance[]) => MaybePromise<void>>(\n () => clone.onConnectorsChanged,\n clone.logging?.logger,\n ),\n onZoomChanged: new EngineEvent<(scaleFactor: number) => MaybePromise<void>>(\n () => clone.onZoomChanged,\n clone.logging?.logger,\n ),\n onSelectedPageIdChanged: new EngineEvent<(pageId: Id) => MaybePromise<void>>(\n () => clone.onSelectedPageIdChanged,\n clone.logging.logger,\n ),\n onPagesChanged: new EngineEvent<(pages: Page[]) => MaybePromise<void>>(\n () => clone.onPagesChanged,\n clone.logging.logger,\n ),\n onPageSnapshotInvalidated: new EngineEvent<(pageId: Id) => MaybePromise<void>>(\n () => clone.onPageSnapshotInvalidated,\n clone.logging.logger,\n ),\n onPageSizeChanged: new EngineEvent<(pageSize: PageSize) => MaybePromise<void>>(\n () => clone.onPageSizeChanged,\n clone.logging?.logger,\n ),\n onShapeCornerRadiusChanged: new EngineEvent<(cornerRadius: CornerRadiusUpdateModel) => MaybePromise<void>>(\n () => clone.onShapeCornerRadiusChanged,\n clone.logging?.logger,\n ),\n onCropActiveFrameIdChanged: new EngineEvent<(id?: Id) => MaybePromise<void>>(\n () => clone.onCropActiveFrameIdChanged,\n clone.logging?.logger,\n ),\n onAsyncError: new EngineEvent<(asyncError: AsyncError) => MaybePromise<void>>(\n () => clone.onAsyncError,\n clone.logging?.logger,\n ),\n onViewModeChanged: new EngineEvent<(tool: ViewMode) => MaybePromise<void>>(\n () => clone.onViewModeChanged,\n clone.logging?.logger,\n ),\n onBarcodeValidationChanged: new EngineEvent<\n (validationResults: BarcodeFrameValidationResult[]) => MaybePromise<void>\n >(() => clone.onBarcodeValidationChanged, clone.logging?.logger),\n onDataSourceIdChanged: new EngineEvent<(connectorId?: Id) => MaybePromise<void>>(\n () => clone.onDataSourceIdChanged,\n clone.logging.logger,\n ),\n onInjectedDataChanged: new EngineEvent<(variableId: Id) => MaybePromise<void>>(\n () => clone.onInjectedDataChanged,\n clone.logging.logger,\n ),\n onDocumentIssueListChanged: new EngineEvent<(documentIssues: DocumentIssue[]) => MaybePromise<void>>(\n () => clone.onDocumentIssueListChanged,\n clone.logging.logger,\n ),\n onCustomUndoDataChanged: new EngineEvent<(customData: Record<string, string>) => MaybePromise<void>>(\n () => clone.onCustomUndoDataChanged,\n clone.logging.logger,\n ),\n onEngineEditModeChanged: new EngineEvent<(engineEditMode: EngineEditMode) => MaybePromise<void>>(\n () => clone.onEngineEditModeChanged,\n clone.logging.logger,\n ),\n onBrandKitMediaChanged: new EngineEvent<(brandKitMedia: BrandKitMedia[]) => MaybePromise<void>>(\n () => clone.onBrandKitMediaChanged,\n clone.logging.logger,\n ),\n };\n return clone;\n }\n\n private static isLoggingEnabled(level: LogLevel, logLevel: LogLevel): boolean {\n if (logLevel == LogLevel.info) {\n return true;\n }\n if (logLevel == LogLevel.warn && (level == LogLevel.warn || level == LogLevel.error)) {\n return true;\n }\n return logLevel == LogLevel.error && level == LogLevel.error;\n }\n}\n"],"names":["_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigHelper.es.js","sources":["../../../src/utils/ConfigHelper.ts"],"sourcesContent":["import { DocumentAction } from '../types/ActionTypes';\nimport { AnimationPlaybackType, FrameAnimationType } from '../types/AnimationTypes';\nimport { BarcodeFrameValidationResult } from '../types/BarcodeTypes';\nimport { CharacterStyle } from '../types/CharacterStyleTypes';\nimport { DocumentColor } from '../types/ColorStyleTypes';\nimport { ConfigType, Id, LogLevel, MaybePromise, RuntimeConfigType, SelectedLayoutFrame } from '../types/CommonTypes';\nimport { AuthCredentials, AuthRefreshRequest, ConnectorEvent, ConnectorInstance } from '../types/ConnectorTypes';\nimport { DocumentIssue, UndoState } from '../types/DocumentTypes';\nimport { EngineEditMode } from '../types/EngineEditModeTypes';\nimport { DocumentFontFamily } from '../types/FontTypes';\nimport { Frame, FrameLayoutType } from '../types/FrameTypes';\nimport { LayoutListItemType, LayoutPropertiesType, MeasurementUnit } from '../types/LayoutTypes';\nimport { Page, PageSize } from '../types/PageTypes';\nimport { ParagraphStyle } from '../types/ParagraphStyleTypes';\nimport { CornerRadiusUpdateModel } from '../types/ShapeTypes';\nimport { SelectedTextStyle } from '../types/TextStyleTypes';\nimport { Variable } from '../types/VariableTypes';\nimport { ViewMode } from '../types/ViewModeTypes';\nimport { Viewport } from '../types/ViewportTypes';\nimport { EngineCallbackHandler } from './EngineCallbackHandler';\nimport { EngineEvent } from './EngineEvent';\nimport { ToolType } from './Enums';\nimport { BrandKitMedia } from '../types/BrandKitTypes';\nimport { AsyncError } from '../exceptions';\n\nexport class ConfigHelper {\n /**\n * Creates a runtime configuration object from the provided configuration object.\n *\n * @param config The configuration object to create the runtime configuration object from.\n * @returns The runtime configuration object.\n */\n static createRuntimeConfig(config: ConfigType): RuntimeConfigType {\n // we need a reference to the clone object in the engineEvent, so we need to create the object in 2 steps\n const clone: RuntimeConfigType = { ...config } as RuntimeConfigType;\n clone.logging = {\n logLevel: config.logging?.logLevel || LogLevel.error,\n logger:\n config.logging?.logger ||\n ((level, cat, msg) => {\n if (!ConfigHelper.isLoggingEnabled(level, clone.logging?.logLevel ?? LogLevel.error)) {\n return;\n }\n\n switch (level) {\n case LogLevel.error:\n console.error(`[${cat}] [${level}] ${msg}`);\n break;\n case LogLevel.warn:\n console.warn(`[${cat}] [${level}] ${msg}`);\n break;\n default:\n console.log(`[${cat}] [${level}] ${msg}`);\n }\n }),\n };\n clone.handlers = {\n onAuthExpired: new EngineCallbackHandler<\n (authRefreshRequest: AuthRefreshRequest) => Promise<AuthCredentials | null>\n >(() => clone.onAuthExpired, clone.logging?.logger),\n onViewportRequested: new EngineCallbackHandler<() => Viewport | null>(\n () => clone.onViewportRequested,\n clone.logging?.logger,\n ),\n };\n clone.events = {\n onActionsChanged: new EngineEvent<(state: DocumentAction[]) => MaybePromise<void>>(\n () => clone.onActionsChanged,\n clone.logging?.logger,\n ),\n onStateChanged: new EngineEvent<() => MaybePromise<void>>(\n () => clone.onStateChanged,\n clone.logging?.logger,\n ),\n\n onDocumentLoaded: new EngineEvent<() => MaybePromise<void>>(\n () => clone.onDocumentLoaded,\n clone.logging?.logger,\n ),\n onSelectedFramesLayoutChanged: new EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>(\n () => clone.onSelectedFramesLayoutChanged,\n clone.logging?.logger,\n ),\n onFramesLayoutChanged: new EngineEvent<(states: FrameLayoutType[]) => MaybePromise<void>>(\n () => clone.onFramesLayoutChanged,\n clone.logging?.logger,\n ),\n onSelectedFramesContentChanged: new EngineEvent<(state: Frame[]) => MaybePromise<void>>(\n () => clone.onSelectedFramesContentChanged,\n clone.logging?.logger,\n ),\n onPageSelectionChanged: new EngineEvent<(id: Id) => MaybePromise<void>>(\n () => clone.onPageSelectionChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutPropertiesChanged: new EngineEvent<(state: LayoutPropertiesType) => MaybePromise<void>>(\n () => clone.onSelectedLayoutPropertiesChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutUnitChanged: new EngineEvent<(unit: MeasurementUnit) => MaybePromise<void>>(\n () => clone.onSelectedLayoutUnitChanged,\n clone.logging?.logger,\n ),\n onScrubberPositionChanged: new EngineEvent<(state: AnimationPlaybackType) => MaybePromise<void>>(\n () => clone.onScrubberPositionChanged,\n clone.logging?.logger,\n ),\n onFrameAnimationsChanged: new EngineEvent<(animationState: FrameAnimationType[]) => MaybePromise<void>>(\n () => clone.onFrameAnimationsChanged,\n clone.logging?.logger,\n ),\n onVariableListChanged: new EngineEvent<(variableList: Variable[]) => MaybePromise<void>>(\n () => clone.onVariableListChanged,\n clone.logging?.logger,\n ),\n onSelectedToolChanged: new EngineEvent<(tool: ToolType) => MaybePromise<void>>(\n () => clone.onSelectedToolChanged,\n clone.logging?.logger,\n ),\n onUndoStackStateChanged: new EngineEvent<(undoStackState: UndoState) => MaybePromise<void>>(\n () => clone.onUndoStackStateChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutFramesChanged: new EngineEvent<(frames: SelectedLayoutFrame[]) => MaybePromise<void>>(\n () => clone.onSelectedLayoutFramesChanged,\n clone.logging?.logger,\n ),\n onSelectedTextStyleChanged: new EngineEvent<(styles: SelectedTextStyle) => MaybePromise<void>>(\n () => clone.onSelectedTextStyleChanged,\n clone.logging?.logger,\n ),\n onColorsChanged: new EngineEvent<(colors: DocumentColor[]) => MaybePromise<void>>(\n () => clone.onColorsChanged,\n clone.logging?.logger,\n ),\n onParagraphStylesChanged: new EngineEvent<(paragraphStyles: ParagraphStyle[]) => MaybePromise<void>>(\n () => clone.onParagraphStylesChanged,\n clone.logging?.logger,\n ),\n onCharacterStylesChanged: new EngineEvent<(characterStyles: CharacterStyle[]) => MaybePromise<void>>(\n () => clone.onCharacterStylesChanged,\n clone.logging?.logger,\n ),\n onFontFamiliesChanged: new EngineEvent<(fontFamilies: DocumentFontFamily[]) => MaybePromise<void>>(\n () => clone.onFontFamiliesChanged,\n clone.logging?.logger,\n ),\n onSelectedLayoutIdChanged: new EngineEvent<(layoutId: string) => MaybePromise<void>>(\n () => clone.onSelectedLayoutIdChanged,\n clone.logging?.logger,\n ),\n onLayoutsChanged: new EngineEvent<(layouts: LayoutListItemType[]) => MaybePromise<void>>(\n () => clone.onLayoutsChanged,\n clone.logging?.logger,\n ),\n onConnectorEvent: new EngineEvent<(event: ConnectorEvent) => MaybePromise<void>>(\n () => clone.onConnectorEvent,\n clone.logging?.logger,\n ),\n onConnectorsChanged: new EngineEvent<(connectors: ConnectorInstance[]) => MaybePromise<void>>(\n () => clone.onConnectorsChanged,\n clone.logging?.logger,\n ),\n onZoomChanged: new EngineEvent<(scaleFactor: number) => MaybePromise<void>>(\n () => clone.onZoomChanged,\n clone.logging?.logger,\n ),\n onSelectedPageIdChanged: new EngineEvent<(pageId: Id) => MaybePromise<void>>(\n () => clone.onSelectedPageIdChanged,\n clone.logging.logger,\n ),\n onPagesChanged: new EngineEvent<(pages: Page[]) => MaybePromise<void>>(\n () => clone.onPagesChanged,\n clone.logging.logger,\n ),\n onPageSnapshotInvalidated: new EngineEvent<(pageId: Id) => MaybePromise<void>>(\n () => clone.onPageSnapshotInvalidated,\n clone.logging.logger,\n ),\n onPageSizeChanged: new EngineEvent<(pageSize: PageSize) => MaybePromise<void>>(\n () => clone.onPageSizeChanged,\n clone.logging?.logger,\n ),\n onShapeCornerRadiusChanged: new EngineEvent<(cornerRadius: CornerRadiusUpdateModel) => MaybePromise<void>>(\n () => clone.onShapeCornerRadiusChanged,\n clone.logging?.logger,\n ),\n onCropActiveFrameIdChanged: new EngineEvent<(id?: Id) => MaybePromise<void>>(\n () => clone.onCropActiveFrameIdChanged,\n clone.logging?.logger,\n ),\n onAsyncError: new EngineEvent<(asyncError: AsyncError) => MaybePromise<void>>(\n () => clone.onAsyncError,\n clone.logging?.logger,\n ),\n onViewModeChanged: new EngineEvent<(tool: ViewMode) => MaybePromise<void>>(\n () => clone.onViewModeChanged,\n clone.logging?.logger,\n ),\n onBarcodeValidationChanged: new EngineEvent<\n (validationResults: BarcodeFrameValidationResult[]) => MaybePromise<void>\n >(() => clone.onBarcodeValidationChanged, clone.logging?.logger),\n onDataSourceIdChanged: new EngineEvent<(connectorId?: Id) => MaybePromise<void>>(\n () => clone.onDataSourceIdChanged,\n clone.logging.logger,\n ),\n onInjectedDataChanged: new EngineEvent<(variableId: Id) => MaybePromise<void>>(\n () => clone.onInjectedDataChanged,\n clone.logging.logger,\n ),\n onDocumentIssueListChanged: new EngineEvent<(documentIssues: DocumentIssue[]) => MaybePromise<void>>(\n () => clone.onDocumentIssueListChanged,\n clone.logging.logger,\n ),\n onCustomUndoDataChanged: new EngineEvent<(customData: Record<string, string>) => MaybePromise<void>>(\n () => clone.onCustomUndoDataChanged,\n clone.logging.logger,\n ),\n onEngineEditModeChanged: new EngineEvent<(engineEditMode: EngineEditMode) => MaybePromise<void>>(\n () => clone.onEngineEditModeChanged,\n clone.logging.logger,\n ),\n onBrandKitMediaChanged: new EngineEvent<(brandKitMedia: BrandKitMedia[]) => MaybePromise<void>>(\n () => clone.onBrandKitMediaChanged,\n clone.logging.logger,\n ),\n onCanvasFramesManipulated: new EngineEvent<(frameIds: Id[]) => MaybePromise<void>>(\n () => clone.onCanvasFramesManipulated,\n clone.logging.logger,\n ),\n };\n return clone;\n }\n\n private static isLoggingEnabled(level: LogLevel, logLevel: LogLevel): boolean {\n if (logLevel == LogLevel.info) {\n return true;\n }\n if (logLevel == LogLevel.warn && (level == LogLevel.warn || level == LogLevel.error)) {\n return true;\n }\n return logLevel == LogLevel.error && level == LogLevel.error;\n }\n}\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -5,6 +5,9 @@ class EngineEventTrigger {
|
|
|
5
5
|
constructor(logger) {
|
|
6
6
|
this.logger = logger;
|
|
7
7
|
}
|
|
8
|
+
getLogCategory() {
|
|
9
|
+
return CommonTypes.LogCategory.event;
|
|
10
|
+
}
|
|
8
11
|
createEventHandlerFn(callbackFn, errorBehavior) {
|
|
9
12
|
const wrapper = (...args) => {
|
|
10
13
|
try {
|
|
@@ -22,7 +25,7 @@ class EngineEventTrigger {
|
|
|
22
25
|
handleError(error, errorBehavior, fnName) {
|
|
23
26
|
var _a;
|
|
24
27
|
if (errorBehavior === CommonTypes.CallbackErrorBehavior.log) {
|
|
25
|
-
(_a = this.logger) == null ? void 0 : _a.call(this, CommonTypes.LogLevel.error,
|
|
28
|
+
(_a = this.logger) == null ? void 0 : _a.call(this, CommonTypes.LogLevel.error, this.getLogCategory(), `Error in callback ${fnName}: ${error}`);
|
|
26
29
|
} else {
|
|
27
30
|
throw error;
|
|
28
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineEventTrigger.cjs.js","sources":["../../../src/utils/EngineEventTrigger.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { CallbackErrorBehavior, LogCategory, LoggerFunction, LogLevel } from '../types/CommonTypes';\nexport abstract class EngineEventTrigger<T extends (...args: any[]) => any> {\n constructor(protected logger?: LoggerFunction) {}\n\n abstract trigger(...args: Parameters<T>): ReturnType<T>;\n\n protected createEventHandlerFn(callbackFn: T, errorBehavior: CallbackErrorBehavior): T {\n const wrapper: any = (...args: Parameters<T>) => {\n try {\n const result = callbackFn(...args);\n // If the callback returns a promise, we need to await it\n if (result instanceof Promise) {\n return result.catch((error) => this.handleError(error, errorBehavior, callbackFn.name));\n }\n return result;\n } catch (error) {\n this.handleError(error, errorBehavior, callbackFn.name);\n }\n };\n return wrapper;\n }\n\n private handleError(error: unknown, errorBehavior: CallbackErrorBehavior, fnName: string) {\n if (errorBehavior === CallbackErrorBehavior.log) {\n this.logger?.(LogLevel.error,
|
|
1
|
+
{"version":3,"file":"EngineEventTrigger.cjs.js","sources":["../../../src/utils/EngineEventTrigger.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { CallbackErrorBehavior, LogCategory, LoggerFunction, LogLevel } from '../types/CommonTypes';\nexport abstract class EngineEventTrigger<T extends (...args: any[]) => any> {\n constructor(protected logger?: LoggerFunction) {}\n\n abstract trigger(...args: Parameters<T>): ReturnType<T>;\n\n protected getLogCategory(): LogCategory {\n return LogCategory.event;\n }\n\n protected createEventHandlerFn(callbackFn: T, errorBehavior: CallbackErrorBehavior): T {\n const wrapper: any = (...args: Parameters<T>) => {\n try {\n const result = callbackFn(...args);\n // If the callback returns a promise, we need to await it\n if (result instanceof Promise) {\n return result.catch((error) => this.handleError(error, errorBehavior, callbackFn.name));\n }\n return result;\n } catch (error) {\n this.handleError(error, errorBehavior, callbackFn.name);\n }\n };\n return wrapper;\n }\n\n private handleError(error: unknown, errorBehavior: CallbackErrorBehavior, fnName: string) {\n if (errorBehavior === CallbackErrorBehavior.log) {\n this.logger?.(LogLevel.error, this.getLogCategory(), `Error in callback ${fnName}: ${error}`);\n } else {\n throw error;\n }\n }\n}\n"],"names":["LogCategory","CallbackErrorBehavior","LogLevel"],"mappings":";;;AAEO,MAAe,mBAAsD;AAAA,EACxE,YAAsB,QAAyB;AAAzB,SAAA,SAAA;AAAA,EAA0B;AAAA,EAItC,iBAA8B;AACpC,WAAOA,YAAAA,YAAY;AAAA,EACvB;AAAA,EAEU,qBAAqB,YAAe,eAAyC;AACnF,UAAM,UAAe,IAAI,SAAwB;AAC7C,UAAI;AACA,cAAM,SAAS,WAAW,GAAG,IAAI;AAEjC,YAAI,kBAAkB,SAAS;AAC3B,iBAAO,OAAO,MAAM,CAAC,UAAU,KAAK,YAAY,OAAO,eAAe,WAAW,IAAI,CAAC;AAAA,QAC1F;AACA,eAAO;AAAA,MACX,SAAS,OAAO;AACZ,aAAK,YAAY,OAAO,eAAe,WAAW,IAAI;AAAA,MAC1D;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EAEQ,YAAY,OAAgB,eAAsC,QAAgB;;AACtF,QAAI,kBAAkBC,YAAAA,sBAAsB,KAAK;AAC7C,iBAAK,WAAL,8BAAcC,qBAAS,OAAO,KAAK,kBAAkB,qBAAqB,MAAM,KAAK,KAAK;AAAA,IAC9F,OAAO;AACH,YAAM;AAAA,IACV;AAAA,EACJ;AACJ;;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { CallbackErrorBehavior, LoggerFunction } from '../types/CommonTypes';
|
|
1
|
+
import { CallbackErrorBehavior, LogCategory, LoggerFunction } from '../types/CommonTypes';
|
|
2
2
|
export declare abstract class EngineEventTrigger<T extends (...args: any[]) => any> {
|
|
3
3
|
protected logger?: LoggerFunction | undefined;
|
|
4
4
|
constructor(logger?: LoggerFunction | undefined);
|
|
5
5
|
abstract trigger(...args: Parameters<T>): ReturnType<T>;
|
|
6
|
+
protected getLogCategory(): LogCategory;
|
|
6
7
|
protected createEventHandlerFn(callbackFn: T, errorBehavior: CallbackErrorBehavior): T;
|
|
7
8
|
private handleError;
|
|
8
9
|
}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { CallbackErrorBehavior, LogLevel
|
|
1
|
+
import { LogCategory, CallbackErrorBehavior, LogLevel } from "../types/CommonTypes.es.js";
|
|
2
2
|
class EngineEventTrigger {
|
|
3
3
|
constructor(logger) {
|
|
4
4
|
this.logger = logger;
|
|
5
5
|
}
|
|
6
|
+
getLogCategory() {
|
|
7
|
+
return LogCategory.event;
|
|
8
|
+
}
|
|
6
9
|
createEventHandlerFn(callbackFn, errorBehavior) {
|
|
7
10
|
const wrapper = (...args) => {
|
|
8
11
|
try {
|
|
@@ -20,7 +23,7 @@ class EngineEventTrigger {
|
|
|
20
23
|
handleError(error, errorBehavior, fnName) {
|
|
21
24
|
var _a;
|
|
22
25
|
if (errorBehavior === CallbackErrorBehavior.log) {
|
|
23
|
-
(_a = this.logger) == null ? void 0 : _a.call(this, LogLevel.error,
|
|
26
|
+
(_a = this.logger) == null ? void 0 : _a.call(this, LogLevel.error, this.getLogCategory(), `Error in callback ${fnName}: ${error}`);
|
|
24
27
|
} else {
|
|
25
28
|
throw error;
|
|
26
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineEventTrigger.es.js","sources":["../../../src/utils/EngineEventTrigger.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { CallbackErrorBehavior, LogCategory, LoggerFunction, LogLevel } from '../types/CommonTypes';\nexport abstract class EngineEventTrigger<T extends (...args: any[]) => any> {\n constructor(protected logger?: LoggerFunction) {}\n\n abstract trigger(...args: Parameters<T>): ReturnType<T>;\n\n protected createEventHandlerFn(callbackFn: T, errorBehavior: CallbackErrorBehavior): T {\n const wrapper: any = (...args: Parameters<T>) => {\n try {\n const result = callbackFn(...args);\n // If the callback returns a promise, we need to await it\n if (result instanceof Promise) {\n return result.catch((error) => this.handleError(error, errorBehavior, callbackFn.name));\n }\n return result;\n } catch (error) {\n this.handleError(error, errorBehavior, callbackFn.name);\n }\n };\n return wrapper;\n }\n\n private handleError(error: unknown, errorBehavior: CallbackErrorBehavior, fnName: string) {\n if (errorBehavior === CallbackErrorBehavior.log) {\n this.logger?.(LogLevel.error,
|
|
1
|
+
{"version":3,"file":"EngineEventTrigger.es.js","sources":["../../../src/utils/EngineEventTrigger.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { CallbackErrorBehavior, LogCategory, LoggerFunction, LogLevel } from '../types/CommonTypes';\nexport abstract class EngineEventTrigger<T extends (...args: any[]) => any> {\n constructor(protected logger?: LoggerFunction) {}\n\n abstract trigger(...args: Parameters<T>): ReturnType<T>;\n\n protected getLogCategory(): LogCategory {\n return LogCategory.event;\n }\n\n protected createEventHandlerFn(callbackFn: T, errorBehavior: CallbackErrorBehavior): T {\n const wrapper: any = (...args: Parameters<T>) => {\n try {\n const result = callbackFn(...args);\n // If the callback returns a promise, we need to await it\n if (result instanceof Promise) {\n return result.catch((error) => this.handleError(error, errorBehavior, callbackFn.name));\n }\n return result;\n } catch (error) {\n this.handleError(error, errorBehavior, callbackFn.name);\n }\n };\n return wrapper;\n }\n\n private handleError(error: unknown, errorBehavior: CallbackErrorBehavior, fnName: string) {\n if (errorBehavior === CallbackErrorBehavior.log) {\n this.logger?.(LogLevel.error, this.getLogCategory(), `Error in callback ${fnName}: ${error}`);\n } else {\n throw error;\n }\n }\n}\n"],"names":[],"mappings":";AAEO,MAAe,mBAAsD;AAAA,EACxE,YAAsB,QAAyB;AAAzB,SAAA,SAAA;AAAA,EAA0B;AAAA,EAItC,iBAA8B;AACpC,WAAO,YAAY;AAAA,EACvB;AAAA,EAEU,qBAAqB,YAAe,eAAyC;AACnF,UAAM,UAAe,IAAI,SAAwB;AAC7C,UAAI;AACA,cAAM,SAAS,WAAW,GAAG,IAAI;AAEjC,YAAI,kBAAkB,SAAS;AAC3B,iBAAO,OAAO,MAAM,CAAC,UAAU,KAAK,YAAY,OAAO,eAAe,WAAW,IAAI,CAAC;AAAA,QAC1F;AACA,eAAO;AAAA,MACX,SAAS,OAAO;AACZ,aAAK,YAAY,OAAO,eAAe,WAAW,IAAI;AAAA,MAC1D;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA,EAEQ,YAAY,OAAgB,eAAsC,QAAgB;;AACtF,QAAI,kBAAkB,sBAAsB,KAAK;AAC7C,iBAAK,WAAL,8BAAc,SAAS,OAAO,KAAK,kBAAkB,qBAAqB,MAAM,KAAK,KAAK;AAAA,IAC9F,OAAO;AACH,YAAM;AAAA,IACV;AAAA,EACJ;AACJ;"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const CommonTypes = require("../types/CommonTypes.cjs.js");
|
|
4
|
+
const NOOP_UNSUBSCRIBER = () => void 0;
|
|
5
|
+
class MethodListenerRegistry {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.listeners = /* @__PURE__ */ new Map();
|
|
8
|
+
}
|
|
9
|
+
add(path, listener) {
|
|
10
|
+
if (typeof listener !== "function") {
|
|
11
|
+
return NOOP_UNSUBSCRIBER;
|
|
12
|
+
}
|
|
13
|
+
const subscriptions = this.listeners.get(path) ?? /* @__PURE__ */ new Set();
|
|
14
|
+
subscriptions.add(listener);
|
|
15
|
+
this.listeners.set(path, subscriptions);
|
|
16
|
+
return () => {
|
|
17
|
+
this.remove(path, listener);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
remove(path, listener) {
|
|
21
|
+
const subscriptions = this.listeners.get(path);
|
|
22
|
+
if (!subscriptions) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
subscriptions.delete(listener);
|
|
26
|
+
if (subscriptions.size === 0) {
|
|
27
|
+
this.listeners.delete(path);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
getListeners(path) {
|
|
31
|
+
return [...this.listeners.get(path) ?? []];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const isThenable = (value) => {
|
|
35
|
+
if (!value || typeof value !== "object") {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
return typeof value.then === "function";
|
|
39
|
+
};
|
|
40
|
+
const isInstrumentableObject = (value) => {
|
|
41
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
};
|
|
46
|
+
const reportListenerError = (path, error, logger) => {
|
|
47
|
+
logger == null ? void 0 : logger(CommonTypes.LogLevel.error, CommonTypes.LogCategory.sdk, `Error in method listener for ${path}: ${String(error)}`);
|
|
48
|
+
};
|
|
49
|
+
const notifyListeners = (path, event, listenerRegistry, sdkEvents, logger) => {
|
|
50
|
+
for (const callback of listenerRegistry.getListeners(path)) {
|
|
51
|
+
try {
|
|
52
|
+
callback(event);
|
|
53
|
+
} catch (error) {
|
|
54
|
+
reportListenerError(path, error, logger);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
try {
|
|
58
|
+
if (event.phase === "invoke") {
|
|
59
|
+
sdkEvents.onMethodInvoked.trigger(event);
|
|
60
|
+
} else {
|
|
61
|
+
sdkEvents.onMethodCompleted.trigger(event);
|
|
62
|
+
}
|
|
63
|
+
} catch (error) {
|
|
64
|
+
reportListenerError(path, error, logger);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
function wrapWithInvocationObserver(target, basePath, listenerRegistry, sdkEvents, logger) {
|
|
68
|
+
const methodWrappers = /* @__PURE__ */ new Map();
|
|
69
|
+
const nestedControllers = /* @__PURE__ */ new Map();
|
|
70
|
+
return new Proxy(target, {
|
|
71
|
+
get(targetController, propKey, receiver) {
|
|
72
|
+
const value = Reflect.get(targetController, propKey, receiver);
|
|
73
|
+
if (typeof propKey === "symbol") {
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
76
|
+
if (typeof value === "function") {
|
|
77
|
+
if (methodWrappers.has(propKey)) {
|
|
78
|
+
return methodWrappers.get(propKey);
|
|
79
|
+
}
|
|
80
|
+
const methodPath = `${basePath}.${String(propKey)}`;
|
|
81
|
+
const controllerName = basePath.split(".")[0] || basePath;
|
|
82
|
+
const methodName = String(propKey);
|
|
83
|
+
const wrappedMethod = ((...args) => {
|
|
84
|
+
const invokeEvent = {
|
|
85
|
+
phase: "invoke",
|
|
86
|
+
path: methodPath,
|
|
87
|
+
controller: controllerName,
|
|
88
|
+
method: methodName,
|
|
89
|
+
args: [...args]
|
|
90
|
+
};
|
|
91
|
+
notifyListeners(methodPath, invokeEvent, listenerRegistry, sdkEvents, logger);
|
|
92
|
+
try {
|
|
93
|
+
const result = value.apply(targetController, args);
|
|
94
|
+
if (isThenable(result)) {
|
|
95
|
+
return result.then((resolvedValue) => {
|
|
96
|
+
const completeEvent2 = {
|
|
97
|
+
phase: "complete",
|
|
98
|
+
path: methodPath,
|
|
99
|
+
controller: controllerName,
|
|
100
|
+
method: methodName,
|
|
101
|
+
args: [...args],
|
|
102
|
+
success: true,
|
|
103
|
+
result: resolvedValue
|
|
104
|
+
};
|
|
105
|
+
notifyListeners(methodPath, completeEvent2, listenerRegistry, sdkEvents, logger);
|
|
106
|
+
return resolvedValue;
|
|
107
|
+
}).catch((error) => {
|
|
108
|
+
const completeEvent2 = {
|
|
109
|
+
phase: "complete",
|
|
110
|
+
path: methodPath,
|
|
111
|
+
controller: controllerName,
|
|
112
|
+
method: methodName,
|
|
113
|
+
args: [...args],
|
|
114
|
+
success: false,
|
|
115
|
+
error
|
|
116
|
+
};
|
|
117
|
+
notifyListeners(methodPath, completeEvent2, listenerRegistry, sdkEvents, logger);
|
|
118
|
+
throw error;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
const completeEvent = {
|
|
122
|
+
phase: "complete",
|
|
123
|
+
path: methodPath,
|
|
124
|
+
controller: controllerName,
|
|
125
|
+
method: methodName,
|
|
126
|
+
args: [...args],
|
|
127
|
+
success: true,
|
|
128
|
+
result
|
|
129
|
+
};
|
|
130
|
+
notifyListeners(methodPath, completeEvent, listenerRegistry, sdkEvents, logger);
|
|
131
|
+
return result;
|
|
132
|
+
} catch (error) {
|
|
133
|
+
const completeEvent = {
|
|
134
|
+
phase: "complete",
|
|
135
|
+
path: methodPath,
|
|
136
|
+
controller: controllerName,
|
|
137
|
+
method: methodName,
|
|
138
|
+
args: [...args],
|
|
139
|
+
success: false,
|
|
140
|
+
error
|
|
141
|
+
};
|
|
142
|
+
notifyListeners(methodPath, completeEvent, listenerRegistry, sdkEvents, logger);
|
|
143
|
+
throw error;
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
wrappedMethod.addEventListener = (listener) => {
|
|
147
|
+
return listenerRegistry.add(methodPath, listener);
|
|
148
|
+
};
|
|
149
|
+
wrappedMethod.removeEventListener = (listener) => {
|
|
150
|
+
listenerRegistry.remove(methodPath, listener);
|
|
151
|
+
};
|
|
152
|
+
methodWrappers.set(propKey, wrappedMethod);
|
|
153
|
+
return wrappedMethod;
|
|
154
|
+
}
|
|
155
|
+
if (isInstrumentableObject(value)) {
|
|
156
|
+
if (nestedControllers.has(propKey)) {
|
|
157
|
+
return nestedControllers.get(propKey);
|
|
158
|
+
}
|
|
159
|
+
const nestedPath = `${basePath}.${String(propKey)}`;
|
|
160
|
+
const wrappedNestedController = wrapWithInvocationObserver(
|
|
161
|
+
value,
|
|
162
|
+
nestedPath,
|
|
163
|
+
listenerRegistry,
|
|
164
|
+
sdkEvents,
|
|
165
|
+
logger
|
|
166
|
+
);
|
|
167
|
+
nestedControllers.set(propKey, wrappedNestedController);
|
|
168
|
+
return wrappedNestedController;
|
|
169
|
+
}
|
|
170
|
+
return value;
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
exports.MethodListenerRegistry = MethodListenerRegistry;
|
|
175
|
+
exports.wrapWithInvocationObserver = wrapWithInvocationObserver;
|
|
176
|
+
//# sourceMappingURL=MethodInstrumentation.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MethodInstrumentation.cjs.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":["LogLevel","LogCategory","completeEvent"],"mappings":"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"}
|