@appsemble/lang-sdk 0.33.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/BasicValidator.d.ts +56 -0
  2. package/BasicValidator.js +174 -0
  3. package/LICENSE.md +126 -0
  4. package/README.md +119 -0
  5. package/allActions.d.ts +1 -0
  6. package/allActions.js +11 -0
  7. package/appMembers.d.ts +1 -0
  8. package/appMembers.js +9 -0
  9. package/authorization.d.ts +10 -0
  10. package/authorization.js +147 -0
  11. package/blockUtils.d.ts +31 -0
  12. package/blockUtils.js +65 -0
  13. package/constants/baseTheme.d.ts +2 -0
  14. package/constants/baseTheme.js +16 -0
  15. package/constants/fonts.d.ts +6 -0
  16. package/constants/fonts.js +1607 -0
  17. package/constants/index.d.ts +4 -0
  18. package/constants/index.js +5 -0
  19. package/constants/locale.d.ts +4 -0
  20. package/constants/locale.js +5 -0
  21. package/constants/patterns.d.ts +41 -0
  22. package/constants/patterns.js +42 -0
  23. package/examples.d.ts +23 -0
  24. package/examples.js +975 -0
  25. package/findPageByName.d.ts +2 -0
  26. package/findPageByName.js +15 -0
  27. package/ics.d.ts +3 -0
  28. package/ics.js +41 -0
  29. package/index.d.ts +18 -0
  30. package/index.js +19 -0
  31. package/iterApp.d.ts +64 -0
  32. package/iterApp.js +150 -0
  33. package/jsonPointer.d.ts +18 -0
  34. package/jsonPointer.js +24 -0
  35. package/jsonschema.d.ts +54 -0
  36. package/jsonschema.js +185 -0
  37. package/mapValues.d.ts +1 -0
  38. package/mapValues.js +8 -0
  39. package/miscellaneous.d.ts +38 -0
  40. package/miscellaneous.js +66 -0
  41. package/noop.d.ts +4 -0
  42. package/noop.js +6 -0
  43. package/normalize.d.ts +13 -0
  44. package/normalize.js +24 -0
  45. package/package.json +66 -0
  46. package/reference-schemas/actions/appMember.d.ts +2 -0
  47. package/reference-schemas/actions/appMember.js +21 -0
  48. package/reference-schemas/actions/flow.d.ts +2 -0
  49. package/reference-schemas/actions/flow.js +13 -0
  50. package/reference-schemas/actions/group.d.ts +2 -0
  51. package/reference-schemas/actions/group.js +13 -0
  52. package/reference-schemas/actions/index.d.ts +7 -0
  53. package/reference-schemas/actions/index.js +8 -0
  54. package/reference-schemas/actions/link.d.ts +2 -0
  55. package/reference-schemas/actions/link.js +9 -0
  56. package/reference-schemas/actions/miscellaneous.d.ts +2 -0
  57. package/reference-schemas/actions/miscellaneous.js +43 -0
  58. package/reference-schemas/actions/resources.d.ts +2 -0
  59. package/reference-schemas/actions/resources.js +19 -0
  60. package/reference-schemas/actions/storage.d.ts +2 -0
  61. package/reference-schemas/actions/storage.js +15 -0
  62. package/reference-schemas/index.d.ts +2 -0
  63. package/reference-schemas/index.js +3 -0
  64. package/reference-schemas/remappers/arrays.d.ts +2 -0
  65. package/reference-schemas/remappers/arrays.js +297 -0
  66. package/reference-schemas/remappers/conditionals.d.ts +2 -0
  67. package/reference-schemas/remappers/conditionals.js +167 -0
  68. package/reference-schemas/remappers/config.d.ts +2 -0
  69. package/reference-schemas/remappers/config.js +13 -0
  70. package/reference-schemas/remappers/data.d.ts +2 -0
  71. package/reference-schemas/remappers/data.js +394 -0
  72. package/reference-schemas/remappers/dates.d.ts +2 -0
  73. package/reference-schemas/remappers/dates.js +94 -0
  74. package/reference-schemas/remappers/history.d.ts +2 -0
  75. package/reference-schemas/remappers/history.js +246 -0
  76. package/reference-schemas/remappers/index.d.ts +12 -0
  77. package/reference-schemas/remappers/index.js +13 -0
  78. package/reference-schemas/remappers/numbers.d.ts +2 -0
  79. package/reference-schemas/remappers/numbers.js +30 -0
  80. package/reference-schemas/remappers/objects.d.ts +2 -0
  81. package/reference-schemas/remappers/objects.js +127 -0
  82. package/reference-schemas/remappers/odata.d.ts +2 -0
  83. package/reference-schemas/remappers/odata.js +95 -0
  84. package/reference-schemas/remappers/randoms.d.ts +2 -0
  85. package/reference-schemas/remappers/randoms.js +82 -0
  86. package/reference-schemas/remappers/strings.d.ts +2 -0
  87. package/reference-schemas/remappers/strings.js +93 -0
  88. package/reference-schemas/remappers/unsorted.d.ts +2 -0
  89. package/reference-schemas/remappers/unsorted.js +276 -0
  90. package/remap.d.ts +75 -0
  91. package/remap.js +691 -0
  92. package/schemas/AppDefinition.d.ts +2 -0
  93. package/schemas/AppDefinition.js +126 -0
  94. package/schemas/AppLayoutDefinition.d.ts +2 -0
  95. package/schemas/AppLayoutDefinition.js +59 -0
  96. package/schemas/AppMemberPropertyDefinition.d.ts +2 -0
  97. package/schemas/AppMemberPropertyDefinition.js +49 -0
  98. package/schemas/AppMembersDefinition.d.ts +2 -0
  99. package/schemas/AppMembersDefinition.js +17 -0
  100. package/schemas/ArrayRemapperDefinition.d.ts +2 -0
  101. package/schemas/ArrayRemapperDefinition.js +22 -0
  102. package/schemas/BasePageDefinition.d.ts +2 -0
  103. package/schemas/BasePageDefinition.js +92 -0
  104. package/schemas/BlockDefinition.d.ts +2 -0
  105. package/schemas/BlockDefinition.js +94 -0
  106. package/schemas/ContainerDefinition.d.ts +2 -0
  107. package/schemas/ContainerDefinition.js +52 -0
  108. package/schemas/ContainerPageDefinition.d.ts +1 -0
  109. package/schemas/ContainerPageDefinition.js +56 -0
  110. package/schemas/ControllerDefinition.d.ts +2 -0
  111. package/schemas/ControllerDefinition.js +17 -0
  112. package/schemas/CronDefinition.d.ts +2 -0
  113. package/schemas/CronDefinition.js +20 -0
  114. package/schemas/CustomFontDefinition.d.ts +2 -0
  115. package/schemas/CustomFontDefinition.js +20 -0
  116. package/schemas/EventsDefinition.d.ts +2 -0
  117. package/schemas/EventsDefinition.js +29 -0
  118. package/schemas/FilterParametersDefinition.d.ts +2 -0
  119. package/schemas/FilterParametersDefinition.js +15 -0
  120. package/schemas/FlowPageActionsDefinition.d.ts +2 -0
  121. package/schemas/FlowPageActionsDefinition.js +23 -0
  122. package/schemas/FlowPageDefinition.d.ts +1 -0
  123. package/schemas/FlowPageDefinition.js +37 -0
  124. package/schemas/GoogleFontDefinition.d.ts +2 -0
  125. package/schemas/GoogleFontDefinition.js +22 -0
  126. package/schemas/LoopPageActionsDefinition.d.ts +2 -0
  127. package/schemas/LoopPageActionsDefinition.js +24 -0
  128. package/schemas/LoopPageDefinition.d.ts +1 -0
  129. package/schemas/LoopPageDefinition.js +32 -0
  130. package/schemas/NotificationHookDataDefinition.d.ts +2 -0
  131. package/schemas/NotificationHookDataDefinition.js +24 -0
  132. package/schemas/NotificationHookDefinition.d.ts +2 -0
  133. package/schemas/NotificationHookDefinition.js +32 -0
  134. package/schemas/ObjectRemapperDefinition.d.ts +2 -0
  135. package/schemas/ObjectRemapperDefinition.js +17 -0
  136. package/schemas/PageActionsDefinition.d.ts +2 -0
  137. package/schemas/PageActionsDefinition.js +12 -0
  138. package/schemas/PageDefinition.d.ts +1 -0
  139. package/schemas/PageDefinition.js +26 -0
  140. package/schemas/RemapperDefinition.d.ts +2 -0
  141. package/schemas/RemapperDefinition.js +27 -0
  142. package/schemas/ResourceDefinition.d.ts +2 -0
  143. package/schemas/ResourceDefinition.js +263 -0
  144. package/schemas/ResourceHistoryDefinition.d.ts +2 -0
  145. package/schemas/ResourceHistoryDefinition.js +14 -0
  146. package/schemas/ResourceHooksDefinition.d.ts +2 -0
  147. package/schemas/ResourceHooksDefinition.js +10 -0
  148. package/schemas/ResourceViewDefinition.d.ts +2 -0
  149. package/schemas/ResourceViewDefinition.js +24 -0
  150. package/schemas/SecurityCronDefinition.d.ts +2 -0
  151. package/schemas/SecurityCronDefinition.js +26 -0
  152. package/schemas/SecurityDefaultDefinition.d.ts +2 -0
  153. package/schemas/SecurityDefaultDefinition.js +34 -0
  154. package/schemas/SecurityDefinition.d.ts +2 -0
  155. package/schemas/SecurityDefinition.js +17 -0
  156. package/schemas/SecurityGuestDefinition.d.ts +2 -0
  157. package/schemas/SecurityGuestDefinition.js +26 -0
  158. package/schemas/SecurityRoleDefinition.d.ts +2 -0
  159. package/schemas/SecurityRoleDefinition.js +35 -0
  160. package/schemas/SubPage.d.ts +2 -0
  161. package/schemas/SubPage.js +36 -0
  162. package/schemas/TabsPageDefinition.d.ts +1 -0
  163. package/schemas/TabsPageDefinition.js +46 -0
  164. package/schemas/Theme.d.ts +2 -0
  165. package/schemas/Theme.js +81 -0
  166. package/schemas/WebhookDefinition.d.ts +2 -0
  167. package/schemas/WebhookDefinition.js +17 -0
  168. package/schemas/actions/ActionDefinition.d.ts +2 -0
  169. package/schemas/actions/ActionDefinition.js +95 -0
  170. package/schemas/actions/AnalyticsActionDefinition.d.ts +1 -0
  171. package/schemas/actions/AnalyticsActionDefinition.js +25 -0
  172. package/schemas/actions/AppMemberCurrentPatchActionDefinition.d.ts +1 -0
  173. package/schemas/actions/AppMemberCurrentPatchActionDefinition.js +30 -0
  174. package/schemas/actions/AppMemberDeleteActionDefinition.d.ts +1 -0
  175. package/schemas/actions/AppMemberDeleteActionDefinition.js +20 -0
  176. package/schemas/actions/AppMemberInviteActionDefinition.d.ts +1 -0
  177. package/schemas/actions/AppMemberInviteActionDefinition.js +24 -0
  178. package/schemas/actions/AppMemberLoginActionDefinition.d.ts +1 -0
  179. package/schemas/actions/AppMemberLoginActionDefinition.js +24 -0
  180. package/schemas/actions/AppMemberLogoutActionDefinition.d.ts +1 -0
  181. package/schemas/actions/AppMemberLogoutActionDefinition.js +14 -0
  182. package/schemas/actions/AppMemberPropertiesPatchActionDefinition.d.ts +1 -0
  183. package/schemas/actions/AppMemberPropertiesPatchActionDefinition.js +26 -0
  184. package/schemas/actions/AppMemberQueryActionDefinition.d.ts +1 -0
  185. package/schemas/actions/AppMemberQueryActionDefinition.js +24 -0
  186. package/schemas/actions/AppMemberRegisterActionDefinition.d.ts +1 -0
  187. package/schemas/actions/AppMemberRegisterActionDefinition.js +43 -0
  188. package/schemas/actions/AppMemberRoleUpdateActionDefinition.d.ts +1 -0
  189. package/schemas/actions/AppMemberRoleUpdateActionDefinition.js +27 -0
  190. package/schemas/actions/BaseActionDefinition.d.ts +2 -0
  191. package/schemas/actions/BaseActionDefinition.js +10 -0
  192. package/schemas/actions/ConditionActionDefinition.d.ts +1 -0
  193. package/schemas/actions/ConditionActionDefinition.js +30 -0
  194. package/schemas/actions/ControllerActionDefinition.d.ts +1 -0
  195. package/schemas/actions/ControllerActionDefinition.js +18 -0
  196. package/schemas/actions/CsvParseActionDefinition.d.ts +1 -0
  197. package/schemas/actions/CsvParseActionDefinition.js +22 -0
  198. package/schemas/actions/DialogActionDefinition.d.ts +1 -0
  199. package/schemas/actions/DialogActionDefinition.js +40 -0
  200. package/schemas/actions/DialogErrorActionDefinition.d.ts +1 -0
  201. package/schemas/actions/DialogErrorActionDefinition.js +17 -0
  202. package/schemas/actions/DialogOkActionDefinition.d.ts +1 -0
  203. package/schemas/actions/DialogOkActionDefinition.js +17 -0
  204. package/schemas/actions/DownloadActionDefinition.d.ts +1 -0
  205. package/schemas/actions/DownloadActionDefinition.js +19 -0
  206. package/schemas/actions/EachActionDefinition.d.ts +1 -0
  207. package/schemas/actions/EachActionDefinition.js +26 -0
  208. package/schemas/actions/EmailActionDefinition.d.ts +1 -0
  209. package/schemas/actions/EmailActionDefinition.js +54 -0
  210. package/schemas/actions/EventActionDefinition.d.ts +1 -0
  211. package/schemas/actions/EventActionDefinition.js +27 -0
  212. package/schemas/actions/FlowBackActionDefinition.d.ts +1 -0
  213. package/schemas/actions/FlowBackActionDefinition.js +16 -0
  214. package/schemas/actions/FlowCancelActionDefinition.d.ts +1 -0
  215. package/schemas/actions/FlowCancelActionDefinition.js +14 -0
  216. package/schemas/actions/FlowFinishActionDefinition.d.ts +1 -0
  217. package/schemas/actions/FlowFinishActionDefinition.js +16 -0
  218. package/schemas/actions/FlowNextActionDefinition.d.ts +1 -0
  219. package/schemas/actions/FlowNextActionDefinition.js +17 -0
  220. package/schemas/actions/FlowToActionDefinition.d.ts +1 -0
  221. package/schemas/actions/FlowToActionDefinition.js +21 -0
  222. package/schemas/actions/GroupMemberDeleteActionDefinition.d.ts +1 -0
  223. package/schemas/actions/GroupMemberDeleteActionDefinition.js +18 -0
  224. package/schemas/actions/GroupMemberInviteActionDefinition.d.ts +1 -0
  225. package/schemas/actions/GroupMemberInviteActionDefinition.js +26 -0
  226. package/schemas/actions/GroupMemberQueryActionDefinition.d.ts +1 -0
  227. package/schemas/actions/GroupMemberQueryActionDefinition.js +18 -0
  228. package/schemas/actions/GroupMemberRoleUpdateActionDefinition.d.ts +1 -0
  229. package/schemas/actions/GroupMemberRoleUpdateActionDefinition.js +22 -0
  230. package/schemas/actions/GroupQueryActionDefinition.d.ts +1 -0
  231. package/schemas/actions/GroupQueryActionDefinition.js +14 -0
  232. package/schemas/actions/LinkActionDefinition.d.ts +1 -0
  233. package/schemas/actions/LinkActionDefinition.js +29 -0
  234. package/schemas/actions/LinkBackActionDefinition.d.ts +1 -0
  235. package/schemas/actions/LinkBackActionDefinition.js +14 -0
  236. package/schemas/actions/LinkNextActionDefinition.d.ts +1 -0
  237. package/schemas/actions/LinkNextActionDefinition.js +14 -0
  238. package/schemas/actions/LogActionDefinition.d.ts +1 -0
  239. package/schemas/actions/LogActionDefinition.js +22 -0
  240. package/schemas/actions/MatchActionDefinition.d.ts +1 -0
  241. package/schemas/actions/MatchActionDefinition.js +35 -0
  242. package/schemas/actions/MessageActionDefinition.d.ts +1 -0
  243. package/schemas/actions/MessageActionDefinition.js +40 -0
  244. package/schemas/actions/NoopActionDefinition.d.ts +1 -0
  245. package/schemas/actions/NoopActionDefinition.js +17 -0
  246. package/schemas/actions/NotifyActionDefinition.d.ts +1 -0
  247. package/schemas/actions/NotifyActionDefinition.js +32 -0
  248. package/schemas/actions/RequestActionDefinition.d.ts +1 -0
  249. package/schemas/actions/RequestActionDefinition.js +75 -0
  250. package/schemas/actions/ResourceCountActionDefinition.d.ts +1 -0
  251. package/schemas/actions/ResourceCountActionDefinition.js +22 -0
  252. package/schemas/actions/ResourceCreateActionDefinition.d.ts +1 -0
  253. package/schemas/actions/ResourceCreateActionDefinition.js +18 -0
  254. package/schemas/actions/ResourceDeleteActionDefinition.d.ts +1 -0
  255. package/schemas/actions/ResourceDeleteActionDefinition.js +18 -0
  256. package/schemas/actions/ResourceDeleteAllActionDefinition.d.ts +1 -0
  257. package/schemas/actions/ResourceDeleteAllActionDefinition.js +21 -0
  258. package/schemas/actions/ResourceDeleteBulkActionDefinition.d.ts +1 -0
  259. package/schemas/actions/ResourceDeleteBulkActionDefinition.js +18 -0
  260. package/schemas/actions/ResourceGetActionDefinition.d.ts +1 -0
  261. package/schemas/actions/ResourceGetActionDefinition.js +25 -0
  262. package/schemas/actions/ResourceHistoryGetActionDefinition.d.ts +1 -0
  263. package/schemas/actions/ResourceHistoryGetActionDefinition.js +18 -0
  264. package/schemas/actions/ResourcePatchActionDefinition.d.ts +1 -0
  265. package/schemas/actions/ResourcePatchActionDefinition.js +21 -0
  266. package/schemas/actions/ResourceQueryActionDefinition.d.ts +1 -0
  267. package/schemas/actions/ResourceQueryActionDefinition.js +26 -0
  268. package/schemas/actions/ResourceSubscriptionStatusActionDefinition.d.ts +1 -0
  269. package/schemas/actions/ResourceSubscriptionStatusActionDefinition.js +23 -0
  270. package/schemas/actions/ResourceSubscriptionSubscribeActionDefinition.d.ts +1 -0
  271. package/schemas/actions/ResourceSubscriptionSubscribeActionDefinition.js +23 -0
  272. package/schemas/actions/ResourceSubscriptionToggleActionDefinition.d.ts +1 -0
  273. package/schemas/actions/ResourceSubscriptionToggleActionDefinition.js +23 -0
  274. package/schemas/actions/ResourceSubscriptionUnsubscribeActionDefinition.d.ts +1 -0
  275. package/schemas/actions/ResourceSubscriptionUnsubscribeActionDefinition.js +23 -0
  276. package/schemas/actions/ResourceUpdateActionDefinition.d.ts +1 -0
  277. package/schemas/actions/ResourceUpdateActionDefinition.js +18 -0
  278. package/schemas/actions/ResourceUpdatePositionsActionDefinition.d.ts +1 -0
  279. package/schemas/actions/ResourceUpdatePositionsActionDefinition.js +21 -0
  280. package/schemas/actions/ShareActionDefinition.d.ts +1 -0
  281. package/schemas/actions/ShareActionDefinition.js +30 -0
  282. package/schemas/actions/StaticActionDefinition.d.ts +1 -0
  283. package/schemas/actions/StaticActionDefinition.js +20 -0
  284. package/schemas/actions/StorageAppendActionDefinition.d.ts +1 -0
  285. package/schemas/actions/StorageAppendActionDefinition.js +43 -0
  286. package/schemas/actions/StorageDeleteActionDefinition.d.ts +1 -0
  287. package/schemas/actions/StorageDeleteActionDefinition.js +31 -0
  288. package/schemas/actions/StorageReadActionDefinition.d.ts +1 -0
  289. package/schemas/actions/StorageReadActionDefinition.js +32 -0
  290. package/schemas/actions/StorageSubtractActionDefinition.d.ts +1 -0
  291. package/schemas/actions/StorageSubtractActionDefinition.js +35 -0
  292. package/schemas/actions/StorageUpdateActionDefinition.d.ts +1 -0
  293. package/schemas/actions/StorageUpdateActionDefinition.js +46 -0
  294. package/schemas/actions/StorageWriteActionDefinition.d.ts +1 -0
  295. package/schemas/actions/StorageWriteActionDefinition.js +46 -0
  296. package/schemas/actions/ThrowActionDefinition.d.ts +1 -0
  297. package/schemas/actions/ThrowActionDefinition.js +17 -0
  298. package/schemas/index.d.ts +121 -0
  299. package/schemas/index.js +122 -0
  300. package/schemas/json/BaseJSONSchema.d.ts +2 -0
  301. package/schemas/json/BaseJSONSchema.js +24 -0
  302. package/schemas/json/JSONPointer.d.ts +1 -0
  303. package/schemas/json/JSONPointer.js +20 -0
  304. package/schemas/json/JSONSchema.d.ts +2 -0
  305. package/schemas/json/JSONSchema.js +20 -0
  306. package/schemas/json/JSONSchemaAnyOf.d.ts +1 -0
  307. package/schemas/json/JSONSchemaAnyOf.js +26 -0
  308. package/schemas/json/JSONSchemaArray.d.ts +1 -0
  309. package/schemas/json/JSONSchemaArray.js +47 -0
  310. package/schemas/json/JSONSchemaBoolean.d.ts +1 -0
  311. package/schemas/json/JSONSchemaBoolean.js +37 -0
  312. package/schemas/json/JSONSchemaConst.d.ts +1 -0
  313. package/schemas/json/JSONSchemaConst.js +16 -0
  314. package/schemas/json/JSONSchemaEnum.d.ts +1 -0
  315. package/schemas/json/JSONSchemaEnum.js +36 -0
  316. package/schemas/json/JSONSchemaInteger.d.ts +1 -0
  317. package/schemas/json/JSONSchemaInteger.js +55 -0
  318. package/schemas/json/JSONSchemaMultiType.d.ts +1 -0
  319. package/schemas/json/JSONSchemaMultiType.js +48 -0
  320. package/schemas/json/JSONSchemaNot.d.ts +1 -0
  321. package/schemas/json/JSONSchemaNot.js +23 -0
  322. package/schemas/json/JSONSchemaNull.d.ts +1 -0
  323. package/schemas/json/JSONSchemaNull.js +16 -0
  324. package/schemas/json/JSONSchemaNumber.d.ts +1 -0
  325. package/schemas/json/JSONSchemaNumber.js +63 -0
  326. package/schemas/json/JSONSchemaObject.d.ts +1 -0
  327. package/schemas/json/JSONSchemaObject.js +74 -0
  328. package/schemas/json/JSONSchemaOneOf.d.ts +1 -0
  329. package/schemas/json/JSONSchemaOneOf.js +24 -0
  330. package/schemas/json/JSONSchemaRemapper.d.ts +1 -0
  331. package/schemas/json/JSONSchemaRemapper.js +19 -0
  332. package/schemas/json/JSONSchemaRoot.d.ts +1 -0
  333. package/schemas/json/JSONSchemaRoot.js +21 -0
  334. package/schemas/json/JSONSchemaString.d.ts +1 -0
  335. package/schemas/json/JSONSchemaString.js +107 -0
  336. package/schemas/utils/extendJSONSchema.d.ts +13 -0
  337. package/schemas/utils/extendJSONSchema.js +34 -0
  338. package/serverActions.d.ts +2 -0
  339. package/serverActions.js +21 -0
  340. package/string.d.ts +23 -0
  341. package/string.js +30 -0
  342. package/types/ActionError.d.ts +38 -0
  343. package/types/ActionError.js +30 -0
  344. package/types/action.d.ts +51 -0
  345. package/types/action.js +2 -0
  346. package/types/actionDefinition.d.ts +605 -0
  347. package/types/actionDefinition.js +2 -0
  348. package/types/block.d.ts +81 -0
  349. package/types/block.js +2 -0
  350. package/types/bulma.d.ts +5 -0
  351. package/types/bulma.js +2 -0
  352. package/types/container.d.ts +46 -0
  353. package/types/container.js +2 -0
  354. package/types/core.d.ts +322 -0
  355. package/types/core.js +2 -0
  356. package/types/http.d.ts +6 -0
  357. package/types/http.js +2 -0
  358. package/types/index.d.ts +115 -0
  359. package/types/index.js +17 -0
  360. package/types/layout.d.ts +2 -0
  361. package/types/layout.js +2 -0
  362. package/types/member.d.ts +43 -0
  363. package/types/member.js +2 -0
  364. package/types/permission.d.ts +102 -0
  365. package/types/permission.js +104 -0
  366. package/types/remapper.d.ts +584 -0
  367. package/types/remapper.js +2 -0
  368. package/types/resource.d.ts +145 -0
  369. package/types/resource.js +2 -0
  370. package/types/roles.d.ts +20 -0
  371. package/types/roles.js +61 -0
  372. package/types/security.d.ts +42 -0
  373. package/types/security.js +2 -0
  374. package/types/theme.d.ts +54 -0
  375. package/types/theme.js +2 -0
  376. package/validation.d.ts +25 -0
  377. package/validation.js +1237 -0
