@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
@@ -0,0 +1,145 @@
1
+ import { type OpenAPIV3 } from 'openapi-types';
2
+ import { type HTTPMethods } from './http.js';
3
+ import { type Remapper } from './remapper.js';
4
+ export type ResourceViewAction = 'get' | 'query';
5
+ export type OwnResourceAction = ResourceViewAction | 'delete' | 'patch' | 'update';
6
+ export type ResourceAction = ResourceViewAction | 'create' | 'delete' | 'history.get' | 'patch' | 'update.positions' | 'update';
7
+ export interface ResourceDefinition {
8
+ /**
9
+ * A definition of how versioning should happen for instances of this resource.
10
+ */
11
+ history?: ResourceHistoryDefinition | boolean;
12
+ /**
13
+ * Whether to enable position column for the instances of this resource. This is used for keeping
14
+ * an ordered list to enable custom sorting of the data using drag and drop features.
15
+ */
16
+ positioning?: boolean;
17
+ /**
18
+ * Enforce Custom Ordering By the fields.
19
+ */
20
+ enforceOrderingGroupByFields?: string[];
21
+ /**
22
+ * The definition for the `resource.create` action.
23
+ */
24
+ create?: ResourceCall;
25
+ /**
26
+ * The definition for the `resource.delete` action.
27
+ */
28
+ delete?: ResourceCall;
29
+ /**
30
+ * The definition for the `resource.get` action.
31
+ */
32
+ get?: ResourceCall;
33
+ /**
34
+ * The definition for the `resource.query` action.
35
+ */
36
+ query?: ResourceCall;
37
+ /**
38
+ * The definition for the `resource.count` action.
39
+ */
40
+ count?: ResourceCall;
41
+ /**
42
+ * The definition for the `resource.update` action.
43
+ */
44
+ update?: ResourceCall;
45
+ /**
46
+ * The definition for the `resource.patch` action.
47
+ */
48
+ patch?: ResourceCall;
49
+ /**
50
+ * The property to use as the id.
51
+ *
52
+ * @default `id`
53
+ */
54
+ id?: string;
55
+ /**
56
+ * The JSON schema to validate resources against before sending it to the backend.
57
+ */
58
+ schema: OpenAPIV3.SchemaObject;
59
+ /**
60
+ * The URL to post the resource to.
61
+ *
62
+ * @default autogenerated for use with the Appsemble resource API.
63
+ */
64
+ url?: string;
65
+ /**
66
+ * The alternate views of this resource.
67
+ */
68
+ views?: Record<string, ResourceView>;
69
+ /**
70
+ * The references this resources has to other resources.
71
+ */
72
+ references?: Record<string, ResourceReference>;
73
+ /**
74
+ * A time string representing when a resource should expire.
75
+ *
76
+ * @example '1d 8h 30m'
77
+ */
78
+ expires?: string;
79
+ /**
80
+ * Whether the resource should be able to be transferred when cloning the app it belongs to.
81
+ */
82
+ clonable?: boolean;
83
+ }
84
+ export interface ResourceReferenceActionTrigger {
85
+ type: 'create' | 'delete' | 'update';
86
+ cascade?: 'delete' | 'update';
87
+ }
88
+ interface ResourceReferenceAction {
89
+ triggers: ResourceReferenceActionTrigger[];
90
+ }
91
+ export interface ResourceReference {
92
+ /**
93
+ * The name of the referenced resource.
94
+ */
95
+ resource: string;
96
+ create?: ResourceReferenceAction;
97
+ update?: ResourceReferenceAction;
98
+ delete?: ResourceReferenceAction;
99
+ }
100
+ export interface ResourceHistoryDefinition {
101
+ /**
102
+ * If set to `false`, edits are still tracked, but exactly what changed is lost.
103
+ */
104
+ data: boolean;
105
+ }
106
+ export interface ResourceView {
107
+ /**
108
+ * The remappers used to transform the output.
109
+ */
110
+ remap: Remapper;
111
+ }
112
+ export interface NotificationDefinition {
113
+ to?: string[];
114
+ subscribe?: 'all' | 'both' | 'single';
115
+ data?: {
116
+ title: string;
117
+ content: string;
118
+ link: string;
119
+ };
120
+ }
121
+ /**
122
+ * A collection of hooks that are triggered upon calling a resource actions.
123
+ */
124
+ export interface ResourceHooks {
125
+ notification: NotificationDefinition;
126
+ }
127
+ export interface ResourceCall {
128
+ /**
129
+ * The HTTP method to use for making the HTTP request.
130
+ */
131
+ method?: HTTPMethods;
132
+ /**
133
+ * The URL to which to make the resource request.
134
+ */
135
+ url?: string;
136
+ /**
137
+ * The associated hooks with the resource action.
138
+ */
139
+ hooks?: ResourceHooks;
140
+ /**
141
+ * Query parameters to pass along with the request.
142
+ */
143
+ query?: Remapper;
144
+ }
145
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resource.js.map
@@ -0,0 +1,20 @@
1
+ import { AppPermission } from './permission.js';
2
+ export declare enum PredefinedAppRole {
3
+ Member = "Member",
4
+ MembersManager = "MembersManager",
5
+ GroupMembersManager = "GroupMembersManager",
6
+ GroupsManager = "GroupsManager",
7
+ ResourcesManager = "ResourcesManager",
8
+ Owner = "Owner"
9
+ }
10
+ export type AppRole = string;
11
+ export type ViewRole = AppRole | '$guest';
12
+ export declare const predefinedAppRolePermissions: {
13
+ Member: AppPermission[];
14
+ MembersManager: AppPermission[];
15
+ GroupMembersManager: AppPermission[];
16
+ GroupsManager: AppPermission[];
17
+ ResourcesManager: AppPermission[];
18
+ Owner: AppPermission[];
19
+ };
20
+ export declare const predefinedAppRoles: PredefinedAppRole[];
package/types/roles.js ADDED
@@ -0,0 +1,61 @@
1
+ import { AppPermission } from './permission.js';
2
+ const AppMemberPermissions = [];
3
+ const AppMembersManagerPermissions = [
4
+ ...AppMemberPermissions,
5
+ AppPermission.CreateAppInvites,
6
+ AppPermission.QueryAppMembers,
7
+ AppPermission.DeleteAppMembers,
8
+ AppPermission.UpdateAppMemberRoles,
9
+ AppPermission.PatchAppMemberProperties,
10
+ ];
11
+ const AppGroupMembersManagerPermissions = [
12
+ ...AppMemberPermissions,
13
+ AppPermission.CreateGroupInvites,
14
+ AppPermission.QueryGroupMembers,
15
+ AppPermission.RemoveGroupMembers,
16
+ AppPermission.UpdateGroupMemberRoles,
17
+ ];
18
+ const AppGroupsManagerPermissions = [
19
+ ...AppMemberPermissions,
20
+ ...AppGroupMembersManagerPermissions,
21
+ AppPermission.QueryGroups,
22
+ AppPermission.CreateGroups,
23
+ AppPermission.UpdateGroups,
24
+ AppPermission.DeleteGroups,
25
+ ];
26
+ const AppResourcesManagerPermissions = [
27
+ ...AppMemberPermissions,
28
+ AppPermission.CreateResources,
29
+ AppPermission.QueryResources,
30
+ AppPermission.GetResourceHistory,
31
+ AppPermission.GetResources,
32
+ AppPermission.UpdateResources,
33
+ AppPermission.PatchResources,
34
+ AppPermission.DeleteResources,
35
+ ];
36
+ const AppOwnerPermissions = [
37
+ ...AppMemberPermissions,
38
+ ...AppMembersManagerPermissions,
39
+ ...AppGroupMembersManagerPermissions,
40
+ ...AppGroupsManagerPermissions,
41
+ ...AppResourcesManagerPermissions,
42
+ ];
43
+ export var PredefinedAppRole;
44
+ (function (PredefinedAppRole) {
45
+ PredefinedAppRole["Member"] = "Member";
46
+ PredefinedAppRole["MembersManager"] = "MembersManager";
47
+ PredefinedAppRole["GroupMembersManager"] = "GroupMembersManager";
48
+ PredefinedAppRole["GroupsManager"] = "GroupsManager";
49
+ PredefinedAppRole["ResourcesManager"] = "ResourcesManager";
50
+ PredefinedAppRole["Owner"] = "Owner";
51
+ })(PredefinedAppRole || (PredefinedAppRole = {}));
52
+ export const predefinedAppRolePermissions = {
53
+ [PredefinedAppRole.Member]: AppMemberPermissions,
54
+ [PredefinedAppRole.MembersManager]: AppMembersManagerPermissions,
55
+ [PredefinedAppRole.GroupMembersManager]: AppGroupMembersManagerPermissions,
56
+ [PredefinedAppRole.GroupsManager]: AppGroupsManagerPermissions,
57
+ [PredefinedAppRole.ResourcesManager]: AppResourcesManagerPermissions,
58
+ [PredefinedAppRole.Owner]: AppOwnerPermissions,
59
+ };
60
+ export const predefinedAppRoles = Object.values(PredefinedAppRole);
61
+ //# sourceMappingURL=roles.js.map
@@ -0,0 +1,42 @@
1
+ import { type AppPermission } from './permission.js';
2
+ import { type OwnResourceAction, type ResourceAction, type ResourceViewAction } from './resource.js';
3
+ import { type AppRole, type PredefinedAppRole } from './roles.js';
4
+ export type CustomAppResourcePermission = `$resource:${string}:${ResourceAction}`;
5
+ export type CustomAppOwnResourcePermission = `$resource:${string}:own:${OwnResourceAction}`;
6
+ export type CustomAppResourceViewPermission = `$resource:${string}:${ResourceViewAction}:${string}`;
7
+ export type CustomAppGuestPermission = AppPermission | CustomAppResourcePermission | CustomAppResourceViewPermission;
8
+ export type CustomAppPermission = CustomAppGuestPermission | CustomAppOwnResourcePermission;
9
+ export interface GuestDefinition {
10
+ permissions?: CustomAppPermission[];
11
+ inherits?: AppRole[];
12
+ }
13
+ export interface CronSecurityDefinition {
14
+ permissions?: CustomAppPermission[];
15
+ inherits?: AppRole[];
16
+ }
17
+ export interface RoleDefinition {
18
+ description?: string;
19
+ defaultPage?: string;
20
+ inherits?: AppRole[];
21
+ permissions?: CustomAppPermission[];
22
+ }
23
+ export type SecurityPolicy = 'everyone' | 'invite' | 'organization';
24
+ export interface MinimalSecurity {
25
+ guest: GuestDefinition;
26
+ cron?: CronSecurityDefinition;
27
+ default?: {
28
+ role: AppRole;
29
+ policy?: SecurityPolicy;
30
+ };
31
+ roles?: Record<Exclude<string, PredefinedAppRole>, RoleDefinition>;
32
+ }
33
+ export interface StrictSecurity {
34
+ guest?: GuestDefinition;
35
+ cron?: CronSecurityDefinition;
36
+ default: {
37
+ role: AppRole;
38
+ policy?: SecurityPolicy;
39
+ };
40
+ roles: Record<string, RoleDefinition>;
41
+ }
42
+ export type Security = MinimalSecurity | StrictSecurity;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1,54 @@
1
+ export interface FontDefinition {
2
+ /**
3
+ * Where to load a font from.
4
+ */
5
+ source?: 'custom' | 'google';
6
+ /**
7
+ * The name of the font family.
8
+ *
9
+ * This will be referenced in the Bulma CSS.
10
+ */
11
+ family: string;
12
+ }
13
+ export interface Theme {
14
+ /**
15
+ * The color primarily featured in the color scheme.
16
+ */
17
+ primaryColor: string;
18
+ /**
19
+ * The color used for links.
20
+ */
21
+ linkColor: string;
22
+ /**
23
+ * The color used to feature successful or positive actions.
24
+ */
25
+ successColor: string;
26
+ /**
27
+ * The color used to indicate information.
28
+ */
29
+ infoColor: string;
30
+ /**
31
+ * The color used for elements that require extra attention.
32
+ */
33
+ warningColor: string;
34
+ /**
35
+ * The color used for elements that demand caution for destructive actions.
36
+ */
37
+ dangerColor: string;
38
+ /**
39
+ * The color used in the foreground of the splash screen.
40
+ */
41
+ themeColor: string;
42
+ /**
43
+ * The color used in the background of the splash screen.
44
+ */
45
+ splashColor: string;
46
+ /**
47
+ * The link to the tile layer used for Leaflet maps.
48
+ */
49
+ tileLayer: string;
50
+ /**
51
+ * The name of a font available on Google fonts.
52
+ */
53
+ font: FontDefinition;
54
+ }
package/types/theme.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1,25 @@
1
+ import { type ValidatorResult } from 'jsonschema';
2
+ import { type Promisable } from 'type-fest';
3
+ import { type IdentifiableBlock } from './blockUtils.js';
4
+ import { type AppDefinition, type BlockManifest, type ProjectImplementations, type Remapper } from './types/index.js';
5
+ /**
6
+ * Check whether or not the given link represents a link related to the Appsemble core.
7
+ *
8
+ * @param link The link to check
9
+ * @returns Whether or not the given link represents a link related to the Appsemble core.
10
+ */
11
+ export declare function isAppLink(link: Remapper | string[] | string): boolean;
12
+ export type BlockVersionsGetter = (blockMap: IdentifiableBlock[]) => Promisable<BlockManifest[]>;
13
+ /**
14
+ * Validate an app definition.
15
+ *
16
+ * This check various conditions which can’t be validated using basic JSON schema validation.
17
+ *
18
+ * @param definition The app validation to check.
19
+ * @param getBlockVersions A function for getting block manifests from block versions.
20
+ * @param controllerImplementations App controller implementations of interfaces.
21
+ * @param validatorResult If specified, error messages will be applied to this existing validator
22
+ * result.
23
+ * @returns A validator result which contains all app validation violations.
24
+ */
25
+ export declare function validateAppDefinition(definition: AppDefinition, getBlockVersions: BlockVersionsGetter, controllerImplementations?: ProjectImplementations, validatorResult?: ValidatorResult): Promise<ValidatorResult>;