@nocobase/plugin-workflow 1.2.13-alpha → 1.3.0-alpha.20240710084543

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 (247) hide show
  1. package/package.json +3 -3
  2. package/dist/client/AddButton.d.ts +0 -16
  3. package/dist/client/Branch.d.ts +0 -17
  4. package/dist/client/CanvasContent.d.ts +0 -12
  5. package/dist/client/ExecutionCanvas.d.ts +0 -10
  6. package/dist/client/ExecutionContextProvider.d.ts +0 -15
  7. package/dist/client/ExecutionLink.d.ts +0 -10
  8. package/dist/client/ExecutionPage.d.ts +0 -10
  9. package/dist/client/ExecutionResourceProvider.d.ts +0 -14
  10. package/dist/client/FlowContext.d.ts +0 -11
  11. package/dist/client/WorkflowCanvas.d.ts +0 -10
  12. package/dist/client/WorkflowLink.d.ts +0 -10
  13. package/dist/client/WorkflowPage.d.ts +0 -10
  14. package/dist/client/WorkflowPane.d.ts +0 -10
  15. package/dist/client/components/AssignedFieldsFormSchemaConfig.d.ts +0 -10
  16. package/dist/client/components/CheckboxGroupWithTooltip.d.ts +0 -15
  17. package/dist/client/components/CollectionBlockInitializer.d.ts +0 -10
  18. package/dist/client/components/CollectionFieldset.d.ts +0 -14
  19. package/dist/client/components/DetailsBlockProvider.d.ts +0 -14
  20. package/dist/client/components/DrawerDescription.d.ts +0 -10
  21. package/dist/client/components/DrawerForm.d.ts +0 -13
  22. package/dist/client/components/ExecutionStatus.d.ts +0 -13
  23. package/dist/client/components/FieldsSelect.d.ts +0 -10
  24. package/dist/client/components/FilterDynamicComponent.d.ts +0 -14
  25. package/dist/client/components/OpenDrawer.d.ts +0 -14
  26. package/dist/client/components/RadioWithTooltip.d.ts +0 -15
  27. package/dist/client/components/SimpleDesigner.d.ts +0 -10
  28. package/dist/client/components/StatusButton.d.ts +0 -10
  29. package/dist/client/components/TriggerOptionRender.d.ts +0 -12
  30. package/dist/client/components/ValueBlock.d.ts +0 -14
  31. package/dist/client/components/index.d.ts +0 -16
  32. package/dist/client/components/renderEngineReference.d.ts +0 -10
  33. package/dist/client/constants.d.ts +0 -45
  34. package/dist/client/hooks/index.d.ts +0 -11
  35. package/dist/client/hooks/useGetAriaLabelOfAddButton.d.ts +0 -14
  36. package/dist/client/hooks/useRefreshActionProps.d.ts +0 -11
  37. package/dist/client/hooks/useTriggerWorkflowActionProps.d.ts +0 -20
  38. package/dist/client/hooks/useWorkflowExecuted.d.ts +0 -10
  39. package/dist/client/index.d.ts +0 -43
  40. package/dist/client/index.js +0 -569
  41. package/dist/client/locale/index.d.ts +0 -11
  42. package/dist/client/nodes/calculation.d.ts +0 -80
  43. package/dist/client/nodes/condition.d.ts +0 -108
  44. package/dist/client/nodes/create.d.ts +0 -110
  45. package/dist/client/nodes/destroy.d.ts +0 -54
  46. package/dist/client/nodes/end.d.ts +0 -30
  47. package/dist/client/nodes/index.d.ts +0 -76
  48. package/dist/client/nodes/query.d.ts +0 -236
  49. package/dist/client/nodes/update.d.ts +0 -114
  50. package/dist/client/schemas/collection.d.ts +0 -170
  51. package/dist/client/schemas/executions.d.ts +0 -282
  52. package/dist/client/schemas/workflows.d.ts +0 -10
  53. package/dist/client/settings/customizeSubmitToWorkflowActionSettings.d.ts +0 -10
  54. package/dist/client/style.d.ts +0 -30
  55. package/dist/client/triggers/collection.d.ts +0 -124
  56. package/dist/client/triggers/index.d.ts +0 -36
  57. package/dist/client/triggers/schedule/EndsByField.d.ts +0 -13
  58. package/dist/client/triggers/schedule/OnField.d.ts +0 -13
  59. package/dist/client/triggers/schedule/RepeatField.d.ts +0 -13
  60. package/dist/client/triggers/schedule/ScheduleConfig.d.ts +0 -10
  61. package/dist/client/triggers/schedule/constants.d.ts +0 -12
  62. package/dist/client/triggers/schedule/index.d.ts +0 -33
  63. package/dist/client/triggers/schedule/locale/Cron.zh-CN.d.ts +0 -42
  64. package/dist/client/utils.d.ts +0 -12
  65. package/dist/client/variable.d.ts +0 -93
  66. package/dist/externalVersion.js +0 -34
  67. package/dist/index.d.ts +0 -10
  68. package/dist/index.js +0 -48
  69. package/dist/locale/en-US.json +0 -98
  70. package/dist/locale/es-ES.json +0 -98
  71. package/dist/locale/fr-FR.json +0 -98
  72. package/dist/locale/ja-JP.json +0 -82
  73. package/dist/locale/ko_KR.json +0 -168
  74. package/dist/locale/pt-BR.json +0 -98
  75. package/dist/locale/ru-RU.json +0 -82
  76. package/dist/locale/tr-TR.json +0 -82
  77. package/dist/locale/zh-CN.json +0 -205
  78. package/dist/node_modules/cron-parser/.eslintrc.json +0 -15
  79. package/dist/node_modules/cron-parser/.travis.yml +0 -7
  80. package/dist/node_modules/cron-parser/LICENSE +0 -21
  81. package/dist/node_modules/cron-parser/component.json +0 -11
  82. package/dist/node_modules/cron-parser/index.d.ts +0 -1
  83. package/dist/node_modules/cron-parser/lib/date.js +0 -252
  84. package/dist/node_modules/cron-parser/lib/expression.js +0 -983
  85. package/dist/node_modules/cron-parser/lib/field_compactor.js +0 -70
  86. package/dist/node_modules/cron-parser/lib/field_stringify.js +0 -38
  87. package/dist/node_modules/cron-parser/lib/parser.js +0 -1
  88. package/dist/node_modules/cron-parser/node_modules/luxon/build/amd/luxon.js +0 -8489
  89. package/dist/node_modules/cron-parser/node_modules/luxon/build/cjs-browser/luxon.js +0 -8487
  90. package/dist/node_modules/cron-parser/node_modules/luxon/build/global/luxon.js +0 -8490
  91. package/dist/node_modules/cron-parser/node_modules/luxon/build/global/luxon.min.js +0 -1
  92. package/dist/node_modules/cron-parser/node_modules/luxon/build/node/luxon.js +0 -7522
  93. package/dist/node_modules/cron-parser/node_modules/luxon/package.json +0 -96
  94. package/dist/node_modules/cron-parser/node_modules/luxon/src/datetime.js +0 -2169
  95. package/dist/node_modules/cron-parser/node_modules/luxon/src/duration.js +0 -880
  96. package/dist/node_modules/cron-parser/node_modules/luxon/src/errors.js +0 -61
  97. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/conversions.js +0 -157
  98. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/diff.js +0 -80
  99. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/digits.js +0 -76
  100. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/english.js +0 -233
  101. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/formats.js +0 -191
  102. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/formatter.js +0 -386
  103. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/invalid.js +0 -14
  104. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/locale.js +0 -482
  105. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/regexParser.js +0 -335
  106. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/tokenParser.js +0 -424
  107. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/util.js +0 -292
  108. package/dist/node_modules/cron-parser/node_modules/luxon/src/impl/zoneUtil.js +0 -36
  109. package/dist/node_modules/cron-parser/node_modules/luxon/src/info.js +0 -193
  110. package/dist/node_modules/cron-parser/node_modules/luxon/src/interval.js +0 -602
  111. package/dist/node_modules/cron-parser/node_modules/luxon/src/luxon.js +0 -26
  112. package/dist/node_modules/cron-parser/node_modules/luxon/src/luxonFilled.js +0 -13
  113. package/dist/node_modules/cron-parser/node_modules/luxon/src/settings.js +0 -137
  114. package/dist/node_modules/cron-parser/node_modules/luxon/src/zone.js +0 -88
  115. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/IANAZone.js +0 -191
  116. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/fixedOffsetZone.js +0 -94
  117. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/invalidZone.js +0 -53
  118. package/dist/node_modules/cron-parser/node_modules/luxon/src/zones/localZone.js +0 -63
  119. package/dist/node_modules/cron-parser/package.json +0 -1
  120. package/dist/node_modules/cron-parser/test/31_of_month.js +0 -17
  121. package/dist/node_modules/cron-parser/test/bug.js +0 -29
  122. package/dist/node_modules/cron-parser/test/crondate.js +0 -16
  123. package/dist/node_modules/cron-parser/test/crontab.example +0 -7
  124. package/dist/node_modules/cron-parser/test/empty_around_comma.js +0 -22
  125. package/dist/node_modules/cron-parser/test/expression.js +0 -1489
  126. package/dist/node_modules/cron-parser/test/field_compactor.js +0 -250
  127. package/dist/node_modules/cron-parser/test/field_stringify.js +0 -84
  128. package/dist/node_modules/cron-parser/test/fields.js +0 -32
  129. package/dist/node_modules/cron-parser/test/increment_on_first_iteration.js +0 -22
  130. package/dist/node_modules/cron-parser/test/index-ts3.test-d.ts +0 -133
  131. package/dist/node_modules/cron-parser/test/index.test-d.ts +0 -138
  132. package/dist/node_modules/cron-parser/test/leap_year.js +0 -17
  133. package/dist/node_modules/cron-parser/test/parser.js +0 -46
  134. package/dist/node_modules/cron-parser/test/parser_crondate_formats.js +0 -145
  135. package/dist/node_modules/cron-parser/test/parser_day_of_month.js +0 -169
  136. package/dist/node_modules/cron-parser/test/prev_date.js +0 -32
  137. package/dist/node_modules/cron-parser/test/stringify.js +0 -402
  138. package/dist/node_modules/cron-parser/test/timezone.js +0 -422
  139. package/dist/node_modules/cron-parser/types/common.d.ts +0 -131
  140. package/dist/node_modules/cron-parser/types/index.d.ts +0 -45
  141. package/dist/node_modules/cron-parser/types/ts3/index.d.ts +0 -28
  142. package/dist/node_modules/lru-cache/LICENSE +0 -15
  143. package/dist/node_modules/lru-cache/dist/cjs/index-cjs.d.ts +0 -7
  144. package/dist/node_modules/lru-cache/dist/cjs/index-cjs.js +0 -1
  145. package/dist/node_modules/lru-cache/dist/cjs/index.d.ts +0 -807
  146. package/dist/node_modules/lru-cache/dist/cjs/index.js +0 -1334
  147. package/dist/node_modules/lru-cache/dist/cjs/index.min.js +0 -2
  148. package/dist/node_modules/lru-cache/dist/cjs/package.json +0 -3
  149. package/dist/node_modules/lru-cache/dist/mjs/index.d.ts +0 -807
  150. package/dist/node_modules/lru-cache/dist/mjs/index.js +0 -1330
  151. package/dist/node_modules/lru-cache/dist/mjs/index.min.js +0 -2
  152. package/dist/node_modules/lru-cache/dist/mjs/package.json +0 -3
  153. package/dist/node_modules/lru-cache/package.json +0 -1
  154. package/dist/server/Plugin.d.ts +0 -84
  155. package/dist/server/Plugin.js +0 -503
  156. package/dist/server/Processor.d.ts +0 -115
  157. package/dist/server/Processor.js +0 -363
  158. package/dist/server/actions/executions.d.ts +0 -11
  159. package/dist/server/actions/executions.js +0 -96
  160. package/dist/server/actions/index.d.ts +0 -11
  161. package/dist/server/actions/index.js +0 -66
  162. package/dist/server/actions/nodes.d.ts +0 -12
  163. package/dist/server/actions/nodes.js +0 -217
  164. package/dist/server/actions/workflows.d.ts +0 -14
  165. package/dist/server/actions/workflows.js +0 -184
  166. package/dist/server/collections/executions.d.ts +0 -11
  167. package/dist/server/collections/executions.js +0 -66
  168. package/dist/server/collections/flow_nodes.d.ts +0 -11
  169. package/dist/server/collections/flow_nodes.js +0 -87
  170. package/dist/server/collections/jobs.d.ts +0 -11
  171. package/dist/server/collections/jobs.js +0 -66
  172. package/dist/server/collections/workflows.d.ts +0 -10
  173. package/dist/server/collections/workflows.js +0 -126
  174. package/dist/server/constants.d.ts +0 -29
  175. package/dist/server/constants.js +0 -58
  176. package/dist/server/functions/index.d.ts +0 -17
  177. package/dist/server/functions/index.js +0 -40
  178. package/dist/server/index.d.ts +0 -15
  179. package/dist/server/index.js +0 -60
  180. package/dist/server/instructions/CalculationInstruction.d.ts +0 -25
  181. package/dist/server/instructions/CalculationInstruction.js +0 -59
  182. package/dist/server/instructions/ConditionInstruction.d.ts +0 -36
  183. package/dist/server/instructions/ConditionInstruction.js +0 -167
  184. package/dist/server/instructions/CreateInstruction.d.ts +0 -18
  185. package/dist/server/instructions/CreateInstruction.js +0 -75
  186. package/dist/server/instructions/DestroyInstruction.d.ts +0 -18
  187. package/dist/server/instructions/DestroyInstruction.js +0 -59
  188. package/dist/server/instructions/EndInstruction.d.ts +0 -14
  189. package/dist/server/instructions/EndInstruction.js +0 -55
  190. package/dist/server/instructions/QueryInstruction.d.ts +0 -21
  191. package/dist/server/instructions/QueryInstruction.js +0 -82
  192. package/dist/server/instructions/UpdateInstruction.d.ts +0 -18
  193. package/dist/server/instructions/UpdateInstruction.js +0 -59
  194. package/dist/server/instructions/index.d.ts +0 -31
  195. package/dist/server/instructions/index.js +0 -42
  196. package/dist/server/migrations/20221129153547-calculation-variables.d.ts +0 -14
  197. package/dist/server/migrations/20221129153547-calculation-variables.js +0 -92
  198. package/dist/server/migrations/20230221032941-change-request-body-type.d.ts +0 -14
  199. package/dist/server/migrations/20230221032941-change-request-body-type.js +0 -102
  200. package/dist/server/migrations/20230221071831-calculation-expression.d.ts +0 -13
  201. package/dist/server/migrations/20230221071831-calculation-expression.js +0 -121
  202. package/dist/server/migrations/20230221121203-condition-calculation.d.ts +0 -13
  203. package/dist/server/migrations/20230221121203-condition-calculation.js +0 -106
  204. package/dist/server/migrations/20230221162902-jsonb-to-json.d.ts +0 -13
  205. package/dist/server/migrations/20230221162902-jsonb-to-json.js +0 -63
  206. package/dist/server/migrations/20230411034722-manual-multi-form.d.ts +0 -13
  207. package/dist/server/migrations/20230411034722-manual-multi-form.js +0 -283
  208. package/dist/server/migrations/20230612021134-manual-collection-block.d.ts +0 -13
  209. package/dist/server/migrations/20230612021134-manual-collection-block.js +0 -152
  210. package/dist/server/migrations/20230710115902-manual-action-values.d.ts +0 -13
  211. package/dist/server/migrations/20230710115902-manual-action-values.js +0 -101
  212. package/dist/server/migrations/20230809113132-workflow-options.d.ts +0 -13
  213. package/dist/server/migrations/20230809113132-workflow-options.js +0 -64
  214. package/dist/server/migrations/20231024172342-add-node-key.d.ts +0 -13
  215. package/dist/server/migrations/20231024172342-add-node-key.js +0 -90
  216. package/dist/server/migrations/20231122143143-split-to-plugins.d.ts +0 -13
  217. package/dist/server/migrations/20231122143143-split-to-plugins.js +0 -67
  218. package/dist/server/migrations/20240115220721-add-node-key-to-job.d.ts +0 -14
  219. package/dist/server/migrations/20240115220721-add-node-key-to-job.js +0 -63
  220. package/dist/server/migrations/20240613222612-fix-assign-field-config.d.ts +0 -13
  221. package/dist/server/migrations/20240613222612-fix-assign-field-config.js +0 -62
  222. package/dist/server/triggers/CollectionTrigger.d.ts +0 -22
  223. package/dist/server/triggers/CollectionTrigger.js +0 -184
  224. package/dist/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.d.ts +0 -39
  225. package/dist/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.js +0 -356
  226. package/dist/server/triggers/ScheduleTrigger/StaticScheduleTrigger.d.ts +0 -21
  227. package/dist/server/triggers/ScheduleTrigger/StaticScheduleTrigger.js +0 -152
  228. package/dist/server/triggers/ScheduleTrigger/index.d.ts +0 -18
  229. package/dist/server/triggers/ScheduleTrigger/index.js +0 -84
  230. package/dist/server/triggers/ScheduleTrigger/utils.d.ts +0 -13
  231. package/dist/server/triggers/ScheduleTrigger/utils.js +0 -44
  232. package/dist/server/triggers/index.d.ts +0 -21
  233. package/dist/server/triggers/index.js +0 -46
  234. package/dist/server/types/Execution.d.ts +0 -25
  235. package/dist/server/types/Execution.js +0 -34
  236. package/dist/server/types/FlowNode.d.ts +0 -24
  237. package/dist/server/types/FlowNode.js +0 -34
  238. package/dist/server/types/Job.d.ts +0 -22
  239. package/dist/server/types/Job.js +0 -34
  240. package/dist/server/types/Workflow.d.ts +0 -35
  241. package/dist/server/types/Workflow.js +0 -34
  242. package/dist/server/types/index.d.ts +0 -12
  243. package/dist/server/types/index.js +0 -24
  244. package/dist/server/utils.d.ts +0 -9
  245. package/dist/server/utils.js +0 -51
  246. package/dist/swagger/index.d.ts +0 -762
  247. package/dist/swagger/index.js +0 -807