package/examples.js ADDED
@@ -0,0 +1,975 @@
1
+ import { IntlMessageFormat } from 'intl-messageformat';
2
+ import { stringify } from 'yaml';
3
+ export const examples = {
4
+ None: {
5
+ input: null,
6
+ remapper: '',
7
+ result: '',
8
+ },
9
+ 'app.id': {
10
+ input: null,
11
+ remapper: {
12
+ app: 'id',
13
+ },
14
+ result: 0,
15
+ },
16
+ 'app.locale': {
17
+ input: null,
18
+ remapper: {
19
+ app: 'locale',
20
+ },
21
+ result: 'en',
22
+ },
23
+ 'app.url': {
24
+ input: null,
25
+ remapper: {
26
+ app: 'url',
27
+ },
28
+ result: 'https://example-app.example-organization.example.com',
29
+ },
30
+ 'app.member': {
31
+ input: null,
32
+ remapper: {},
33
+ result: {},
34
+ skip: true,
35
+ },
36
+ type: {
37
+ input: [1, 2, 3],
38
+ remapper: { type: null },
39
+ result: 'array',
40
+ },
41
+ array: {
42
+ input: ['a', 'b', 'c'],
43
+ remapper: {
44
+ 'array.map': {
45
+ 'object.from': {
46
+ index: {
47
+ array: 'index',
48
+ },
49
+ length: {
50
+ array: 'length',
51
+ },
52
+ item: {
53
+ array: 'item',
54
+ },
55
+ prevItem: {
56
+ array: 'prevItem',
57
+ },
58
+ nextItem: {
59
+ array: 'nextItem',
60
+ },
61
+ },
62
+ },
63
+ },
64
+ result: [
65
+ {
66
+ index: 0,
67
+ length: 3,
68
+ item: 'a',
69
+ prevItem: undefined,
70
+ nextItem: 'b',
71
+ },
72
+ {
73
+ index: 1,
74
+ length: 3,
75
+ item: 'b',
76
+ prevItem: 'a',
77
+ nextItem: 'c',
78
+ },
79
+ {
80
+ index: 2,
81
+ length: 3,
82
+ item: 'c',
83
+ prevItem: 'b',
84
+ nextItem: undefined,
85
+ },
86
+ ],
87
+ },
88
+ 'array.contains': {
89
+ input: [1, 2, 3, 4, 5],
90
+ remapper: { 'array.contains': { static: 6 } },
91
+ result: false,
92
+ },
93
+ 'string.contains': {
94
+ input: 'Input string',
95
+ remapper: { 'string.contains': 'string' },
96
+ result: true,
97
+ },
98
+ len: {
99
+ input: 'string',
100
+ remapper: { len: null },
101
+ result: 6,
102
+ },
103
+ 'array.append': {
104
+ input: [
105
+ {
106
+ name: 'Peter',
107
+ occupation: 'Delivery driver',
108
+ },
109
+ {
110
+ name: 'Otto',
111
+ occupation: 'Scientist',
112
+ },
113
+ {
114
+ name: 'Harry',
115
+ occupation: 'CEO',
116
+ },
117
+ ],
118
+ remapper: {
119
+ 'array.append': [
120
+ {
121
+ 'object.from': {
122
+ name: 'James',
123
+ occupation: 'News reporter',
124
+ },
125
+ },
126
+ ],
127
+ },
128
+ result: [
129
+ {
130
+ name: 'Peter',
131
+ occupation: 'Delivery driver',
132
+ },
133
+ {
134
+ name: 'Otto',
135
+ occupation: 'Scientist',
136
+ },
137
+ {
138
+ name: 'Harry',
139
+ occupation: 'CEO',
140
+ },
141
+ {
142
+ name: 'James',
143
+ occupation: 'News reporter',
144
+ },
145
+ ],
146
+ },
147
+ 'array.filter': {
148
+ input: [
149
+ {
150
+ name: 'Peter',
151
+ },
152
+ {
153
+ name: 'Louis',
154
+ },
155
+ {
156
+ name: 'Brian',
157
+ },
158
+ ],
159
+ remapper: {
160
+ 'array.filter': {
161
+ equals: [
162
+ {
163
+ prop: 'name',
164
+ },
165
+ 'Louis',
166
+ ],
167
+ },
168
+ },
169
+ result: [{ name: 'Louis' }],
170
+ },
171
+ 'array.find': {
172
+ input: [
173
+ {
174
+ name: 'Craig',
175
+ },
176
+ {
177
+ name: 'Joey',
178
+ },
179
+ {
180
+ name: 'Stuart',
181
+ },
182
+ ],
183
+ remapper: {
184
+ 'array.find': {
185
+ equals: [
186
+ {
187
+ prop: 'name',
188
+ },
189
+ 'Craig',
190
+ ],
191
+ },
192
+ },
193
+ result: {
194
+ name: 'Craig',
195
+ },
196
+ },
197
+ 'array.from': {
198
+ input: null,
199
+ remapper: {
200
+ 'array.from': ['Peter', 'Otto', 'Harry'],
201
+ },
202
+ result: ['Peter', 'Otto', 'Harry'],
203
+ },
204
+ 'array.map': {
205
+ input: [
206
+ {
207
+ name: 'Peter',
208
+ occupation: 'Delivery driver',
209
+ },
210
+ {
211
+ name: 'Otto',
212
+ occupation: 'Scientist',
213
+ },
214
+ {
215
+ name: 'Harry',
216
+ occupation: 'CEO',
217
+ },
218
+ ],
219
+ remapper: {
220
+ 'array.map': {
221
+ 'object.omit': ['name'],
222
+ },
223
+ },
224
+ result: [
225
+ {
226
+ occupation: 'Delivery driver',
227
+ },
228
+ {
229
+ occupation: 'Scientist',
230
+ },
231
+ {
232
+ occupation: 'CEO',
233
+ },
234
+ ],
235
+ },
236
+ 'array.map.1': {
237
+ input: [
238
+ {
239
+ name: 'Peter',
240
+ occupation: 'Delivery driver',
241
+ },
242
+ {
243
+ name: 'Otto',
244
+ occupation: 'Scientist',
245
+ },
246
+ {
247
+ name: 'Harry',
248
+ occupation: 'CEO',
249
+ },
250
+ ],
251
+ remapper: [
252
+ {
253
+ 'array.map': {
254
+ if: {
255
+ condition: {
256
+ equals: [
257
+ {
258
+ prop: 'occupation',
259
+ },
260
+ 'Scientist',
261
+ ],
262
+ },
263
+ else: null,
264
+ then: {
265
+ 'object.from': {
266
+ name: {
267
+ prop: 'name',
268
+ },
269
+ occupation: {
270
+ prop: 'occupation',
271
+ },
272
+ },
273
+ },
274
+ },
275
+ },
276
+ },
277
+ {
278
+ 'null.strip': null,
279
+ },
280
+ ],
281
+ result: [
282
+ {
283
+ name: 'Otto',
284
+ occupation: 'Scientist',
285
+ },
286
+ ],
287
+ },
288
+ 'array.omit': {
289
+ input: [
290
+ {
291
+ name: 'Peter',
292
+ occupation: 'Delivery driver',
293
+ },
294
+ {
295
+ name: 'Otto',
296
+ occupation: 'Scientist',
297
+ },
298
+ {
299
+ name: 'Harry',
300
+ occupation: 'CEO',
301
+ },
302
+ {
303
+ name: 'James',
304
+ occupation: 'News reporter',
305
+ },
306
+ ],
307
+ remapper: {
308
+ 'array.omit': [3],
309
+ },
310
+ result: [
311
+ {
312
+ name: 'Peter',
313
+ occupation: 'Delivery driver',
314
+ },
315
+ {
316
+ name: 'Otto',
317
+ occupation: 'Scientist',
318
+ },
319
+ {
320
+ name: 'Harry',
321
+ occupation: 'CEO',
322
+ },
323
+ ],
324
+ },
325
+ 'array.unique': {
326
+ input: [1, 1, 2, 3],
327
+ remapper: {
328
+ 'array.unique': null,
329
+ },
330
+ result: [1, 2, 3],
331
+ },
332
+ 'array.flatten': {
333
+ input: [['Milka', 'Sven'], 'Goldie'],
334
+ remapper: {
335
+ 'array.flatten': null,
336
+ },
337
+ result: ['Milka', 'Sven', 'Goldie'],
338
+ },
339
+ 'assign.history': {
340
+ input: null,
341
+ remapper: {},
342
+ result: {},
343
+ skip: true,
344
+ },
345
+ context: {
346
+ input: null,
347
+ remapper: {},
348
+ result: {},
349
+ skip: true,
350
+ },
351
+ variable: {
352
+ input: null,
353
+ remapper: { variable: 'MY_VARIABLE' },
354
+ result: 'variable value',
355
+ skip: true,
356
+ },
357
+ 'number.parse': {
358
+ input: '42',
359
+ remapper: { 'number.parse': null },
360
+ result: 42,
361
+ skip: true,
362
+ },
363
+ 'date.add': {
364
+ input: '2023-06-30T14:50:19.601Z',
365
+ remapper: [
366
+ {
367
+ 'date.now': null,
368
+ },
369
+ {
370
+ 'date.add': '1w',
371
+ },
372
+ {
373
+ 'date.format': null,
374
+ },
375
+ ],
376
+ result: '2023-07-07T14:50:19.601Z',
377
+ skip: true,
378
+ },
379
+ 'date.format': {
380
+ input: '2023-07-03',
381
+ remapper: {
382
+ 'date.format': null,
383
+ },
384
+ result: '2023-07-02T22:00:00.000Z',
385
+ skip: true,
386
+ },
387
+ 'date.now': {
388
+ input: null,
389
+ remapper: {
390
+ 'date.now': null,
391
+ },
392
+ result: 'Mon Jul 03 2023 11:47:18 GMT+0200 (Midden-Europese zomertijd)',
393
+ skip: true,
394
+ },
395
+ 'date.parse': {
396
+ input: '02/11/2014',
397
+ remapper: {
398
+ 'date.parse': 'MM/dd/yyyy',
399
+ },
400
+ result: 'Tue Feb 11 2014 00:00:00',
401
+ skip: true,
402
+ },
403
+ equals: {
404
+ input: { inputValue: 'example', expectedValue: 'example' },
405
+ remapper: {
406
+ equals: [{ prop: 'inputValue' }, { prop: 'expectedValue' }],
407
+ },
408
+ result: true,
409
+ },
410
+ 'from.history': {
411
+ input: null,
412
+ remapper: {},
413
+ result: {},
414
+ skip: true,
415
+ },
416
+ gt: {
417
+ input: { stock: 100 },
418
+ remapper: { gt: [{ prop: 'stock' }, 5] },
419
+ result: true,
420
+ },
421
+ history: {
422
+ input: null,
423
+ remapper: {},
424
+ result: {},
425
+ skip: true,
426
+ },
427
+ ics: {
428
+ input: null,
429
+ remapper: {},
430
+ result: {},
431
+ skip: true,
432
+ },
433
+ 'if.then': {
434
+ input: { guess: 4 },
435
+ remapper: {
436
+ if: {
437
+ condition: {
438
+ equals: [
439
+ {
440
+ prop: 'guess',
441
+ },
442
+ 4,
443
+ ],
444
+ },
445
+ then: {
446
+ static: 'You guessed right!',
447
+ },
448
+ else: {
449
+ static: 'You guessed wrong!',
450
+ },
451
+ },
452
+ },
453
+ result: 'You guessed right!',
454
+ },
455
+ 'if.else': {
456
+ input: { guess: 5 },
457
+ remapper: {
458
+ if: {
459
+ condition: {
460
+ equals: [
461
+ {
462
+ prop: 'guess',
463
+ },
464
+ 4,
465
+ ],
466
+ },
467
+ then: {
468
+ static: 'You guessed right!',
469
+ },
470
+ else: {
471
+ static: 'You guessed wrong!',
472
+ },
473
+ },
474
+ },
475
+ result: 'You guessed wrong!',
476
+ },
477
+ log: {
478
+ input: null,
479
+ remapper: {},
480
+ result: {},
481
+ skip: true,
482
+ },
483
+ lt: {
484
+ input: { stock: 4 },
485
+ remapper: { lt: [{ prop: 'stock' }, 5] },
486
+ result: true,
487
+ },
488
+ match: {
489
+ input: { Gem: 'Ruby' },
490
+ remapper: {
491
+ match: [
492
+ {
493
+ case: {
494
+ equals: [
495
+ {
496
+ prop: 'Gem',
497
+ },
498
+ 'Diamond',
499
+ ],
500
+ },
501
+ value: 100,
502
+ },
503
+ {
504
+ case: {
505
+ equals: [
506
+ {
507
+ prop: 'Gem',
508
+ },
509
+ 'Ruby',
510
+ ],
511
+ },
512
+ value: 75,
513
+ },
514
+ {
515
+ case: {
516
+ equals: [
517
+ {
518
+ prop: 'Gem',
519
+ },
520
+ 'Gold',
521
+ ],
522
+ },
523
+ value: 50,
524
+ },
525
+ {
526
+ case: {
527
+ equals: [
528
+ {
529
+ prop: 'Gem',
530
+ },
531
+ 'Sapphire',
532
+ ],
533
+ },
534
+ value: 25,
535
+ result: {},
536
+ },
537
+ ],
538
+ },
539
+ result: 75,
540
+ },
541
+ not: {
542
+ input: { number: 3 },
543
+ remapper: { not: [{ prop: 'number' }, 4] },
544
+ result: true,
545
+ },
546
+ and: {
547
+ input: { foo: true },
548
+ remapper: { and: [{ prop: 'foo' }, true] },
549
+ result: true,
550
+ },
551
+ or: {
552
+ input: { foo: true },
553
+ remapper: { or: [{ prop: 'foo' }, false] },
554
+ result: true,
555
+ },
556
+ 'null.strip': {
557
+ input: null,
558
+ remapper: {},
559
+ result: {},
560
+ skip: true,
561
+ },
562
+ 'object.assign': {
563
+ input: {
564
+ title: 'Weekly fishing 21',
565
+ },
566
+ remapper: {
567
+ 'object.assign': {
568
+ author: 'John Doe',
569
+ },
570
+ },
571
+ result: {
572
+ author: 'John Doe',
573
+ title: 'Weekly fishing 21',
574
+ },
575
+ },
576
+ 'object.from': {
577
+ input: null,
578
+ remapper: {
579
+ 'object.from': {
580
+ email: 'example@hotmail.com',
581
+ username: 'Chris Taub',
582
+ },
583
+ },
584
+ result: {
585
+ email: 'example@hotmail.com',
586
+ username: 'Chris Taub',
587
+ },
588
+ },
589
+ 'object.omit': {
590
+ input: {
591
+ author: 'John Doe',
592
+ content: {
593
+ interview: '...',
594
+ introduction: 'This is the introduction for the new weekly fishing issue',
595
+ paragraph1: '...',
596
+ },
597
+ title: 'Weekly fishing 21',
598
+ },
599
+ remapper: {
600
+ 'object.omit': ['author', ['content', 'interview']],
601
+ },
602
+ result: {
603
+ content: {
604
+ introduction: 'This is the introduction for the new weekly fishing issue',
605
+ paragraph1: '...',
606
+ },
607
+ title: 'Weekly fishing 21',
608
+ },
609
+ },
610
+ 'object.compare': {
611
+ input: { name: 'Alice' },
612
+ remapper: {
613
+ 'object.compare': [
614
+ {
615
+ 'object.from': {
616
+ name: { prop: 'name' },
617
+ age: 25,
618
+ address: {
619
+ 'object.from': {
620
+ city: 'Paris',
621
+ zip: 7500,
622
+ },
623
+ },
624
+ favoriteColors: {
625
+ 'array.from': ['blue', 'green'],
626
+ },
627
+ },
628
+ },
629
+ {
630
+ 'object.from': {
631
+ name: 'Alice',
632
+ age: 26,
633
+ address: {
634
+ 'object.from': {
635
+ city: 'Lyon',
636
+ country: 'France',
637
+ },
638
+ },
639
+ favoriteColors: { 'array.from': ['red', 'green', 'blue'] },
640
+ },
641
+ },
642
+ ],
643
+ },
644
+ result: [
645
+ { path: ['age'], type: 'changed', from: 25, to: 26 },
646
+ {
647
+ path: ['favoriteColors'],
648
+ type: 'changed',
649
+ from: ['blue', 'green'],
650
+ to: ['red', 'green', 'blue'],
651
+ },
652
+ { path: ['address', 'city'], type: 'changed', from: 'Paris', to: 'Lyon' },
653
+ { path: ['address', 'zip'], type: 'removed', value: 7500 },
654
+ { path: ['address', 'country'], type: 'added', value: 'France' },
655
+ ],
656
+ },
657
+ 'object.explode': {
658
+ input: {
659
+ ownerName: 'John',
660
+ country: 'USA',
661
+ pets: [
662
+ { name: 'Milka' },
663
+ { name: 'Sven', country: 'Sweden' },
664
+ { name: 'Tom', likes: ['mice', 'fish'] },
665
+ { name: 'Jerry', looks: { color: 'brown' } },
666
+ ],
667
+ },
668
+ remapper: {
669
+ 'object.explode': 'pets',
670
+ },
671
+ result: [
672
+ { ownerName: 'John', name: 'Milka', country: 'USA' },
673
+ { ownerName: 'John', name: 'Sven', country: 'Sweden' },
674
+ { ownerName: 'John', name: 'Tom', country: 'USA', likes: ['mice', 'fish'] },
675
+ { ownerName: 'John', name: 'Jerry', country: 'USA', looks: { color: 'brown' } },
676
+ ],
677
+ },
678
+ 'omit.history': {
679
+ input: null,
680
+ remapper: {},
681
+ result: {},
682
+ skip: true,
683
+ },
684
+ page: {
685
+ input: null,
686
+ remapper: {},
687
+ result: {},
688
+ skip: true,
689
+ },
690
+ prop: {
691
+ input: {
692
+ age: 52,
693
+ name: 'John',
694
+ },
695
+ remapper: {
696
+ prop: 'name',
697
+ },
698
+ result: 'John',
699
+ },
700
+ 'random.choice': {
701
+ input: null,
702
+ remapper: {},
703
+ result: {},
704
+ skip: true,
705
+ },
706
+ 'random.float': {
707
+ input: null,
708
+ remapper: {},
709
+ result: {},
710
+ skip: true,
711
+ },
712
+ 'random.integer': {
713
+ input: null,
714
+ remapper: {},
715
+ result: {},
716
+ skip: true,
717
+ },
718
+ 'random.string': {
719
+ input: null,
720
+ remapper: {},
721
+ result: {},
722
+ skip: true,
723
+ },
724
+ root: {
725
+ input: 'input',
726
+ remapper: { root: null },
727
+ result: 'input',
728
+ },
729
+ static: {
730
+ input: null,
731
+ remapper: {
732
+ static: 'Hello!',
733
+ },
734
+ result: 'Hello!',
735
+ },
736
+ step: {
737
+ input: null,
738
+ remapper: {},
739
+ result: {},
740
+ skip: true,
741
+ },
742
+ 'tab.name': {
743
+ input: null,
744
+ remapper: {},
745
+ result: {},
746
+ skip: true,
747
+ },
748
+ 'string.case': {
749
+ input: 'Patrick',
750
+ remapper: {
751
+ 'string.case': 'upper',
752
+ },
753
+ result: 'PATRICK',
754
+ },
755
+ 'string.startsWith': {
756
+ input: 'Random string here',
757
+ remapper: {
758
+ 'string.startsWith': 'Random',
759
+ },
760
+ result: true,
761
+ },
762
+ 'string.endsWith': {
763
+ input: 'Random string here',
764
+ remapper: {
765
+ 'string.endsWith': {
766
+ substring: 'Here',
767
+ strict: false,
768
+ },
769
+ },
770
+ result: true,
771
+ },
772
+ slice: {
773
+ input: 'Laziness',
774
+ remapper: {
775
+ slice: [3, 6],
776
+ },
777
+ result: 'ine',
778
+ },
779
+ 'string.format': {
780
+ input: {
781
+ lotteryPrize: '5000',
782
+ },
783
+ remapper: {
784
+ 'string.format': {
785
+ template: 'You have won €{lotteryAmount} in the lottery!!',
786
+ values: {
787
+ lotteryAmount: {
788
+ prop: 'lotteryPrize',
789
+ },
790
+ },
791
+ },
792
+ },
793
+ result: 'You have won €5000 in the lottery!!',
794
+ },
795
+ 'string.replace': {
796
+ input: 'Eindhoven is the best city in the Netherlands',
797
+ remapper: {
798
+ 'string.replace': {
799
+ '(best*)\\w+': 'cleanest',
800
+ },
801
+ },
802
+ result: 'Eindhoven is the cleanest city in the Netherlands',
803
+ },
804
+ translate: {
805
+ input: null,
806
+ remapper: {},
807
+ result: {},
808
+ skip: true,
809
+ },
810
+ container: {
811
+ input: null,
812
+ remapper: {},
813
+ result: {},
814
+ skip: true,
815
+ },
816
+ 'filter.from': {
817
+ input: { exclude: 'Peter' },
818
+ remapper: {
819
+ 'filter.from': {
820
+ name: { type: 'String', comparator: 'ne', value: { prop: 'exclude' } },
821
+ age: { type: 'Number', comparator: 'lt', value: 10 },
822
+ height: { type: 'Number', comparator: 'le', value: 1.75 },
823
+ heightString: { type: 'Number', comparator: 'le', value: '1.75' },
824
+ birthday: { type: 'Date', comparator: 'ge', value: '2000-01-01' },
825
+ friendsSince: { type: 'Date', comparator: 'ge', value: '2014-01-01T00:00:00Z' },
826
+ job: { type: 'String', comparator: 'eq', value: null },
827
+ employed: { type: 'Boolean', comparator: 'eq', value: false },
828
+ id: { type: 'Guid', comparator: 'eq', value: '03a0a47b-e3a2-e311-9402-00155d104c24' },
829
+ undefined: { type: 'String', comparator: 'eq', value: undefined },
830
+ special: {
831
+ type: 'String',
832
+ comparator: 'eq',
833
+ value: 'Special character\'s "test" \\%&+?^/',
834
+ },
835
+ },
836
+ },
837
+ result: "name ne 'Peter' and age lt 10 and height le 1.75 and heightString le 1.75 and birthday ge 2000-01-01 and friendsSince ge 2014-01-01T00:00:00Z and job eq null and employed eq false and id eq 03a0a47b-e3a2-e311-9402-00155d104c24 and undefined eq null and special eq 'Special character''s \"test\" \\\\%&+?^/'",
838
+ },
839
+ 'order.from': {
840
+ input: null,
841
+ remapper: {
842
+ 'order.from': {
843
+ name: 'asc',
844
+ age: 'desc',
845
+ },
846
+ },
847
+ result: 'name asc,age desc',
848
+ },
849
+ 'xml.parse': {
850
+ input: {
851
+ xml: `
852
+ <obj>
853
+ <foo>bar</foo>
854
+ <item foo="bar">
855
+ <item foo="bar">
856
+ <text>text</text>
857
+ </item>
858
+ </item>
859
+ <item bar="baz">
860
+ <item bar="baz">
861
+ <text>text 2</text>
862
+ </item>
863
+ </item>
864
+ <item>
865
+ <item foo="bar">
866
+ <item foo="bar">
867
+ <text>text</text>
868
+ </item>
869
+ </item>
870
+ <item bar="baz">
871
+ <item bar="baz">
872
+ <text>text 2</text>
873
+ </item>
874
+ </item>
875
+ </item>
876
+ </obj>
877
+ `,
878
+ },
879
+ remapper: { 'xml.parse': { prop: 'xml' } },
880
+ result: {
881
+ obj: {
882
+ foo: 'bar',
883
+ item: [
884
+ {
885
+ foo: 'bar',
886
+ item: { foo: 'bar', text: 'text' },
887
+ },
888
+ {
889
+ bar: 'baz',
890
+ item: { bar: 'baz', text: 'text 2' },
891
+ },
892
+ {
893
+ item: [
894
+ {
895
+ foo: 'bar',
896
+ item: { foo: 'bar', text: 'text' },
897
+ },
898
+ {
899
+ bar: 'baz',
900
+ item: { bar: 'baz', text: 'text 2' },
901
+ },
902
+ ],
903
+ },
904
+ ],
905
+ },
906
+ },
907
+ },
908
+ defined: {
909
+ input: [0, '', false, undefined, null],
910
+ remapper: {
911
+ 'array.map': {
912
+ defined: { array: 'item' },
913
+ },
914
+ },
915
+ result: [true, true, true, false, false],
916
+ },
917
+ maths: {
918
+ input: { version: 0 },
919
+ remapper: {
920
+ maths: {
921
+ a: { prop: 'version' },
922
+ b: { static: 1 },
923
+ operation: 'add',
924
+ },
925
+ },
926
+ result: 1,
927
+ },
928
+ };
929
+ /**
930
+ * @param remapper The remapper example to use.
931
+ * @param options The options specifying how to display the example.
932
+ * @returns Example based on the input options.
933
+ */
934
+ export function schemaExample(remapper, options) {
935
+ const { exclude = [], input = 'inline', result } = options ?? {};
936
+ let example = '';
937
+ if (!exclude.includes('input')) {
938
+ const spacing = input === 'pretty' && 2;
939
+ example += `Input:\n\n\`\`\`json\n${JSON.stringify(examples[remapper].input, null, spacing || undefined)}\n\`\`\`\n`;
940
+ }
941
+ if (!exclude.includes('remapper')) {
942
+ example += `\`\`\`yaml\n${stringify(examples[remapper].remapper)}\n\`\`\`\n`;
943
+ }
944
+ if (!exclude.includes('result')) {
945
+ const spacing = result === 'pretty' && 2;
946
+ example += `Result:\n\n\`\`\`json\n${JSON.stringify(examples[remapper].result, null, spacing || undefined)}\n\`\`\`\n`;
947
+ }
948
+ return example;
949
+ }
950
+ export function createExampleContext(url, lang, userInfo, history) {
951
+ return {
952
+ getMessage: ({ defaultMessage }) => new IntlMessageFormat(defaultMessage ?? [], lang, undefined),
953
+ getVariable: (name) => (name === 'MY_VARIABLE' ? 'variable value' : undefined),
954
+ url: String(url),
955
+ appUrl: `${url.protocol}//example-app.example-organization.${url.host}`,
956
+ context: {},
957
+ history: history ?? ['Default example value'],
958
+ appId: 0,
959
+ locale: 'en',
960
+ pageData: { default: 'Page data' },
961
+ appMemberInfo: {
962
+ sub: 'default-example-id',
963
+ email: 'default-app-member@example.com',
964
+ email_verified: true,
965
+ name: 'default-example-name',
966
+ demo: false,
967
+ role: 'Member',
968
+ zoneinfo: 'Europe/Amsterdam',
969
+ properties: {
970
+ completedExamples: [],
971
+ },
972
+ },
973
+ };
974
+ }
975
+ //# sourceMappingURL=examples.js.map