@player-ui/make-flow 0.15.3-next.0 → 0.15.3-next.2

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.
@@ -68,20 +68,20 @@ var MakeFlow = function() {
68
68
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
69
69
  var __getOwnPropNames = Object.getOwnPropertyNames;
70
70
  var __hasOwnProp = Object.prototype.hasOwnProperty;
71
- var __export = function(target, all) {
71
+ var __export = function __export(target, all) {
72
72
  for(var name in all)__defProp(target, name, {
73
73
  get: all[name],
74
74
  enumerable: true
75
75
  });
76
76
  };
77
- var __copyProps = function(to, from, except, desc) {
77
+ var __copyProps = function __copyProps(to, from, except, desc) {
78
78
  if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
79
79
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
80
80
  try {
81
81
  var _loop = function() {
82
82
  var key = _step.value;
83
83
  if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
84
- get: function() {
84
+ get: function get() {
85
85
  return from[key];
86
86
  },
87
87
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
@@ -105,7 +105,7 @@ var MakeFlow = function() {
105
105
  }
106
106
  return to;
107
107
  };
108
- var __toCommonJS = function(mod) {
108
+ var __toCommonJS = function __toCommonJS(mod) {
109
109
  return __copyProps(__defProp({}, "__esModule", {
110
110
  value: true
111
111
  }), mod);
@@ -113,13 +113,13 @@ var MakeFlow = function() {
113
113
  // ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/index.ts
114
114
  var src_exports = {};
115
115
  __export(src_exports, {
116
- ObjType: function() {
116
+ ObjType: function ObjType1() {
117
117
  return ObjType;
118
118
  },
119
- identify: function() {
119
+ identify: function identify1() {
120
120
  return identify;
121
121
  },
122
- makeFlow: function() {
122
+ makeFlow: function makeFlow1() {
123
123
  return makeFlow;
124
124
  }
125
125
  });
@@ -143,9 +143,9 @@ var MakeFlow = function() {
143
143
  }
144
144
  return 3 /* UNKNOWN */ ;
145
145
  }
146
- var createDefaultNav = function(flow, options) {
146
+ var createDefaultNav = function createDefaultNav(flow, options) {
147
147
  if ((flow.navigation === void 0 || flow.navigation === null) && Array.isArray(flow.views) && flow.views.length === 1) {
148
- var _flow_views__id, _options_outcome;
148
+ var _flow_views__id, _ref;
149
149
  var navFlow = {
150
150
  startState: "VIEW_0",
151
151
  VIEW_0: {
@@ -158,7 +158,7 @@ var MakeFlow = function() {
158
158
  },
159
159
  END_done: {
160
160
  state_type: "END",
161
- outcome: (_options_outcome = options === null || options === void 0 ? void 0 : options.outcome) !== null && _options_outcome !== void 0 ? _options_outcome : "doneWithFlow"
161
+ outcome: (_ref = options === null || options === void 0 ? void 0 : options.outcome) !== null && _ref !== void 0 ? _ref : "doneWithFlow"
162
162
  },
163
163
  END_back: {
164
164
  state_type: "END",
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/circleci/.cache/bazel/_bazel_circleci/e8362d362e14c7d23506d1dfa3aea8b8/sandbox/processwrapper-sandbox/2433/execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/dist/index.global.js","../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/index.ts","../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/identify.ts"],"names":["MakeFlow","unwrapJSend","obj","isJSend","data","__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","src_exports","ObjType","identify","makeFlow","asset","createDefaultNav","flow","options","navigation","Array","isArray","views","length","navFlow","startState","VIEW_0","state_type","ref","id","transitions","Prev","END_done","outcome","END_back","onStart","onEnd","BEGIN","Flow","args","objified","JSON","parse","collection","type","values","map","v","Error","FLOW_1","VIEW_1","END_Done"],"mappings":"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","sourcesContent":["\"use strict\";\nvar MakeFlow = (() => {\n var __defProp = Object.defineProperty;\n var __getOwnPropDesc = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames = Object.getOwnPropertyNames;\n var __hasOwnProp = Object.prototype.hasOwnProperty;\n var __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n // ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/index.ts\n var src_exports = {};\n __export(src_exports, {\n ObjType: () => ObjType,\n identify: () => identify,\n makeFlow: () => makeFlow\n });\n\n // ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/identify.ts\n var ObjType = /* @__PURE__ */ ((ObjType2) => {\n ObjType2[ObjType2[\"FLOW\"] = 0] = \"FLOW\";\n ObjType2[ObjType2[\"ASSET\"] = 1] = \"ASSET\";\n ObjType2[ObjType2[\"ASSET_WRAPPER\"] = 2] = \"ASSET_WRAPPER\";\n ObjType2[ObjType2[\"UNKNOWN\"] = 3] = \"UNKNOWN\";\n return ObjType2;\n })(ObjType || {});\n function identify(obj) {\n if (\"id\" in obj && \"type\" in obj) {\n return 1 /* ASSET */;\n }\n if (\"asset\" in obj && identify(obj.asset) === 1 /* ASSET */) {\n return 2 /* ASSET_WRAPPER */;\n }\n if (\"navigation\" in obj || \"schema\" in obj || \"views\" in obj) {\n return 0 /* FLOW */;\n }\n return 3 /* UNKNOWN */;\n }\n\n // ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/index.ts\n function unwrapJSend(obj) {\n const isJSend = \"status\" in obj && \"data\" in obj;\n if (isJSend) {\n return obj.data;\n }\n return obj;\n }\n var createDefaultNav = (flow, options) => {\n if ((flow.navigation === void 0 || flow.navigation === null) && Array.isArray(flow.views) && flow.views.length === 1) {\n const navFlow = {\n startState: \"VIEW_0\",\n VIEW_0: {\n state_type: \"VIEW\",\n ref: flow.views[0].id ?? `${flow.id}-views-0`,\n transitions: {\n \"*\": \"END_done\",\n Prev: \"END_back\"\n }\n },\n END_done: {\n state_type: \"END\",\n outcome: options?.outcome ?? \"doneWithFlow\"\n },\n END_back: {\n state_type: \"END\",\n outcome: \"BACK\"\n }\n };\n if (options?.onStart !== void 0) {\n navFlow.onStart = options.onStart;\n }\n if (options?.onEnd !== void 0) {\n navFlow.onEnd = options.onEnd;\n }\n return {\n ...flow,\n navigation: {\n BEGIN: \"Flow\",\n Flow: navFlow\n }\n };\n }\n return flow;\n };\n function makeFlow(obj, args) {\n const objified = unwrapJSend(typeof obj === \"string\" ? JSON.parse(obj) : obj);\n if (Array.isArray(objified)) {\n const collection = {\n id: \"collection\",\n type: \"collection\",\n values: objified.map((v) => {\n const type2 = identify(v);\n if (type2 === 1 /* ASSET */) {\n return { asset: v };\n }\n return v;\n })\n };\n return makeFlow(collection);\n }\n const type = identify(obj);\n if (type === 3 /* UNKNOWN */) {\n throw new Error(\n \"No clue how to convert this into a flow. Just do it yourself\"\n );\n }\n if (type === 0 /* FLOW */) {\n return createDefaultNav(obj, args);\n }\n if (type === 2 /* ASSET_WRAPPER */) {\n return makeFlow(obj.asset);\n }\n return {\n id: \"generated-flow\",\n views: [obj],\n data: {},\n navigation: {\n BEGIN: \"FLOW_1\",\n FLOW_1: {\n startState: \"VIEW_1\",\n VIEW_1: {\n state_type: \"VIEW\",\n ref: obj.id,\n transitions: {\n \"*\": \"END_Done\"\n }\n },\n END_Done: {\n state_type: \"END\",\n outcome: \"done\"\n }\n }\n }\n };\n }\n return __toCommonJS(src_exports);\n})();\n","import type {\n Flow,\n Asset,\n AssetWrapper,\n NavigationFlow,\n NavigationFlowEndState,\n} from \"@player-ui/types\";\nimport { identify, ObjType } from \"./identify\";\n\nexport * from \"./identify\";\n\ninterface JSend<T> {\n /** The status of the JSEND wrapper */\n status: string;\n /** The data we care about */\n data: T;\n}\n\ninterface CollectionAsset extends Asset<\"collection\"> {\n /** The values of the collection. Used when there are an array of assets passed to the makeFlow fn */\n values: Array<AssetWrapper>;\n}\n\n/** Check an object for the JSEND wrapper and remove it if needed */\nfunction unwrapJSend(obj: object) {\n const isJSend = \"status\" in obj && \"data\" in obj;\n\n if (isJSend) {\n return (obj as JSend<object>).data;\n }\n\n return obj;\n}\n\ninterface NavOptions {\n /** An optional expression to run when this Flow starts */\n onStart?: NavigationFlow[\"onStart\"];\n /** An optional expression to run when this Flow ends */\n onEnd?: NavigationFlow[\"onEnd\"];\n /**\n * A description of _how_ the flow ended.\n * If this is a flow started from another flow, the outcome determines the flow transition\n */\n outcome?: NavigationFlowEndState[\"outcome\"];\n}\n\n/**\n * create a default navigation if the flow was exactly one view and there is no navigation already\n */\nconst createDefaultNav = (flow: Flow, options?: NavOptions): Flow => {\n if (\n (flow.navigation === undefined || flow.navigation === null) &&\n Array.isArray(flow.views) &&\n flow.views.length === 1\n ) {\n const navFlow: NavigationFlow = {\n startState: \"VIEW_0\",\n VIEW_0: {\n state_type: \"VIEW\",\n ref: flow.views[0].id ?? `${flow.id}-views-0`,\n transitions: {\n \"*\": \"END_done\",\n Prev: \"END_back\",\n },\n },\n END_done: {\n state_type: \"END\",\n outcome: options?.outcome ?? \"doneWithFlow\",\n },\n END_back: {\n state_type: \"END\",\n outcome: \"BACK\",\n },\n };\n\n if (options?.onStart !== undefined) {\n navFlow.onStart = options.onStart;\n }\n\n if (options?.onEnd !== undefined) {\n navFlow.onEnd = options.onEnd;\n }\n\n return {\n ...flow,\n navigation: {\n BEGIN: \"Flow\",\n Flow: navFlow,\n },\n };\n }\n\n return flow;\n};\n\n/**\n * Take any given object and try to convert it to a flow\n */\nexport function makeFlow(obj: any, args?: NavOptions): Flow {\n const objified = unwrapJSend(typeof obj === \"string\" ? JSON.parse(obj) : obj);\n\n if (Array.isArray(objified)) {\n const collection: CollectionAsset = {\n id: \"collection\",\n type: \"collection\",\n values: objified.map((v) => {\n const type = identify(v);\n\n if (type === ObjType.ASSET) {\n return { asset: v };\n }\n\n return v;\n }),\n };\n\n return makeFlow(collection);\n }\n\n const type = identify(obj);\n\n if (type === ObjType.UNKNOWN) {\n throw new Error(\n \"No clue how to convert this into a flow. Just do it yourself\",\n );\n }\n\n if (type === ObjType.FLOW) {\n return createDefaultNav(obj, args);\n }\n\n if (type === ObjType.ASSET_WRAPPER) {\n return makeFlow(obj.asset);\n }\n\n return {\n id: \"generated-flow\",\n views: [obj],\n data: {},\n navigation: {\n BEGIN: \"FLOW_1\",\n FLOW_1: {\n startState: \"VIEW_1\",\n VIEW_1: {\n state_type: \"VIEW\",\n ref: obj.id,\n transitions: {\n \"*\": \"END_Done\",\n },\n },\n END_Done: {\n state_type: \"END\",\n outcome: \"done\",\n },\n },\n },\n };\n}\n","import type { AssetWrapper } from \"@player-ui/types\";\n\nexport enum ObjType {\n FLOW,\n ASSET,\n ASSET_WRAPPER,\n UNKNOWN,\n}\n\n/** Try to identify any object as an Asset or Flow */\nexport function identify(obj: object): ObjType {\n if (\"id\" in obj && \"type\" in obj) {\n return ObjType.ASSET;\n }\n\n if (\n \"asset\" in obj &&\n identify((obj as AssetWrapper).asset) === ObjType.ASSET\n ) {\n return ObjType.ASSET_WRAPPER;\n }\n\n if (\"navigation\" in obj || \"schema\" in obj || \"views\" in obj) {\n return ObjType.FLOW;\n }\n\n return ObjType.UNKNOWN;\n}\n"]}
1
+ {"version":3,"sources":["/home/circleci/.cache/bazel/_bazel_circleci/e8362d362e14c7d23506d1dfa3aea8b8/sandbox/processwrapper-sandbox/2385/execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/dist/index.global.js","../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/index.ts","../../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/identify.ts"],"names":["MakeFlow","unwrapJSend","obj","isJSend","data","__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","src_exports","ObjType","identify","makeFlow","asset","createDefaultNav","flow","options","navigation","Array","isArray","views","length","navFlow","startState","VIEW_0","state_type","ref","id","transitions","Prev","END_done","outcome","END_back","onStart","onEnd","BEGIN","Flow","args","objified","JSON","parse","collection","type","values","map","v","Error","FLOW_1","VIEW_1","END_Done"],"mappings":"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","sourcesContent":["\"use strict\";\nvar MakeFlow = (() => {\n var __defProp = Object.defineProperty;\n var __getOwnPropDesc = Object.getOwnPropertyDescriptor;\n var __getOwnPropNames = Object.getOwnPropertyNames;\n var __hasOwnProp = Object.prototype.hasOwnProperty;\n var __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n };\n var __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n };\n var __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n // ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/index.ts\n var src_exports = {};\n __export(src_exports, {\n ObjType: () => ObjType,\n identify: () => identify,\n makeFlow: () => makeFlow\n });\n\n // ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/identify.ts\n var ObjType = /* @__PURE__ */ ((ObjType2) => {\n ObjType2[ObjType2[\"FLOW\"] = 0] = \"FLOW\";\n ObjType2[ObjType2[\"ASSET\"] = 1] = \"ASSET\";\n ObjType2[ObjType2[\"ASSET_WRAPPER\"] = 2] = \"ASSET_WRAPPER\";\n ObjType2[ObjType2[\"UNKNOWN\"] = 3] = \"UNKNOWN\";\n return ObjType2;\n })(ObjType || {});\n function identify(obj) {\n if (\"id\" in obj && \"type\" in obj) {\n return 1 /* ASSET */;\n }\n if (\"asset\" in obj && identify(obj.asset) === 1 /* ASSET */) {\n return 2 /* ASSET_WRAPPER */;\n }\n if (\"navigation\" in obj || \"schema\" in obj || \"views\" in obj) {\n return 0 /* FLOW */;\n }\n return 3 /* UNKNOWN */;\n }\n\n // ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/core/make-flow/src/index.ts\n function unwrapJSend(obj) {\n const isJSend = \"status\" in obj && \"data\" in obj;\n if (isJSend) {\n return obj.data;\n }\n return obj;\n }\n var createDefaultNav = (flow, options) => {\n if ((flow.navigation === void 0 || flow.navigation === null) && Array.isArray(flow.views) && flow.views.length === 1) {\n const navFlow = {\n startState: \"VIEW_0\",\n VIEW_0: {\n state_type: \"VIEW\",\n ref: flow.views[0].id ?? `${flow.id}-views-0`,\n transitions: {\n \"*\": \"END_done\",\n Prev: \"END_back\"\n }\n },\n END_done: {\n state_type: \"END\",\n outcome: options?.outcome ?? \"doneWithFlow\"\n },\n END_back: {\n state_type: \"END\",\n outcome: \"BACK\"\n }\n };\n if (options?.onStart !== void 0) {\n navFlow.onStart = options.onStart;\n }\n if (options?.onEnd !== void 0) {\n navFlow.onEnd = options.onEnd;\n }\n return {\n ...flow,\n navigation: {\n BEGIN: \"Flow\",\n Flow: navFlow\n }\n };\n }\n return flow;\n };\n function makeFlow(obj, args) {\n const objified = unwrapJSend(typeof obj === \"string\" ? JSON.parse(obj) : obj);\n if (Array.isArray(objified)) {\n const collection = {\n id: \"collection\",\n type: \"collection\",\n values: objified.map((v) => {\n const type2 = identify(v);\n if (type2 === 1 /* ASSET */) {\n return { asset: v };\n }\n return v;\n })\n };\n return makeFlow(collection);\n }\n const type = identify(obj);\n if (type === 3 /* UNKNOWN */) {\n throw new Error(\n \"No clue how to convert this into a flow. Just do it yourself\"\n );\n }\n if (type === 0 /* FLOW */) {\n return createDefaultNav(obj, args);\n }\n if (type === 2 /* ASSET_WRAPPER */) {\n return makeFlow(obj.asset);\n }\n return {\n id: \"generated-flow\",\n views: [obj],\n data: {},\n navigation: {\n BEGIN: \"FLOW_1\",\n FLOW_1: {\n startState: \"VIEW_1\",\n VIEW_1: {\n state_type: \"VIEW\",\n ref: obj.id,\n transitions: {\n \"*\": \"END_Done\"\n }\n },\n END_Done: {\n state_type: \"END\",\n outcome: \"done\"\n }\n }\n }\n };\n }\n return __toCommonJS(src_exports);\n})();\n","import type {\n Flow,\n Asset,\n AssetWrapper,\n NavigationFlow,\n NavigationFlowEndState,\n} from \"@player-ui/types\";\nimport { identify, ObjType } from \"./identify\";\n\nexport * from \"./identify\";\n\ninterface JSend<T> {\n /** The status of the JSEND wrapper */\n status: string;\n /** The data we care about */\n data: T;\n}\n\ninterface CollectionAsset extends Asset<\"collection\"> {\n /** The values of the collection. Used when there are an array of assets passed to the makeFlow fn */\n values: Array<AssetWrapper>;\n}\n\n/** Check an object for the JSEND wrapper and remove it if needed */\nfunction unwrapJSend(obj: object) {\n const isJSend = \"status\" in obj && \"data\" in obj;\n\n if (isJSend) {\n return (obj as JSend<object>).data;\n }\n\n return obj;\n}\n\ninterface NavOptions {\n /** An optional expression to run when this Flow starts */\n onStart?: NavigationFlow[\"onStart\"];\n /** An optional expression to run when this Flow ends */\n onEnd?: NavigationFlow[\"onEnd\"];\n /**\n * A description of _how_ the flow ended.\n * If this is a flow started from another flow, the outcome determines the flow transition\n */\n outcome?: NavigationFlowEndState[\"outcome\"];\n}\n\n/**\n * create a default navigation if the flow was exactly one view and there is no navigation already\n */\nconst createDefaultNav = (flow: Flow, options?: NavOptions): Flow => {\n if (\n (flow.navigation === undefined || flow.navigation === null) &&\n Array.isArray(flow.views) &&\n flow.views.length === 1\n ) {\n const navFlow: NavigationFlow = {\n startState: \"VIEW_0\",\n VIEW_0: {\n state_type: \"VIEW\",\n ref: flow.views[0].id ?? `${flow.id}-views-0`,\n transitions: {\n \"*\": \"END_done\",\n Prev: \"END_back\",\n },\n },\n END_done: {\n state_type: \"END\",\n outcome: options?.outcome ?? \"doneWithFlow\",\n },\n END_back: {\n state_type: \"END\",\n outcome: \"BACK\",\n },\n };\n\n if (options?.onStart !== undefined) {\n navFlow.onStart = options.onStart;\n }\n\n if (options?.onEnd !== undefined) {\n navFlow.onEnd = options.onEnd;\n }\n\n return {\n ...flow,\n navigation: {\n BEGIN: \"Flow\",\n Flow: navFlow,\n },\n };\n }\n\n return flow;\n};\n\n/**\n * Take any given object and try to convert it to a flow\n */\nexport function makeFlow(obj: any, args?: NavOptions): Flow {\n const objified = unwrapJSend(typeof obj === \"string\" ? JSON.parse(obj) : obj);\n\n if (Array.isArray(objified)) {\n const collection: CollectionAsset = {\n id: \"collection\",\n type: \"collection\",\n values: objified.map((v) => {\n const type = identify(v);\n\n if (type === ObjType.ASSET) {\n return { asset: v };\n }\n\n return v;\n }),\n };\n\n return makeFlow(collection);\n }\n\n const type = identify(obj);\n\n if (type === ObjType.UNKNOWN) {\n throw new Error(\n \"No clue how to convert this into a flow. Just do it yourself\",\n );\n }\n\n if (type === ObjType.FLOW) {\n return createDefaultNav(obj, args);\n }\n\n if (type === ObjType.ASSET_WRAPPER) {\n return makeFlow(obj.asset);\n }\n\n return {\n id: \"generated-flow\",\n views: [obj],\n data: {},\n navigation: {\n BEGIN: \"FLOW_1\",\n FLOW_1: {\n startState: \"VIEW_1\",\n VIEW_1: {\n state_type: \"VIEW\",\n ref: obj.id,\n transitions: {\n \"*\": \"END_Done\",\n },\n },\n END_Done: {\n state_type: \"END\",\n outcome: \"done\",\n },\n },\n },\n };\n}\n","import type { AssetWrapper } from \"@player-ui/types\";\n\nexport enum ObjType {\n FLOW,\n ASSET,\n ASSET_WRAPPER,\n UNKNOWN,\n}\n\n/** Try to identify any object as an Asset or Flow */\nexport function identify(obj: object): ObjType {\n if (\"id\" in obj && \"type\" in obj) {\n return ObjType.ASSET;\n }\n\n if (\n \"asset\" in obj &&\n identify((obj as AssetWrapper).asset) === ObjType.ASSET\n ) {\n return ObjType.ASSET_WRAPPER;\n }\n\n if (\"navigation\" in obj || \"schema\" in obj || \"views\" in obj) {\n return ObjType.FLOW;\n }\n\n return ObjType.UNKNOWN;\n}\n"]}
package/package.json CHANGED
@@ -6,10 +6,10 @@
6
6
  "types"
7
7
  ],
8
8
  "name": "@player-ui/make-flow",
9
- "version": "0.15.3-next.0",
9
+ "version": "0.15.3-next.2",
10
10
  "main": "dist/cjs/index.cjs",
11
11
  "dependencies": {
12
- "@player-ui/types": "0.15.3-next.0",
12
+ "@player-ui/types": "0.15.3-next.2",
13
13
  "tslib": "^2.6.2"
14
14
  },
15
15
  "module": "dist/index.legacy-esm.js",