@@ -1,191 +0,0 @@
1
- /**
2
- * @private
3
- */
4
-
5
- const n = "numeric",
6
- s = "short",
7
- l = "long";
8
-
9
- export const DATE_SHORT = {
10
- year: n,
11
- month: n,
12
- day: n
13
- };
14
-
15
- export const DATE_MED = {
16
- year: n,
17
- month: s,
18
- day: n
19
- };
20
-
21
- export const DATE_MED_WITH_WEEKDAY = {
22
- year: n,
23
- month: s,
24
- day: n,
25
- weekday: s
26
- };
27
-
28
- export const DATE_FULL = {
29
- year: n,
30
- month: l,
31
- day: n
32
- };
33
-
34
- export const DATE_HUGE = {
35
- year: n,
36
- month: l,
37
- day: n,
38
- weekday: l
39
- };
40
-
41
- export const TIME_SIMPLE = {
42
- hour: n,
43
- minute: n
44
- };
45
-
46
- export const TIME_WITH_SECONDS = {
47
- hour: n,
48
- minute: n,
49
- second: n
50
- };
51
-
52
- export const TIME_WITH_SHORT_OFFSET = {
53
- hour: n,
54
- minute: n,
55
- second: n,
56
- timeZoneName: s
57
- };
58
-
59
- export const TIME_WITH_LONG_OFFSET = {
60
- hour: n,
61
- minute: n,
62
- second: n,
63
- timeZoneName: l
64
- };
65
-
66
- export const TIME_24_SIMPLE = {
67
- hour: n,
68
- minute: n,
69
- hour12: false
70
- };
71
-
72
- /**
73
- * {@link toLocaleString}; format like '09:30:23', always 24-hour.
74
- */
75
- export const TIME_24_WITH_SECONDS = {
76
- hour: n,
77
- minute: n,
78
- second: n,
79
- hour12: false
80
- };
81
-
82
- /**
83
- * {@link toLocaleString}; format like '09:30:23 EDT', always 24-hour.
84
- */
85
- export const TIME_24_WITH_SHORT_OFFSET = {
86
- hour: n,
87
- minute: n,
88
- second: n,
89
- hour12: false,
90
- timeZoneName: s
91
- };
92
-
93
- /**
94
- * {@link toLocaleString}; format like '09:30:23 Eastern Daylight Time', always 24-hour.
95
- */
96
- export const TIME_24_WITH_LONG_OFFSET = {
97
- hour: n,
98
- minute: n,
99
- second: n,
100
- hour12: false,
101
- timeZoneName: l
102
- };
103
-
104
- /**
105
- * {@link toLocaleString}; format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.
106
- */
107
- export const DATETIME_SHORT = {
108
- year: n,
109
- month: n,
110
- day: n,
111
- hour: n,
112
- minute: n
113
- };
114
-
115
- /**
116
- * {@link toLocaleString}; format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.
117
- */
118
- export const DATETIME_SHORT_WITH_SECONDS = {
119
- year: n,
120
- month: n,
121
- day: n,
122
- hour: n,
123
- minute: n,
124
- second: n
125
- };
126
-
127
- export const DATETIME_MED = {
128
- year: n,
129
- month: s,
130
- day: n,
131
- hour: n,
132
- minute: n
133
- };
134
-
135
- export const DATETIME_MED_WITH_SECONDS = {
136
- year: n,
137
- month: s,
138
- day: n,
139
- hour: n,
140
- minute: n,
141
- second: n
142
- };
143
-
144
- export const DATETIME_MED_WITH_WEEKDAY = {
145
- year: n,
146
- month: s,
147
- day: n,
148
- weekday: s,
149
- hour: n,
150
- minute: n
151
- };
152
-
153
- export const DATETIME_FULL = {
154
- year: n,
155
- month: l,
156
- day: n,
157
- hour: n,
158
- minute: n,
159
- timeZoneName: s
160
- };
161
-
162
- export const DATETIME_FULL_WITH_SECONDS = {
163
- year: n,
164
- month: l,
165
- day: n,
166
- hour: n,
167
- minute: n,
168
- second: n,
169
- timeZoneName: s
170
- };
171
-
172
- export const DATETIME_HUGE = {
173
- year: n,
174
- month: l,
175
- day: n,
176
- weekday: l,
177
- hour: n,
178
- minute: n,
179
- timeZoneName: l
180
- };
181
-
182
- export const DATETIME_HUGE_WITH_SECONDS = {
183
- year: n,
184
- month: l,
185
- day: n,
186
- weekday: l,
187
- hour: n,
188
- minute: n,
189
- second: n,
190
- timeZoneName: l
191
- };
@@ -1,386 +0,0 @@
1
- import * as English from "./english.js";
2
- import * as Formats from "./formats.js";
3
- import { hasFormatToParts, padStart } from "./util.js";
4
-
5
- function stringifyTokens(splits, tokenToString) {
6
- let s = "";
7
- for (const token of splits) {
8
- if (token.literal) {
9
- s += token.val;
10
- } else {
11
- s += tokenToString(token.val);
12
- }
13
- }
14
- return s;
15
- }
16
-
17
- const macroTokenToFormatOpts = {
18
- D: Formats.DATE_SHORT,
19
- DD: Formats.DATE_MED,
20
- DDD: Formats.DATE_FULL,
21
- DDDD: Formats.DATE_HUGE,
22
- t: Formats.TIME_SIMPLE,
23
- tt: Formats.TIME_WITH_SECONDS,
24
- ttt: Formats.TIME_WITH_SHORT_OFFSET,
25
- tttt: Formats.TIME_WITH_LONG_OFFSET,
26
- T: Formats.TIME_24_SIMPLE,
27
- TT: Formats.TIME_24_WITH_SECONDS,
28
- TTT: Formats.TIME_24_WITH_SHORT_OFFSET,
29
- TTTT: Formats.TIME_24_WITH_LONG_OFFSET,
30
- f: Formats.DATETIME_SHORT,
31
- ff: Formats.DATETIME_MED,
32
- fff: Formats.DATETIME_FULL,
33
- ffff: Formats.DATETIME_HUGE,
34
- F: Formats.DATETIME_SHORT_WITH_SECONDS,
35
- FF: Formats.DATETIME_MED_WITH_SECONDS,
36
- FFF: Formats.DATETIME_FULL_WITH_SECONDS,
37
- FFFF: Formats.DATETIME_HUGE_WITH_SECONDS
38
- };
39
-
40
- /**
41
- * @private
42
- */
43
-
44
- export default class Formatter {
45
- static create(locale, opts = {}) {
46
- return new Formatter(locale, opts);
47
- }
48
-
49
- static parseFormat(fmt) {
50
- let current = null,
51
- currentFull = "",
52
- bracketed = false;
53
- const splits = [];
54
- for (let i = 0; i < fmt.length; i++) {
55
- const c = fmt.charAt(i);
56
- if (c === "'") {
57
- if (currentFull.length > 0) {
58
- splits.push({ literal: bracketed, val: currentFull });
59
- }
60
- current = null;
61
- currentFull = "";
62
- bracketed = !bracketed;
63
- } else if (bracketed) {
64
- currentFull += c;
65
- } else if (c === current) {
66
- currentFull += c;
67
- } else {
68
- if (currentFull.length > 0) {
69
- splits.push({ literal: false, val: currentFull });
70
- }
71
- currentFull = c;
72
- current = c;
73
- }
74
- }
75
-
76
- if (currentFull.length > 0) {
77
- splits.push({ literal: bracketed, val: currentFull });
78
- }
79
-
80
- return splits;
81
- }
82
-
83
- static macroTokenToFormatOpts(token) {
84
- return macroTokenToFormatOpts[token];
85
- }
86
-
87
- constructor(locale, formatOpts) {
88
- this.opts = formatOpts;
89
- this.loc = locale;
90
- this.systemLoc = null;
91
- }
92
-
93
- formatWithSystemDefault(dt, opts) {
94
- if (this.systemLoc === null) {
95
- this.systemLoc = this.loc.redefaultToSystem();
96
- }
97
- const df = this.systemLoc.dtFormatter(dt, Object.assign({}, this.opts, opts));
98
- return df.format();
99
- }
100
-
101
- formatDateTime(dt, opts = {}) {
102
- const df = this.loc.dtFormatter(dt, Object.assign({}, this.opts, opts));
103
- return df.format();
104
- }
105
-
106
- formatDateTimeParts(dt, opts = {}) {
107
- const df = this.loc.dtFormatter(dt, Object.assign({}, this.opts, opts));
108
- return df.formatToParts();
109
- }
110
-
111
- resolvedOptions(dt, opts = {}) {
112
- const df = this.loc.dtFormatter(dt, Object.assign({}, this.opts, opts));
113
- return df.resolvedOptions();
114
- }
115
-
116
- num(n, p = 0) {
117
- // we get some perf out of doing this here, annoyingly
118
- if (this.opts.forceSimple) {
119
- return padStart(n, p);
120
- }
121
-
122
- const opts = Object.assign({}, this.opts);
123
-
124
- if (p > 0) {
125
- opts.padTo = p;
126
- }
127
-
128
- return this.loc.numberFormatter(opts).format(n);
129
- }
130
-
131
- formatDateTimeFromString(dt, fmt) {
132
- const knownEnglish = this.loc.listingMode() === "en",
133
- useDateTimeFormatter =
134
- this.loc.outputCalendar && this.loc.outputCalendar !== "gregory" && hasFormatToParts(),
135
- string = (opts, extract) => this.loc.extract(dt, opts, extract),
136
- formatOffset = opts => {
137
- if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {
138
- return "Z";
139
- }
140
-
141
- return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : "";
142
- },
143
- meridiem = () =>
144
- knownEnglish
145
- ? English.meridiemForDateTime(dt)
146
- : string({ hour: "numeric", hour12: true }, "dayperiod"),
147
- month = (length, standalone) =>
148
- knownEnglish
149
- ? English.monthForDateTime(dt, length)
150
- : string(standalone ? { month: length } : { month: length, day: "numeric" }, "month"),
151
- weekday = (length, standalone) =>
152
- knownEnglish
153
- ? English.weekdayForDateTime(dt, length)
154
- : string(
155
- standalone ? { weekday: length } : { weekday: length, month: "long", day: "numeric" },
156
- "weekday"
157
- ),
158
- maybeMacro = token => {
159
- const formatOpts = Formatter.macroTokenToFormatOpts(token);
160
- if (formatOpts) {
161
- return this.formatWithSystemDefault(dt, formatOpts);
162
- } else {
163
- return token;
164
- }
165
- },
166
- era = length =>
167
- knownEnglish ? English.eraForDateTime(dt, length) : string({ era: length }, "era"),
168
- tokenToString = token => {
169
- // Where possible: http://cldr.unicode.org/translation/date-time-1/date-time#TOC-Standalone-vs.-Format-Styles
170
- switch (token) {
171
- // ms
172
- case "S":
173
- return this.num(dt.millisecond);
174
- case "u":
175
- // falls through
176
- case "SSS":
177
- return this.num(dt.millisecond, 3);
178
- // seconds
179
- case "s":
180
- return this.num(dt.second);
181
- case "ss":
182
- return this.num(dt.second, 2);
183
- // minutes
184
- case "m":
185
- return this.num(dt.minute);
186
- case "mm":
187
- return this.num(dt.minute, 2);
188
- // hours
189
- case "h":
190
- return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);
191
- case "hh":
192
- return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);
193
- case "H":
194
- return this.num(dt.hour);
195
- case "HH":
196
- return this.num(dt.hour, 2);
197
- // offset
198
- case "Z":
199
- // like +6
200
- return formatOffset({ format: "narrow", allowZ: this.opts.allowZ });
201
- case "ZZ":
202
- // like +06:00
203
- return formatOffset({ format: "short", allowZ: this.opts.allowZ });
204
- case "ZZZ":
205
- // like +0600
206
- return formatOffset({ format: "techie", allowZ: this.opts.allowZ });
207
- case "ZZZZ":
208
- // like EST
209
- return dt.zone.offsetName(dt.ts, { format: "short", locale: this.loc.locale });
210
- case "ZZZZZ":
211
- // like Eastern Standard Time
212
- return dt.zone.offsetName(dt.ts, { format: "long", locale: this.loc.locale });
213
- // zone
214
- case "z":
215
- // like America/New_York
216
- return dt.zoneName;
217
- // meridiems
218
- case "a":
219
- return meridiem();
220
- // dates
221
- case "d":
222
- return useDateTimeFormatter ? string({ day: "numeric" }, "day") : this.num(dt.day);
223
- case "dd":
224
- return useDateTimeFormatter ? string({ day: "2-digit" }, "day") : this.num(dt.day, 2);
225
- // weekdays - standalone
226
- case "c":
227
- // like 1
228
- return this.num(dt.weekday);
229
- case "ccc":
230
- // like 'Tues'
231
- return weekday("short", true);
232
- case "cccc":
233
- // like 'Tuesday'
234
- return weekday("long", true);
235
- case "ccccc":
236
- // like 'T'
237
- return weekday("narrow", true);
238
- // weekdays - format
239
- case "E":
240
- // like 1
241
- return this.num(dt.weekday);
242
- case "EEE":
243
- // like 'Tues'
244
- return weekday("short", false);
245
- case "EEEE":
246
- // like 'Tuesday'
247
- return weekday("long", false);
248
- case "EEEEE":
249
- // like 'T'
250
- return weekday("narrow", false);
251
- // months - standalone
252
- case "L":
253
- // like 1
254
- return useDateTimeFormatter
255
- ? string({ month: "numeric", day: "numeric" }, "month")
256
- : this.num(dt.month);
257
- case "LL":
258
- // like 01, doesn't seem to work
259
- return useDateTimeFormatter
260
- ? string({ month: "2-digit", day: "numeric" }, "month")
261
- : this.num(dt.month, 2);
262
- case "LLL":
263
- // like Jan
264
- return month("short", true);
265
- case "LLLL":
266
- // like January
267
- return month("long", true);
268
- case "LLLLL":
269
- // like J
270
- return month("narrow", true);
271
- // months - format
272
- case "M":
273
- // like 1
274
- return useDateTimeFormatter
275
- ? string({ month: "numeric" }, "month")
276
- : this.num(dt.month);
277
- case "MM":
278
- // like 01
279
- return useDateTimeFormatter
280
- ? string({ month: "2-digit" }, "month")
281
- : this.num(dt.month, 2);
282
- case "MMM":
283
- // like Jan
284
- return month("short", false);
285
- case "MMMM":
286
- // like January
287
- return month("long", false);
288
- case "MMMMM":
289
- // like J
290
- return month("narrow", false);
291
- // years
292
- case "y":
293
- // like 2014
294
- return useDateTimeFormatter ? string({ year: "numeric" }, "year") : this.num(dt.year);
295
- case "yy":
296
- // like 14
297
- return useDateTimeFormatter
298
- ? string({ year: "2-digit" }, "year")
299
- : this.num(dt.year.toString().slice(-2), 2);
300
- case "yyyy":
301
- // like 0012
302
- return useDateTimeFormatter
303
- ? string({ year: "numeric" }, "year")
304
- : this.num(dt.year, 4);
305
- case "yyyyyy":
306
- // like 000012
307
- return useDateTimeFormatter
308
- ? string({ year: "numeric" }, "year")
309
- : this.num(dt.year, 6);
310
- // eras
311
- case "G":
312
- // like AD
313
- return era("short");
314
- case "GG":
315
- // like Anno Domini
316
- return era("long");
317
- case "GGGGG":
318
- return era("narrow");
319
- case "kk":
320
- return this.num(dt.weekYear.toString().slice(-2), 2);
321
- case "kkkk":
322
- return this.num(dt.weekYear, 4);
323
- case "W":
324
- return this.num(dt.weekNumber);
325
- case "WW":
326
- return this.num(dt.weekNumber, 2);
327
- case "o":
328
- return this.num(dt.ordinal);
329
- case "ooo":
330
- return this.num(dt.ordinal, 3);
331
- case "q":
332
- // like 1
333
- return this.num(dt.quarter);
334
- case "qq":
335
- // like 01
336
- return this.num(dt.quarter, 2);
337
- case "X":
338
- return this.num(Math.floor(dt.ts / 1000));
339
- case "x":
340
- return this.num(dt.ts);
341
- default:
342
- return maybeMacro(token);
343
- }
344
- };
345
-
346
- return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);
347
- }
348
-
349
- formatDurationFromString(dur, fmt) {
350
- const tokenToField = token => {
351
- switch (token[0]) {
352
- case "S":
353
- return "millisecond";
354
- case "s":
355
- return "second";
356
- case "m":
357
- return "minute";
358
- case "h":
359
- return "hour";
360
- case "d":
361
- return "day";
362
- case "M":
363
- return "month";
364
- case "y":
365
- return "year";
366
- default:
367
- return null;
368
- }
369
- },
370
- tokenToString = lildur => token => {
371
- const mapped = tokenToField(token);
372
- if (mapped) {
373
- return this.num(lildur.get(mapped), token.length);
374
- } else {
375
- return token;
376
- }
377
- },
378
- tokens = Formatter.parseFormat(fmt),
379
- realTokens = tokens.reduce(
380
- (found, { literal, val }) => (literal ? found : found.concat(val)),
381
- []
382
- ),
383
- collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter(t => t));
384
- return stringifyTokens(tokens, tokenToString(collapsed));
385
- }
386
- }
@@ -1,14 +0,0 @@
1
- export default class Invalid {
2
- constructor(reason, explanation) {
3
- this.reason = reason;
4
- this.explanation = explanation;
5
- }
6
-
7
- toMessage() {
8
- if (this.explanation) {
9
- return `${this.reason}: ${this.explanation}`;
10
- } else {
11
- return this.reason;
12
- }
13
- }
14
- }