amis 1.3.5-beta.7 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/lib/components/Badge.d.ts +13 -1
  2. package/lib/components/Badge.js +16 -2
  3. package/lib/components/Badge.js.map +2 -2
  4. package/lib/components/Checkbox.d.ts +1 -1
  5. package/lib/components/Checkbox.js +1 -1
  6. package/lib/components/Checkbox.js.map +2 -2
  7. package/lib/components/Drawer.js +1 -1
  8. package/lib/components/Drawer.js.map +2 -2
  9. package/lib/components/Modal.js +1 -1
  10. package/lib/components/Modal.js.map +2 -2
  11. package/lib/components/Select.d.ts +7 -0
  12. package/lib/components/Select.js.map +2 -2
  13. package/lib/components/Steps.d.ts +3 -3
  14. package/lib/components/Steps.js.map +1 -1
  15. package/lib/components/WithRemoteConfig.d.ts +8 -0
  16. package/lib/components/WithRemoteConfig.js +28 -2
  17. package/lib/components/WithRemoteConfig.js.map +2 -2
  18. package/lib/components/condition-builder/Field.js +0 -1
  19. package/lib/components/condition-builder/Field.js.map +2 -2
  20. package/lib/components/condition-builder/Value.js +2 -1
  21. package/lib/components/condition-builder/Value.js.map +2 -2
  22. package/lib/components/condition-builder/types.d.ts +5 -0
  23. package/lib/components/condition-builder/types.js.map +1 -1
  24. package/lib/factory.d.ts +5 -1
  25. package/lib/factory.js +9 -4
  26. package/lib/factory.js.map +2 -2
  27. package/lib/index.js +1 -1
  28. package/lib/locale/de-DE.js +1 -0
  29. package/lib/locale/de-DE.js.map +2 -2
  30. package/lib/locale/en-US.js +2 -1
  31. package/lib/locale/en-US.js.map +2 -2
  32. package/lib/locale/zh-CN.js +2 -1
  33. package/lib/locale/zh-CN.js.map +2 -2
  34. package/lib/renderers/CRUD.js +5 -15
  35. package/lib/renderers/CRUD.js.map +2 -2
  36. package/lib/renderers/Collapse.d.ts +1 -1
  37. package/lib/renderers/Collapse.js +5 -1
  38. package/lib/renderers/Collapse.js.map +2 -2
  39. package/lib/renderers/Dialog.d.ts +0 -252
  40. package/lib/renderers/Dialog.js +1 -1
  41. package/lib/renderers/Dialog.js.map +2 -2
  42. package/lib/renderers/DropDownButton.d.ts +4 -0
  43. package/lib/renderers/DropDownButton.js +2 -2
  44. package/lib/renderers/DropDownButton.js.map +2 -2
  45. package/lib/renderers/Form/DiffEditor.d.ts +0 -2
  46. package/lib/renderers/Form/Editor.d.ts +0 -2
  47. package/lib/renderers/Form/Editor.js +1 -1
  48. package/lib/renderers/Form/Editor.js.map +2 -2
  49. package/lib/renderers/Form/InputExcel.d.ts +5 -0
  50. package/lib/renderers/Form/InputExcel.js +24 -3
  51. package/lib/renderers/Form/InputExcel.js.map +2 -2
  52. package/lib/renderers/Form/InputImage.d.ts +8 -0
  53. package/lib/renderers/Form/InputImage.js +2 -1
  54. package/lib/renderers/Form/InputImage.js.map +2 -2
  55. package/lib/renderers/Form/InputTable.d.ts +23 -5
  56. package/lib/renderers/Form/InputTable.js +32 -3
  57. package/lib/renderers/Form/InputTable.js.map +2 -2
  58. package/lib/renderers/Json.js +5 -1
  59. package/lib/renderers/Json.js.map +2 -2
  60. package/lib/renderers/Page.js +3 -0
  61. package/lib/renderers/Page.js.map +2 -2
  62. package/lib/renderers/Service.d.ts +10 -1
  63. package/lib/renderers/Service.js +85 -3
  64. package/lib/renderers/Service.js.map +2 -2
  65. package/lib/renderers/Steps.d.ts +4 -4
  66. package/lib/renderers/Steps.js +5 -2
  67. package/lib/renderers/Steps.js.map +2 -2
  68. package/lib/renderers/Table/TableBody.d.ts +1 -1
  69. package/lib/renderers/Table/TableBody.js.map +1 -1
  70. package/lib/renderers/Table/TableContent.d.ts +1 -1
  71. package/lib/renderers/Table/TableContent.js.map +1 -1
  72. package/lib/renderers/Table/index.d.ts +8 -3
  73. package/lib/renderers/Table/index.js +80 -45
  74. package/lib/renderers/Table/index.js.map +2 -2
  75. package/lib/store/app.d.ts +0 -1
  76. package/lib/store/combo.d.ts +0 -2
  77. package/lib/store/crud.d.ts +0 -1
  78. package/lib/store/form.d.ts +0 -1
  79. package/lib/store/modal.d.ts +1 -1
  80. package/lib/store/modal.js +4 -0
  81. package/lib/store/modal.js.map +2 -2
  82. package/lib/store/root.d.ts +0 -1
  83. package/lib/store/service.d.ts +0 -1
  84. package/lib/store/service.js +0 -13
  85. package/lib/store/service.js.map +2 -2
  86. package/lib/store/table.d.ts +1 -2
  87. package/lib/store/table.js +44 -3
  88. package/lib/store/table.js.map +2 -2
  89. package/lib/themes/ang-ie11.css +247 -3
  90. package/lib/themes/ang.css +247 -3
  91. package/lib/themes/ang.css.map +1 -1
  92. package/lib/themes/antd-ie11.css +247 -3
  93. package/lib/themes/antd.css +247 -3
  94. package/lib/themes/antd.css.map +1 -1
  95. package/lib/themes/cxd-ie11.css +247 -3
  96. package/lib/themes/cxd.css +247 -3
  97. package/lib/themes/cxd.css.map +1 -1
  98. package/lib/themes/dark-ie11.css +247 -3
  99. package/lib/themes/dark.css +247 -3
  100. package/lib/themes/dark.css.map +1 -1
  101. package/lib/themes/default.css +247 -3
  102. package/lib/themes/default.css.map +1 -1
  103. package/lib/utils/api.js +12 -0
  104. package/lib/utils/api.js.map +2 -2
  105. package/lib/utils/attachmentAdpator.d.ts +7 -0
  106. package/lib/utils/attachmentAdpator.js +82 -0
  107. package/lib/utils/attachmentAdpator.js.map +13 -0
  108. package/lib/utils/validations.js +62 -5
  109. package/lib/utils/validations.js.map +2 -2
  110. package/package.json +1 -1
  111. package/schema.json +150 -36
  112. package/scss/_properties.scss +4 -0
  113. package/scss/components/_badge.scss +15 -1
  114. package/scss/components/_markdown.scss +266 -0
  115. package/scss/components/_spinner.scss +6 -2
  116. package/scss/components/form/_group.scss +4 -0
  117. package/scss/themes/_common.scss +1 -0
  118. package/sdk/ang-ie11.css +292 -3
  119. package/sdk/ang.css +296 -3
  120. package/sdk/antd-ie11.css +292 -3
  121. package/sdk/antd.css +296 -3
  122. package/sdk/charts.js +13 -13
  123. package/sdk/color-picker.js +65 -69
  124. package/sdk/cropperjs.js +2 -2
  125. package/sdk/cxd-ie11.css +292 -3
  126. package/sdk/cxd.css +296 -3
  127. package/sdk/dark-ie11.css +292 -3
  128. package/sdk/dark.css +296 -3
  129. package/sdk/exceljs.js +1 -1
  130. package/sdk/locale/de-DE.js +1 -0
  131. package/sdk/markdown.js +69 -69
  132. package/sdk/papaparse.js +1 -1
  133. package/sdk/renderers/Form/CityDB.js +1 -1
  134. package/sdk/rest.js +27 -23
  135. package/sdk/rich-text.js +63 -63
  136. package/sdk/sdk-ie11.css +292 -3
  137. package/sdk/sdk.css +296 -3
  138. package/sdk/sdk.js +1144 -1142
  139. package/sdk/thirds/hls.js/hls.js +1 -1
  140. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  141. package/sdk/tinymce.js +57 -57
  142. package/src/components/Badge.tsx +41 -6
  143. package/src/components/Checkbox.tsx +5 -2
  144. package/src/components/Drawer.tsx +3 -2
  145. package/src/components/Modal.tsx +3 -2
  146. package/src/components/Select.tsx +1 -0
  147. package/src/components/Steps.tsx +3 -3
  148. package/src/components/WithRemoteConfig.tsx +37 -2
  149. package/src/components/condition-builder/Field.tsx +1 -2
  150. package/src/components/condition-builder/Value.tsx +3 -0
  151. package/src/components/condition-builder/types.ts +6 -0
  152. package/src/factory.tsx +13 -3
  153. package/src/locale/de-DE.ts +1 -0
  154. package/src/locale/en-US.ts +2 -1
  155. package/src/locale/zh-CN.ts +2 -1
  156. package/src/renderers/CRUD.tsx +7 -28
  157. package/src/renderers/Collapse.tsx +5 -1
  158. package/src/renderers/Dialog.tsx +1 -1
  159. package/src/renderers/DropDownButton.tsx +8 -0
  160. package/src/renderers/Form/Editor.tsx +19 -20
  161. package/src/renderers/Form/InputExcel.tsx +28 -3
  162. package/src/renderers/Form/InputImage.tsx +23 -8
  163. package/src/renderers/Form/InputTable.tsx +88 -9
  164. package/src/renderers/Json.tsx +10 -1
  165. package/src/renderers/Page.tsx +2 -0
  166. package/src/renderers/Service.tsx +101 -3
  167. package/src/renderers/Steps.tsx +12 -9
  168. package/src/renderers/Table/TableBody.tsx +1 -1
  169. package/src/renderers/Table/TableContent.tsx +1 -1
  170. package/src/renderers/Table/index.tsx +61 -13
  171. package/src/store/modal.ts +4 -0
  172. package/src/store/service.ts +0 -19
  173. package/src/store/table.ts +48 -0
  174. package/src/utils/api.ts +11 -0
  175. package/src/utils/attachmentAdpator.ts +90 -0
  176. package/src/utils/validations.ts +80 -12
package/lib/utils/api.js CHANGED
@@ -7,6 +7,7 @@ var tpl_1 = require("./tpl");
7
7
  var helper_1 = require("./helper");
8
8
  var rSchema = /(?:^|raw\:)(get|post|put|delete|patch|options|head):/i;
9
9
  var apiCaches = [];
10
+ var isIE = !!document.documentMode;
10
11
  function normalizeApi(api, defaultMethod) {
11
12
  if (defaultMethod === void 0) { defaultMethod = 'get'; }
12
13
  if (typeof api === 'string') {
@@ -200,6 +201,7 @@ function responseAdaptor(ret, api) {
200
201
  exports.responseAdaptor = responseAdaptor;
201
202
  function wrapFetcher(fn) {
202
203
  return function (api, data, options) {
204
+ var _a;
203
205
  api = buildApi(api, data, options);
204
206
  api.requestAdaptor && (api = api.requestAdaptor(api) || api);
205
207
  if (api.data && ((0, helper_1.hasFile)(api.data) || api.dataType === 'form-data')) {
@@ -228,6 +230,16 @@ function wrapFetcher(fn) {
228
230
  ? apiCache.cachedPromise
229
231
  : setApiCache(api, fn(api)), api);
230
232
  }
233
+ // IE 下 get 请求会被缓存,所以自动加个时间戳
234
+ if (isIE && api && ((_a = api.method) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) === 'get') {
235
+ var timeStamp = "_t=" + Date.now();
236
+ if (api.url.indexOf('?') === -1) {
237
+ api.url = api.url + ("?" + timeStamp);
238
+ }
239
+ else {
240
+ api.url = api.url + ("&" + timeStamp);
241
+ }
242
+ }
231
243
  return wrapAdaptor(fn(api), api);
232
244
  };
233
245
  }
@@ -6,8 +6,8 @@
6
6
  "/src/utils/api.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAEA,6CAAoD;AACpD,6BAAqC;AACrC,mCASkB;AAElB,IAAM,OAAO,GAAG,uDAAuD,CAAC;AAOxE,IAAM,SAAS,GAA0B,EAAE,CAAC;AAE5C,SAAgB,YAAY,CAC1B,GAAQ,EACR,aAA6B;IAA7B,8BAAA,EAAA,qBAA6B;IAE7B,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;QAC3B,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAEhD,GAAG,GAAG;YACJ,MAAM,EAAE,CAAC,MAAM,IAAI,aAAa,CAAQ;YACxC,GAAG,EAAE,GAAG;SACT,CAAC;KACH;SAAM;QACL,GAAG,6BACE,GAAG,CACP,CAAC;KACH;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAlBD,oCAkBC;AAED,SAAgB,QAAQ,CACtB,GAAQ,EACR,IAAa,EACb,OAIM;IAJN,wBAAA,EAAA,YAIM;IAEN,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAA,UAAU,GAAyB,OAAO,WAAhC,EAAE,UAAU,GAAa,OAAO,WAApB,EAAK,IAAI,uBAAI,OAAO,EAA3C,4BAAiC,CAAD,CAAY;IAElD,GAAG,CAAC,MAAM,6BACL,IAAI,CACR,CAAC;IACF,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAK,OAAe,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAE5E,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,GAAG,CAAC;KACZ;SAAM,IACL,IAAI,YAAY,QAAQ;QACxB,IAAI,YAAY,IAAI;QACpB,IAAI,YAAY,WAAW,EAC3B;QACA,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAChB,OAAO,GAAG,CAAC;KACZ;IAED,IAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACtC,IAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,CAAC,GAAG,EAAE;QACR,IAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,IAAM,MAAM,GAAG,IAAA,gBAAO,EACpB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAC3D,CAAC;QACF,GAAG,CAAC,GAAG;YACL,IAAA,sBAAQ,EAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC;gBAC7D,IAAA,oBAAW,EAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAA,yBAAW,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;gBACpD,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAChD;SAAM;QACL,GAAG,CAAC,GAAG,GAAG,IAAA,sBAAQ,EAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;KACnD;IAED,IAAI,UAAU,EAAE;QACd,OAAO,GAAG,CAAC;KACZ;IAED,IAAI,GAAG,CAAC,IAAI,EAAE;QACZ,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAA,yBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACnD;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE;QACxD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;KACzC;IAED,4BAA4B;IAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE;QACxB,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,UAAU,EAAE;YACjD,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;SAC7B;aAAM,IACL,GAAG,CAAC,iBAAiB,KAAK,KAAK;YAC/B,GAAG,CAAC,IAAI;YACR,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;YAClB,UAAU,EACV;YACA,IAAM,KAAG,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,KAAG,EAAE;gBACR,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,mDAClB,IAAA,gBAAO,EAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAG,GAAG,CAAC,CAAC,CAAC,GACnC,IAAI,CACR,CAAC,CAAC;gBACH,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAG,CAAC,GAAG,GAAG,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;aACjE;iBAAM;gBACL,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC;gBACjB,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;aACpC;SACF;QAED,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,iBAAiB,KAAK,KAAK,EAAE;YAC/C,IAAM,KAAG,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,KAAG,EAAE;gBACR,IAAI,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,mDAClB,IAAA,gBAAO,EAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAG,GAAG,CAAC,CAAC,CAAC,GACnC,GAAG,CAAC,IAAI,CACZ,CAAC,CAAC;gBACH,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAG,CAAC,GAAG,GAAG,GAAG,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC;aACjE;iBAAM;gBACL,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC;gBACrB,GAAG,CAAC,GAAG,IAAI,GAAG,GAAG,IAAA,oBAAW,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACxC;YACD,OAAO,GAAG,CAAC,IAAI,CAAC;SACjB;KACF;IAED,IAAI,GAAG,CAAC,OAAO,EAAE;QACf,GAAG,CAAC,OAAO,GAAG,IAAA,yBAAW,EAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KAC9C;IAED,IAAI,GAAG,CAAC,cAAc,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ,EAAE;QAChE,GAAG,CAAC,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAQ,CAAC;KACrE;IAED,IAAI,GAAG,CAAC,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE;QAClD,GAAG,CAAC,OAAO,GAAG,YAAY,CACxB,GAAG,CAAC,OAAO,EACX,SAAS,EACT,UAAU,EACV,KAAK,CACC,CAAC;KACV;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AA/GD,4BA+GC;AAED,SAAgB,YAAY,CAC1B,QAAgB;IAChB,cAAsB;SAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;QAAtB,6BAAsB;;IAEtB,IAAI;QACF,IAAI,EAAE,QAAO,QAAQ,YAAR,QAAQ,kEAAI,IAAI,WAAE,QAAQ,aAAC,CAAC;QACzC,OAAO,EAAE,CAAC;KACX;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAXD,oCAWC;AAED,IAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC;;;;CAAoB,CAAC,CAAC,WAAW,CAAC;AAE9E,SAAgB,iBAAiB,CAC/B,QAAgB;IAChB,cAAsB;SAAtB,UAAsB,EAAtB,qBAAsB,EAAtB,IAAsB;QAAtB,6BAAsB;;IAEtB,IAAI;QACF,IAAI,EAAE,QAAO,aAAa,YAAb,aAAa,kEAAI,IAAI,WAAE,QAAQ,aAAC,CAAC;QAC9C,OAAO,EAAE,CAAC;KACX;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAXD,8CAWC;AAED,SAAgB,eAAe,CAAC,GAAkB,EAAE,GAAc;IAChE,IAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,IAAI,cAAc,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACvC;IAED,WAAW;IACX,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE;QACpC,aAAa;QACb,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;KAC9B;SAAM,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC;KACnD;SAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;KACnC;SAAM,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;QACvC,oBAAoB;QACpB,gEAAgE;QAChE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;YACvE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC;SACpC;KACF;IAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;QAClC,cAAc,GAAG,KAAK,CAAC;KACxB;IAED,IAAM,OAAO,GAAY;QACvB,EAAE,EAAE,cAAc,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;QAChD,MAAM,EAAE,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;QAClD,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO;QAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc;KACtE,CAAC;IAEF,4BAA4B;IAC5B,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;QACrB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;KACrB;IAED,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE;QACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KAC9B;IAED,IAAI,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE;QAClC,OAAO,CAAC,IAAI,GAAG,IAAA,yBAAW,EACxB,GAAG,CAAC,YAAY,EAEhB,IAAA,qBAAY,EACV,EAAC,GAAG,KAAA,EAAC,EACL,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1B,CAAC,CAAC;gBACE,KAAK,EAAE,OAAO,CAAC,IAAI;aACpB;YACH,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CACxB,CACF,CAAC;KACH;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AApED,0CAoEC;AAED,SAAgB,WAAW,CACzB,EAAqD;IAErD,OAAO,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO;QACjC,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAc,CAAC;QAEhD,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAE7D,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAA,gBAAO,EAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC,EAAE;YACnE,GAAG,CAAC,IAAI;gBACN,GAAG,CAAC,IAAI,YAAY,QAAQ;oBAC1B,CAAC,CAAC,GAAG,CAAC,IAAI;oBACV,CAAC,CAAC,IAAA,wBAAe,EAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;SAChD;aAAM,IACL,GAAG,CAAC,IAAI;YACR,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC5B,GAAG,CAAC,QAAQ,KAAK,MAAM,EACvB;YACA,GAAG,CAAC,IAAI,GAAG,IAAA,oBAAW,EAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAQ,CAAC;YACvD,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YAChD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,mCAAmC,CAAC;SACnE;aAAM,IACL,GAAG,CAAC,IAAI;YACR,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;YAC5B,GAAG,CAAC,QAAQ,KAAK,MAAM,EACvB;YACA,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAQ,CAAC;YAC3C,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;YAChD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;SAClD;QAED,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE;YAClD,IAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,WAAW,CAChB,QAAQ;gBACN,CAAC,CAAE,QAA2B,CAAC,aAAa;gBAC5C,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAC7B,GAAG,CACJ,CAAC;SACH;QACD,OAAO,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AA1CD,kCA0CC;AAED,SAAgB,WAAW,CAAC,OAA+B,EAAE,GAAc;IAA3E,iBAkBC;IAjBC,IAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,OAAO,OAAO;QACZ,CAAC,CAAC,OAAO;aACJ,IAAI,CAAC,UAAM,QAAQ;;;;;wBACd,MAAM,GAAG,OAAO,CAAE,QAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;6BAExD,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA,EAAZ,wBAAY;wBACL,qBAAM,MAAM,EAAA;;wBAArB,MAAM,GAAG,SAAY,CAAC;;4BAGxB,sEACK,QAAQ,KACX,IAAI,EAAE,MAAM,KACZ;;;aACH,CAAC;aACD,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAzB,CAAyB,CAAC;QAC3C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,EAAzB,CAAyB,CAAC,CAAC;AACrD,CAAC;AAlBD,kCAkBC;AAED,SAAgB,aAAa,CAC3B,OAAwB,EACxB,OAAwB,EACxB,QAAa,EACb,QAAa;;IAEb,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;SAAM,IAAI,CAAC,OAAO,EAAE;QACnB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEhC,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE;QACjC,OAAO,KAAK,CAAC;KACd;IAED,IAAM,eAAe,GAAG,MAAA,OAAO,CAAC,eAAe,mCAAI,OAAO,CAAC,GAAG,CAAC;IAE/D,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACzE,OAAO,KAAK,CAAC;KACd;IACD,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAEhC,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,eAAe,EAAE;QACtD,UAAU;YACR,IAAA,sBAAQ,EAAC,OAAO,CAAC,eAAe,IAAI,EAAE,EAAE,QAAQ,CAAC;gBACjD,IAAA,sBAAQ,EAAC,OAAO,CAAC,eAAe,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;KACrD;SAAM;QACL,OAAO,GAAG,QAAQ,CAAC,OAAc,EAAE,QAAkB,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3E,OAAO,GAAG,QAAQ,CAAC,OAAc,EAAE,QAAkB,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;QAC3E,UAAU,GAAG,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC;KAC1C;IAED,OAAO,CAAC,CAAC,CACP,UAAU;QACV,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;QACvB,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,IAAA,oBAAc,EAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAC9D,CAAC;AACJ,CAAC;AA1CD,sCA0CC;AAED,SAAgB,UAAU,CAAC,GAAW;IACpC,OAAO,CACL,GAAG;QACH,+DAA+D,CAAC,IAAI,CAAC,GAAG,CAAC,CAC1E,CAAC;AACJ,CAAC;AALD,gCAKC;AAED,SAAgB,cAAc,CAC5B,GAAS,EACT,IAAU,EACV,SAAmB,EACnB,WAAoB;IAEpB,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,KAAK,CAAC;KACd;IACD,IAAI,SAAS,KAAK,KAAK,EAAE;QACvB,OAAO,KAAK,CAAC;KACd;IACD,IAAI,WAAW,IAAI,IAAI,IAAI,CAAC,IAAA,oBAAc,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE;QAC7D,OAAO,KAAK,CAAC;KACd;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE;QACzC,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,IAAA,iBAAQ,EAAC,GAAG,CAAC,IAAK,GAAiB,CAAC,GAAG,EAAE;QAClD,IACG,GAAiB,CAAC,MAAM;YACzB,IAAI;YACJ,CAAC,IAAA,oBAAc,EAAE,GAAiB,CAAC,MAAgB,EAAE,IAAI,CAAC,EAC1D;YACA,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA5BD,wCA4BC;AAED,SAAgB,SAAS,CACvB,IAAgC,EAChC,IAAgC;IAEhC,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAC3B,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG;QACrB,CAAC,IAAA,gCAAuB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CACtD,CAAC;AACJ,CAAC;AATD,8BASC;AAED,SAAgB,WAAW,CAAC,GAAc;IACxC,YAAY;IACZ,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,IAAI,MAAkC,CAAC;IAEvC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1D,IAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,GAAI,QAAQ,CAAC,KAAgB,EAAE;YAC3D,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACzB,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,CAAC;YACN,SAAS;SACV;QAED,IAAI,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;YAC5B,MAAM,GAAG,QAAQ,CAAC;YAClB,MAAM;SACP;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAtBD,kCAsBC;AAED,SAAgB,WAAW,CACzB,GAAc,EACd,OAAqB;IAErB,SAAS,CAAC,IAAI,iDACT,GAAG,KACN,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,IACvB,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAVD,kCAUC;AAED,SAAgB,aAAa;IAC3B,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAFD,sCAEC;AAED,gCAAgC",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import {Api, ApiObject, fetcherResult, Payload} from '../types';\nimport {fetcherConfig} from '../factory';\nimport {tokenize, dataMapping} from './tpl-builtin';\nimport {evalExpression} from './tpl';\nimport {\n isObject,\n isObjectShallowModified,\n hasFile,\n object2formData,\n qsstringify,\n cloneObject,\n createObject,\n qsparse\n} from './helper';\n\nconst rSchema = /(?:^|raw\\:)(get|post|put|delete|patch|options|head):/i;\n\ninterface ApiCacheConfig extends ApiObject {\n cachedPromise: Promise<any>;\n requestTime: number;\n}\n\nconst apiCaches: Array<ApiCacheConfig> = [];\n\nexport function normalizeApi(\n api: Api,\n defaultMethod: string = 'get'\n): ApiObject {\n if (typeof api === 'string') {\n let method = rSchema.test(api) ? RegExp.$1 : '';\n method && (api = api.replace(method + ':', ''));\n\n api = {\n method: (method || defaultMethod) as any,\n url: api\n };\n } else {\n api = {\n ...api\n };\n }\n return api;\n}\n\nexport function buildApi(\n api: Api,\n data?: object,\n options: {\n autoAppend?: boolean;\n ignoreData?: boolean;\n [propName: string]: any;\n } = {}\n): ApiObject {\n api = normalizeApi(api, options.method);\n const {autoAppend, ignoreData, ...rest} = options;\n\n api.config = {\n ...rest\n };\n api.method = (api.method || (options as any).method || 'get').toLowerCase();\n\n if (!data) {\n return api;\n } else if (\n data instanceof FormData ||\n data instanceof Blob ||\n data instanceof ArrayBuffer\n ) {\n api.data = data;\n return api;\n }\n\n const raw = (api.url = api.url || '');\n const idx = api.url.indexOf('?');\n\n if (~idx) {\n const hashIdx = api.url.indexOf('#');\n const params = qsparse(\n api.url.substring(idx + 1, ~hashIdx ? hashIdx : undefined)\n );\n api.url =\n tokenize(api.url.substring(0, idx + 1), data, '| url_encode') +\n qsstringify((api.query = dataMapping(params, data))) +\n (~hashIdx ? api.url.substring(hashIdx) : '');\n } else {\n api.url = tokenize(api.url, data, '| url_encode');\n }\n\n if (ignoreData) {\n return api;\n }\n\n if (api.data) {\n api.body = api.data = dataMapping(api.data, data);\n } else if (api.method === 'post' || api.method === 'put') {\n api.body = api.data = cloneObject(data);\n }\n\n // get 类请求,把 data 附带到 url 上。\n if (api.method === 'get') {\n if (!~raw.indexOf('$') && !api.data && autoAppend) {\n api.query = api.data = data;\n } else if (\n api.attachDataToQuery === false &&\n api.data &&\n !~raw.indexOf('$') &&\n autoAppend\n ) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = data;\n api.url += '?' + qsstringify(data);\n }\n }\n\n if (api.data && api.attachDataToQuery !== false) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...api.data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = api.data;\n api.url += '?' + qsstringify(api.data);\n }\n delete api.data;\n }\n }\n\n if (api.headers) {\n api.headers = dataMapping(api.headers, data);\n }\n\n if (api.requestAdaptor && typeof api.requestAdaptor === 'string') {\n api.requestAdaptor = str2function(api.requestAdaptor, 'api') as any;\n }\n\n if (api.adaptor && typeof api.adaptor === 'string') {\n api.adaptor = str2function(\n api.adaptor,\n 'payload',\n 'response',\n 'api'\n ) as any;\n }\n\n return api;\n}\n\nexport function str2function(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new Function(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;\n\nexport function str2AsyncFunction(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new AsyncFunction(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nexport function responseAdaptor(ret: fetcherResult, api: ApiObject) {\n const data = ret.data;\n let hasStatusField = true;\n\n if (!data) {\n throw new Error('Response is empty!');\n }\n\n // 兼容几种常见写法\n if (data.hasOwnProperty('errorCode')) {\n // 阿里 Java 规范\n data.status = data.errorCode;\n data.msg = data.errorMessage;\n } else if (data.hasOwnProperty('errno')) {\n data.status = data.errno;\n data.msg = data.errmsg || data.errstr || data.msg;\n } else if (data.hasOwnProperty('no')) {\n data.status = data.no;\n data.msg = data.error || data.msg;\n } else if (data.hasOwnProperty('error')) {\n // Google JSON guide\n // https://google.github.io/styleguide/jsoncstyleguide.xml#error\n if (typeof data.error === 'object' && data.error.hasOwnProperty('code')) {\n data.status = data.error.code;\n data.msg = data.error.message;\n } else {\n data.status = data.error;\n data.msg = data.errmsg || data.msg;\n }\n }\n\n if (!data.hasOwnProperty('status')) {\n hasStatusField = false;\n }\n\n const payload: Payload = {\n ok: hasStatusField === false || data.status == 0,\n status: hasStatusField === false ? 0 : data.status,\n msg: data.msg || data.message,\n msgTimeout: data.msgTimeout,\n data: !data.data && !hasStatusField ? data : data.data // 兼容直接返回数据的情况\n };\n\n // 兼容返回 schema 的情况,用于 app 模式\n if (data && data.type) {\n payload.data = data;\n }\n\n if (payload.status == 422) {\n payload.errors = data.errors;\n }\n\n if (payload.ok && api.responseData) {\n payload.data = dataMapping(\n api.responseData,\n\n createObject(\n {api},\n (Array.isArray(payload.data)\n ? {\n items: payload.data\n }\n : payload.data) || {}\n )\n );\n }\n\n return payload;\n}\n\nexport function wrapFetcher(\n fn: (config: fetcherConfig) => Promise<fetcherResult>\n): (api: Api, data: object, options?: object) => Promise<Payload | void> {\n return function (api, data, options) {\n api = buildApi(api, data, options) as ApiObject;\n\n api.requestAdaptor && (api = api.requestAdaptor(api) || api);\n\n if (api.data && (hasFile(api.data) || api.dataType === 'form-data')) {\n api.data =\n api.data instanceof FormData\n ? api.data\n : object2formData(api.data, api.qsOptions);\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'form'\n ) {\n api.data = qsstringify(api.data, api.qsOptions) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'json'\n ) {\n api.data = JSON.stringify(api.data) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/json';\n }\n\n if (typeof api.cache === 'number' && api.cache > 0) {\n const apiCache = getApiCache(api);\n return wrapAdaptor(\n apiCache\n ? (apiCache as ApiCacheConfig).cachedPromise\n : setApiCache(api, fn(api)),\n api\n );\n }\n return wrapAdaptor(fn(api), api);\n };\n}\n\nexport function wrapAdaptor(promise: Promise<fetcherResult>, api: ApiObject) {\n const adaptor = api.adaptor;\n return adaptor\n ? promise\n .then(async response => {\n let result = adaptor((response as any).data, response, api);\n\n if (result?.then) {\n result = await result;\n }\n\n return {\n ...response,\n data: result\n };\n })\n .then(ret => responseAdaptor(ret, api))\n : promise.then(ret => responseAdaptor(ret, api));\n}\n\nexport function isApiOutdated(\n prevApi: Api | undefined,\n nextApi: Api | undefined,\n prevData: any,\n nextData: any\n): nextApi is Api {\n if (!nextApi) {\n return false;\n } else if (!prevApi) {\n return true;\n }\n\n nextApi = normalizeApi(nextApi);\n\n if (nextApi.autoRefresh === false) {\n return false;\n }\n\n const trackExpression = nextApi.trackExpression ?? nextApi.url;\n\n if (typeof trackExpression !== 'string' || !~trackExpression.indexOf('$')) {\n return false;\n }\n prevApi = normalizeApi(prevApi);\n\n let isModified = false;\n\n if (nextApi.trackExpression || prevApi.trackExpression) {\n isModified =\n tokenize(prevApi.trackExpression || '', prevData) !==\n tokenize(nextApi.trackExpression || '', nextData);\n } else {\n prevApi = buildApi(prevApi as Api, prevData as object, {ignoreData: true});\n nextApi = buildApi(nextApi as Api, nextData as object, {ignoreData: true});\n isModified = prevApi.url !== nextApi.url;\n }\n\n return !!(\n isModified &&\n isValidApi(nextApi.url) &&\n (!nextApi.sendOn || evalExpression(nextApi.sendOn, nextData))\n );\n}\n\nexport function isValidApi(api: string) {\n return (\n api &&\n /^(?:(https?|wss?|taf):\\/\\/[^\\/]+)?(\\/?[^\\s\\/\\?]*){1,}(\\?.*)?$/.test(api)\n );\n}\n\nexport function isEffectiveApi(\n api?: Api,\n data?: any,\n initFetch?: boolean,\n initFetchOn?: string\n): api is Api {\n if (!api) {\n return false;\n }\n if (initFetch === false) {\n return false;\n }\n if (initFetchOn && data && !evalExpression(initFetchOn, data)) {\n return false;\n }\n if (typeof api === 'string' && api.length) {\n return true;\n } else if (isObject(api) && (api as ApiObject).url) {\n if (\n (api as ApiObject).sendOn &&\n data &&\n !evalExpression((api as ApiObject).sendOn as string, data)\n ) {\n return false;\n }\n return true;\n }\n return false;\n}\n\nexport function isSameApi(\n apiA: ApiObject | ApiCacheConfig,\n apiB: ApiObject | ApiCacheConfig\n): boolean {\n return (\n apiA.method === apiB.method &&\n apiA.url === apiB.url &&\n !isObjectShallowModified(apiA.data, apiB.data, false)\n );\n}\n\nexport function getApiCache(api: ApiObject): ApiCacheConfig | undefined {\n // 清理过期cache\n const now = Date.now();\n let result: ApiCacheConfig | undefined;\n\n for (let idx = 0, len = apiCaches.length; idx < len; idx++) {\n const apiCache = apiCaches[idx];\n\n if (now - apiCache.requestTime > (apiCache.cache as number)) {\n apiCaches.splice(idx, 1);\n len--;\n idx--;\n continue;\n }\n\n if (isSameApi(api, apiCache)) {\n result = apiCache;\n break;\n }\n }\n\n return result;\n}\n\nexport function setApiCache(\n api: ApiObject,\n promise: Promise<any>\n): Promise<any> {\n apiCaches.push({\n ...api,\n cachedPromise: promise,\n requestTime: Date.now()\n });\n return promise;\n}\n\nexport function clearApiCache() {\n apiCaches.splice(0, apiCaches.length);\n}\n\n// window.apiCaches = apiCaches;\n"
11
+ "import {Api, ApiObject, fetcherResult, Payload} from '../types';\nimport {fetcherConfig} from '../factory';\nimport {tokenize, dataMapping} from './tpl-builtin';\nimport {evalExpression} from './tpl';\nimport {\n isObject,\n isObjectShallowModified,\n hasFile,\n object2formData,\n qsstringify,\n cloneObject,\n createObject,\n qsparse\n} from './helper';\n\nconst rSchema = /(?:^|raw\\:)(get|post|put|delete|patch|options|head):/i;\n\ninterface ApiCacheConfig extends ApiObject {\n cachedPromise: Promise<any>;\n requestTime: number;\n}\n\nconst apiCaches: Array<ApiCacheConfig> = [];\n\nconst isIE = !!(document as any).documentMode;\n\nexport function normalizeApi(\n api: Api,\n defaultMethod: string = 'get'\n): ApiObject {\n if (typeof api === 'string') {\n let method = rSchema.test(api) ? RegExp.$1 : '';\n method && (api = api.replace(method + ':', ''));\n\n api = {\n method: (method || defaultMethod) as any,\n url: api\n };\n } else {\n api = {\n ...api\n };\n }\n return api;\n}\n\nexport function buildApi(\n api: Api,\n data?: object,\n options: {\n autoAppend?: boolean;\n ignoreData?: boolean;\n [propName: string]: any;\n } = {}\n): ApiObject {\n api = normalizeApi(api, options.method);\n const {autoAppend, ignoreData, ...rest} = options;\n\n api.config = {\n ...rest\n };\n api.method = (api.method || (options as any).method || 'get').toLowerCase();\n\n if (!data) {\n return api;\n } else if (\n data instanceof FormData ||\n data instanceof Blob ||\n data instanceof ArrayBuffer\n ) {\n api.data = data;\n return api;\n }\n\n const raw = (api.url = api.url || '');\n const idx = api.url.indexOf('?');\n\n if (~idx) {\n const hashIdx = api.url.indexOf('#');\n const params = qsparse(\n api.url.substring(idx + 1, ~hashIdx ? hashIdx : undefined)\n );\n api.url =\n tokenize(api.url.substring(0, idx + 1), data, '| url_encode') +\n qsstringify((api.query = dataMapping(params, data))) +\n (~hashIdx ? api.url.substring(hashIdx) : '');\n } else {\n api.url = tokenize(api.url, data, '| url_encode');\n }\n\n if (ignoreData) {\n return api;\n }\n\n if (api.data) {\n api.body = api.data = dataMapping(api.data, data);\n } else if (api.method === 'post' || api.method === 'put') {\n api.body = api.data = cloneObject(data);\n }\n\n // get 类请求,把 data 附带到 url 上。\n if (api.method === 'get') {\n if (!~raw.indexOf('$') && !api.data && autoAppend) {\n api.query = api.data = data;\n } else if (\n api.attachDataToQuery === false &&\n api.data &&\n !~raw.indexOf('$') &&\n autoAppend\n ) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = data;\n api.url += '?' + qsstringify(data);\n }\n }\n\n if (api.data && api.attachDataToQuery !== false) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...api.data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = api.data;\n api.url += '?' + qsstringify(api.data);\n }\n delete api.data;\n }\n }\n\n if (api.headers) {\n api.headers = dataMapping(api.headers, data);\n }\n\n if (api.requestAdaptor && typeof api.requestAdaptor === 'string') {\n api.requestAdaptor = str2function(api.requestAdaptor, 'api') as any;\n }\n\n if (api.adaptor && typeof api.adaptor === 'string') {\n api.adaptor = str2function(\n api.adaptor,\n 'payload',\n 'response',\n 'api'\n ) as any;\n }\n\n return api;\n}\n\nexport function str2function(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new Function(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;\n\nexport function str2AsyncFunction(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new AsyncFunction(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nexport function responseAdaptor(ret: fetcherResult, api: ApiObject) {\n const data = ret.data;\n let hasStatusField = true;\n\n if (!data) {\n throw new Error('Response is empty!');\n }\n\n // 兼容几种常见写法\n if (data.hasOwnProperty('errorCode')) {\n // 阿里 Java 规范\n data.status = data.errorCode;\n data.msg = data.errorMessage;\n } else if (data.hasOwnProperty('errno')) {\n data.status = data.errno;\n data.msg = data.errmsg || data.errstr || data.msg;\n } else if (data.hasOwnProperty('no')) {\n data.status = data.no;\n data.msg = data.error || data.msg;\n } else if (data.hasOwnProperty('error')) {\n // Google JSON guide\n // https://google.github.io/styleguide/jsoncstyleguide.xml#error\n if (typeof data.error === 'object' && data.error.hasOwnProperty('code')) {\n data.status = data.error.code;\n data.msg = data.error.message;\n } else {\n data.status = data.error;\n data.msg = data.errmsg || data.msg;\n }\n }\n\n if (!data.hasOwnProperty('status')) {\n hasStatusField = false;\n }\n\n const payload: Payload = {\n ok: hasStatusField === false || data.status == 0,\n status: hasStatusField === false ? 0 : data.status,\n msg: data.msg || data.message,\n msgTimeout: data.msgTimeout,\n data: !data.data && !hasStatusField ? data : data.data // 兼容直接返回数据的情况\n };\n\n // 兼容返回 schema 的情况,用于 app 模式\n if (data && data.type) {\n payload.data = data;\n }\n\n if (payload.status == 422) {\n payload.errors = data.errors;\n }\n\n if (payload.ok && api.responseData) {\n payload.data = dataMapping(\n api.responseData,\n\n createObject(\n {api},\n (Array.isArray(payload.data)\n ? {\n items: payload.data\n }\n : payload.data) || {}\n )\n );\n }\n\n return payload;\n}\n\nexport function wrapFetcher(\n fn: (config: fetcherConfig) => Promise<fetcherResult>\n): (api: Api, data: object, options?: object) => Promise<Payload | void> {\n return function (api, data, options) {\n api = buildApi(api, data, options) as ApiObject;\n\n api.requestAdaptor && (api = api.requestAdaptor(api) || api);\n\n if (api.data && (hasFile(api.data) || api.dataType === 'form-data')) {\n api.data =\n api.data instanceof FormData\n ? api.data\n : object2formData(api.data, api.qsOptions);\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'form'\n ) {\n api.data = qsstringify(api.data, api.qsOptions) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'json'\n ) {\n api.data = JSON.stringify(api.data) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/json';\n }\n\n if (typeof api.cache === 'number' && api.cache > 0) {\n const apiCache = getApiCache(api);\n return wrapAdaptor(\n apiCache\n ? (apiCache as ApiCacheConfig).cachedPromise\n : setApiCache(api, fn(api)),\n api\n );\n }\n // IE 下 get 请求会被缓存,所以自动加个时间戳\n if (isIE && api && api.method?.toLocaleLowerCase() === 'get') {\n const timeStamp = `_t=${Date.now()}`;\n if (api.url.indexOf('?') === -1) {\n api.url = api.url + `?${timeStamp}`;\n } else {\n api.url = api.url + `&${timeStamp}`;\n }\n }\n return wrapAdaptor(fn(api), api);\n };\n}\n\nexport function wrapAdaptor(promise: Promise<fetcherResult>, api: ApiObject) {\n const adaptor = api.adaptor;\n return adaptor\n ? promise\n .then(async response => {\n let result = adaptor((response as any).data, response, api);\n\n if (result?.then) {\n result = await result;\n }\n\n return {\n ...response,\n data: result\n };\n })\n .then(ret => responseAdaptor(ret, api))\n : promise.then(ret => responseAdaptor(ret, api));\n}\n\nexport function isApiOutdated(\n prevApi: Api | undefined,\n nextApi: Api | undefined,\n prevData: any,\n nextData: any\n): nextApi is Api {\n if (!nextApi) {\n return false;\n } else if (!prevApi) {\n return true;\n }\n\n nextApi = normalizeApi(nextApi);\n\n if (nextApi.autoRefresh === false) {\n return false;\n }\n\n const trackExpression = nextApi.trackExpression ?? nextApi.url;\n\n if (typeof trackExpression !== 'string' || !~trackExpression.indexOf('$')) {\n return false;\n }\n prevApi = normalizeApi(prevApi);\n\n let isModified = false;\n\n if (nextApi.trackExpression || prevApi.trackExpression) {\n isModified =\n tokenize(prevApi.trackExpression || '', prevData) !==\n tokenize(nextApi.trackExpression || '', nextData);\n } else {\n prevApi = buildApi(prevApi as Api, prevData as object, {ignoreData: true});\n nextApi = buildApi(nextApi as Api, nextData as object, {ignoreData: true});\n isModified = prevApi.url !== nextApi.url;\n }\n\n return !!(\n isModified &&\n isValidApi(nextApi.url) &&\n (!nextApi.sendOn || evalExpression(nextApi.sendOn, nextData))\n );\n}\n\nexport function isValidApi(api: string) {\n return (\n api &&\n /^(?:(https?|wss?|taf):\\/\\/[^\\/]+)?(\\/?[^\\s\\/\\?]*){1,}(\\?.*)?$/.test(api)\n );\n}\n\nexport function isEffectiveApi(\n api?: Api,\n data?: any,\n initFetch?: boolean,\n initFetchOn?: string\n): api is Api {\n if (!api) {\n return false;\n }\n if (initFetch === false) {\n return false;\n }\n if (initFetchOn && data && !evalExpression(initFetchOn, data)) {\n return false;\n }\n if (typeof api === 'string' && api.length) {\n return true;\n } else if (isObject(api) && (api as ApiObject).url) {\n if (\n (api as ApiObject).sendOn &&\n data &&\n !evalExpression((api as ApiObject).sendOn as string, data)\n ) {\n return false;\n }\n return true;\n }\n return false;\n}\n\nexport function isSameApi(\n apiA: ApiObject | ApiCacheConfig,\n apiB: ApiObject | ApiCacheConfig\n): boolean {\n return (\n apiA.method === apiB.method &&\n apiA.url === apiB.url &&\n !isObjectShallowModified(apiA.data, apiB.data, false)\n );\n}\n\nexport function getApiCache(api: ApiObject): ApiCacheConfig | undefined {\n // 清理过期cache\n const now = Date.now();\n let result: ApiCacheConfig | undefined;\n\n for (let idx = 0, len = apiCaches.length; idx < len; idx++) {\n const apiCache = apiCaches[idx];\n\n if (now - apiCache.requestTime > (apiCache.cache as number)) {\n apiCaches.splice(idx, 1);\n len--;\n idx--;\n continue;\n }\n\n if (isSameApi(api, apiCache)) {\n result = apiCache;\n break;\n }\n }\n\n return result;\n}\n\nexport function setApiCache(\n api: ApiObject,\n promise: Promise<any>\n): Promise<any> {\n apiCaches.push({\n ...api,\n cachedPromise: promise,\n requestTime: Date.now()\n });\n return promise;\n}\n\nexport function clearApiCache() {\n apiCaches.splice(0, apiCaches.length);\n}\n\n// window.apiCaches = apiCaches;\n"
12
12
  ]
13
13
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 处理接口返回附件的情况,好几个地方用
3
+ * @param response
4
+ * @param __
5
+ * @returns
6
+ */
7
+ export default function attachmentAdpator(response: any, __: Function): any;
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ /**
3
+ * 处理接口返回附件的情况,好几个地方用
4
+ * @param response
5
+ * @param __
6
+ * @returns
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ var tslib_1 = require("tslib");
10
+ function attachmentAdpator(response, __) {
11
+ if (response && response.headers && response.headers['content-disposition']) {
12
+ var disposition = response.headers['content-disposition'];
13
+ var filename = '';
14
+ if (disposition && disposition.indexOf('attachment') !== -1) {
15
+ // disposition 有可能是 attachment; filename="??.xlsx"; filename*=UTF-8''%E4%B8%AD%E6%96%87.xlsx
16
+ // 这种情况下最后一个才是正确的文件名
17
+ var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)$/;
18
+ var matches = disposition.match(filenameRegex);
19
+ if (matches && matches.length) {
20
+ filename = matches[1].replace("UTF-8''", '').replace(/['"]/g, '');
21
+ }
22
+ // 很可能是中文被 url-encode 了
23
+ if (filename && filename.replace(/[^%]/g, '').length > 2) {
24
+ filename = decodeURIComponent(filename);
25
+ }
26
+ var type = response.headers['content-type'];
27
+ var blob = response.data.toString() === '[object Blob]'
28
+ ? response.data
29
+ : new Blob([response.data], { type: type });
30
+ if (typeof window.navigator.msSaveBlob !== 'undefined') {
31
+ // IE workaround for "HTML7007: One or more blob URLs were revoked by closing the blob for which they were created. These URLs will no longer resolve as the data backing the URL has been freed."
32
+ window.navigator.msSaveBlob(blob, filename);
33
+ }
34
+ else {
35
+ var URL_1 = window.URL || window.webkitURL;
36
+ var downloadUrl_1 = URL_1.createObjectURL(blob);
37
+ if (filename) {
38
+ // use HTML5 a[download] attribute to specify filename
39
+ var a = document.createElement('a');
40
+ // safari doesn't support this yet
41
+ if (typeof a.download === 'undefined') {
42
+ window.location = downloadUrl_1;
43
+ }
44
+ else {
45
+ a.href = downloadUrl_1;
46
+ a.download = filename;
47
+ document.body.appendChild(a);
48
+ a.click();
49
+ }
50
+ }
51
+ else {
52
+ window.location = downloadUrl_1;
53
+ }
54
+ setTimeout(function () {
55
+ URL_1.revokeObjectURL(downloadUrl_1);
56
+ }, 100); // cleanup
57
+ }
58
+ return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, response), { data: {
59
+ status: 0,
60
+ msg: __('Embed.downloading')
61
+ } });
62
+ }
63
+ }
64
+ else if (response.data.toString() === '[object Blob]') {
65
+ return new Promise(function (resolve, reject) {
66
+ var reader = new FileReader();
67
+ reader.addEventListener('loadend', function (e) {
68
+ var text = reader.result;
69
+ try {
70
+ resolve((0, tslib_1.__assign)((0, tslib_1.__assign)({}, response), { data: (0, tslib_1.__assign)({}, JSON.parse(text)) }));
71
+ }
72
+ catch (e) {
73
+ reject(e);
74
+ }
75
+ });
76
+ reader.readAsText(response.data);
77
+ });
78
+ }
79
+ return response;
80
+ }
81
+ exports.default = attachmentAdpator;
82
+ //# sourceMappingURL=./utils/attachmentAdpator.js.map
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "attachmentAdpator.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/utils/attachmentAdpator.ts"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
10
+ "sourcesContent": [
11
+ "/**\n * 处理接口返回附件的情况,好几个地方用\n * @param response\n * @param __\n * @returns\n */\n\nexport default function attachmentAdpator(response: any, __: Function) {\n if (response && response.headers && response.headers['content-disposition']) {\n const disposition = response.headers['content-disposition'];\n let filename = '';\n\n if (disposition && disposition.indexOf('attachment') !== -1) {\n // disposition 有可能是 attachment; filename=\"??.xlsx\"; filename*=UTF-8''%E4%B8%AD%E6%96%87.xlsx\n // 这种情况下最后一个才是正确的文件名\n let filenameRegex = /filename[^;=\\n]*=((['\"]).*?\\2|[^;\\n]*)$/;\n\n let matches = disposition.match(filenameRegex);\n if (matches && matches.length) {\n filename = matches[1].replace(`UTF-8''`, '').replace(/['\"]/g, '');\n }\n\n // 很可能是中文被 url-encode 了\n if (filename && filename.replace(/[^%]/g, '').length > 2) {\n filename = decodeURIComponent(filename);\n }\n\n let type = response.headers['content-type'];\n let blob =\n response.data.toString() === '[object Blob]'\n ? response.data\n : new Blob([response.data], {type: type});\n if (typeof (window.navigator as any).msSaveBlob !== 'undefined') {\n // IE workaround for \"HTML7007: One or more blob URLs were revoked by closing the blob for which they were created. These URLs will no longer resolve as the data backing the URL has been freed.\"\n (window.navigator as any).msSaveBlob(blob, filename);\n } else {\n let URL = window.URL || (window as any).webkitURL;\n let downloadUrl = URL.createObjectURL(blob);\n if (filename) {\n // use HTML5 a[download] attribute to specify filename\n let a = document.createElement('a');\n // safari doesn't support this yet\n if (typeof a.download === 'undefined') {\n (window as any).location = downloadUrl;\n } else {\n a.href = downloadUrl;\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n }\n } else {\n (window as any).location = downloadUrl;\n }\n setTimeout(function () {\n URL.revokeObjectURL(downloadUrl);\n }, 100); // cleanup\n }\n\n return {\n ...response,\n data: {\n status: 0,\n msg: __('Embed.downloading')\n }\n };\n }\n } else if (response.data.toString() === '[object Blob]') {\n return new Promise((resolve, reject) => {\n let reader = new FileReader();\n reader.addEventListener('loadend', e => {\n const text = reader.result as string;\n\n try {\n resolve({\n ...response,\n data: {\n ...JSON.parse(text)\n }\n });\n } catch (e) {\n reject(e);\n }\n });\n\n reader.readAsText(response.data);\n });\n }\n\n return response;\n}\n"
12
+ ]
13
+ }
@@ -18,6 +18,65 @@ var makeRegexp = function (reg) {
18
18
  }
19
19
  return /^$/;
20
20
  };
21
+ var memoize_1 = (0, tslib_1.__importDefault)(require("lodash/memoize"));
22
+ var isPlainObject_1 = (0, tslib_1.__importDefault)(require("lodash/isPlainObject"));
23
+ var makeUrlRegexp = (0, memoize_1.default)(function (options) {
24
+ options = (0, tslib_1.__assign)({ schemes: ['http', 'https', 'ftp', 'sftp'], allowLocal: true, allowDataUrl: false }, ((0, isPlainObject_1.default)(options) ? options : {}));
25
+ // https://github.com/ansman/validate.js/blob/master/validate.js#L1098-L1164
26
+ var schemes = options.schemes, allowLocal = options.allowLocal, allowDataUrl = options.allowDataUrl;
27
+ if (!Array.isArray(schemes)) {
28
+ schemes = ['http', 'https', 'ftp', 'sftp'];
29
+ }
30
+ var regex = '^' +
31
+ // protocol identifier
32
+ '(?:(?:' +
33
+ schemes.join('|') +
34
+ ')://)' +
35
+ // user:pass authentication
36
+ '(?:\\S+(?::\\S*)?@)?' +
37
+ '(?:';
38
+ var tld = '(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))';
39
+ if (allowLocal) {
40
+ tld += '?';
41
+ }
42
+ else {
43
+ regex +=
44
+ // IP address exclusion
45
+ // private & local networks
46
+ '(?!(?:10|127)(?:\\.\\d{1,3}){3})' +
47
+ '(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})' +
48
+ '(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})';
49
+ }
50
+ regex +=
51
+ // IP address dotted notation octets
52
+ // excludes loopback network 0.0.0.0
53
+ // excludes reserved space >= 224.0.0.0
54
+ // excludes network & broacast addresses
55
+ // (first & last IP address of each class)
56
+ '(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])' +
57
+ '(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}' +
58
+ '(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))' +
59
+ '|' +
60
+ // host name
61
+ '(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)' +
62
+ // domain name
63
+ '(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*' +
64
+ tld +
65
+ ')' +
66
+ // port number
67
+ '(?::\\d{2,5})?' +
68
+ // resource path
69
+ '(?:[/?#]\\S*)?' +
70
+ '$';
71
+ if (allowDataUrl) {
72
+ // RFC 2397
73
+ var mediaType = '\\w+\\/[-+.\\w]+(?:;[\\w=]+)*';
74
+ var urlchar = "[A-Za-z0-9-_.!~\\*'();\\/?:@&=+$,%]*";
75
+ var dataurl = 'data:(?:' + mediaType + ')?(?:;base64)?,' + urlchar;
76
+ regex = '(?:' + regex + ')|(?:^' + dataurl + '$)';
77
+ }
78
+ return new RegExp(regex, 'i');
79
+ });
21
80
  exports.validations = {
22
81
  isRequired: function (values, value) {
23
82
  return (value !== undefined &&
@@ -40,8 +99,8 @@ exports.validations = {
40
99
  isEmail: function (values, value) {
41
100
  return exports.validations.matchRegexp(values, value, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i);
42
101
  },
43
- isUrl: function (values, value) {
44
- return exports.validations.matchRegexp(values, value, /^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i);
102
+ isUrl: function (values, value, options) {
103
+ return exports.validations.matchRegexp(values, value, makeUrlRegexp(options));
45
104
  },
46
105
  isTrue: function (values, value) {
47
106
  return value === true;
@@ -223,9 +282,7 @@ function validate(value, values, rules, messages, __) {
223
282
  throw new Error('Validation `' + ruleName + '` not exists!');
224
283
  }
225
284
  var fn = exports.validations[ruleName];
226
- var args = (Array.isArray(rules[ruleName])
227
- ? rules[ruleName]
228
- : [rules[ruleName]]).map(function (item) {
285
+ var args = (Array.isArray(rules[ruleName]) ? rules[ruleName] : [rules[ruleName]]).map(function (item) {
229
286
  if (typeof item === 'string' && (0, tpl_builtin_1.isPureVariable)(item)) {
230
287
  return (0, tpl_builtin_1.resolveVariableAndFilter)(item, values, '|raw');
231
288
  }
@@ -6,8 +6,8 @@
6
6
  "/src/utils/validations.ts"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import {createObject} from './helper';\nimport {filter} from './tpl';\nimport {isPureVariable, resolveVariableAndFilter} from './tpl-builtin';\nconst isExisty = (value: any) => value !== null && value !== undefined;\nconst isEmpty = (value: any) => value === '';\nconst makeRegexp = (reg: string | RegExp) => {\n if (reg instanceof RegExp) {\n return reg;\n } else if (/^(?:matchRegexp\\:)?\\/(.+)\\/([gimuy]*)$/.test(reg)) {\n return new RegExp(RegExp.$1, RegExp.$2 || '');\n } else if (typeof reg === 'string') {\n return new RegExp(reg);\n }\n\n return /^$/;\n};\n\nexport interface ValidateFn {\n (\n values: {[propsName: string]: any},\n value: any,\n arg1?: any,\n arg2?: any,\n arg3?: any\n ): boolean;\n}\n\nexport const validations: {\n [propsName: string]: ValidateFn;\n} = {\n isRequired: function (values, value: any) {\n return (\n value !== undefined &&\n value !== '' &&\n value !== null &&\n (!Array.isArray(value) || !!value.length)\n );\n },\n isExisty: function (values, value) {\n return isExisty(value);\n },\n matchRegexp: function (values, value, regexp) {\n return !isExisty(value) || isEmpty(value) || makeRegexp(regexp).test(value);\n },\n isUndefined: function (values, value) {\n return value === undefined;\n },\n isEmptyString: function (values, value) {\n return isEmpty(value);\n },\n isEmail: function (values, value) {\n return validations.matchRegexp(\n values,\n value,\n /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i\n );\n },\n isUrl: function (values, value) {\n return validations.matchRegexp(\n values,\n value,\n /^(https?|s?ftp):\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i\n );\n },\n isTrue: function (values, value) {\n return value === true;\n },\n isFalse: function (values, value) {\n return value === false;\n },\n isNumeric: function (values, value) {\n if (typeof value === 'number') {\n return true;\n }\n return validations.matchRegexp(values, value, /^[-+]?(?:\\d*[.])?\\d+$/);\n },\n isAlpha: function (values, value) {\n return validations.matchRegexp(values, value, /^[A-Z]+$/i);\n },\n isAlphanumeric: function (values, value) {\n return validations.matchRegexp(values, value, /^[0-9A-Z]+$/i);\n },\n isInt: function (values, value) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:0|[1-9]\\d*))$/);\n },\n isFloat: function (values, value) {\n return validations.matchRegexp(\n values,\n value,\n /^(?:[-+]?(?:\\d+))?(?:\\.\\d*)?(?:[eE][\\+\\-]?(?:\\d+))?$/\n );\n },\n isWords: function (values, value) {\n return validations.matchRegexp(values, value, /^[A-Z\\s]+$/i);\n },\n isSpecialWords: function (values, value) {\n return validations.matchRegexp(values, value, /^[A-Z\\s\\u00C0-\\u017F]+$/i);\n },\n isLength: function (values, value, length) {\n return !isExisty(value) || isEmpty(value) || value.length === length;\n },\n equals: function (values, value, eql) {\n return !isExisty(value) || isEmpty(value) || value == eql;\n },\n equalsField: function (values, value, field) {\n return value == values[field];\n },\n maxLength: function (values, value, length) {\n // 此方法应该判断文本长度,如果传入数据为number,导致 maxLength 和 maximum 表现一致了,默认转成string\n if (typeof value === 'number') {\n value = String(value);\n }\n return !isExisty(value) || value.length <= length;\n },\n minLength: function (values, value, length) {\n return !isExisty(value) || isEmpty(value) || value.length >= length;\n },\n isUrlPath: function (values, value, regexp) {\n return !isExisty(value) || isEmpty(value) || /^[a-z0-9_\\\\-]+$/i.test(value);\n },\n maximum: function (values, value, maximum) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n (parseFloat(value) || 0) <= (parseFloat(maximum) || 0)\n );\n },\n lt: function (values, value, maximum) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n (parseFloat(value) || 0) < (parseFloat(maximum) || 0)\n );\n },\n minimum: function (values, value, minimum) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n (parseFloat(value) || 0) >= (parseFloat(minimum) || 0)\n );\n },\n gt: function (values, value, minimum) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n (parseFloat(value) || 0) > (parseFloat(minimum) || 0)\n );\n },\n isJson: function (values, value, minimum) {\n if (isExisty(value) && !isEmpty(value) && typeof value === 'string') {\n try {\n const result = JSON.parse(value);\n if (typeof result === 'object' && result) {\n return true;\n }\n return false;\n } catch (e) {\n return false;\n }\n }\n return true;\n },\n isPhoneNumber: function (values, value) {\n return (\n !isExisty(value) || isEmpty(value) || /^[1]([3-9])[0-9]{9}$/.test(value)\n );\n },\n isTelNumber: function (values, value) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n /^(\\(\\d{3,4}\\)|\\d{3,4}-|\\s)?\\d{7,14}$/.test(value)\n );\n },\n isZipcode: function (values, value) {\n return (\n !isExisty(value) || isEmpty(value) || /^[1-9]{1}(\\d+){5}$/.test(value)\n );\n },\n isId: function (values, value) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n /(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)/.test(\n value\n )\n );\n },\n notEmptyString: function (values, value) {\n return !isExisty(value) || !(String(value) && String(value).trim() === '');\n },\n matchRegexp1: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp2: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp3: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp4: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp5: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp6: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp7: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp8: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp9: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n }\n};\n\nexport function addRule(\n ruleName: string,\n fn: ValidateFn,\n message: string = ''\n) {\n validations[ruleName] = fn;\n validateMessages[ruleName] = message;\n}\n\nexport const validateMessages: {\n [propName: string]: string;\n} = {\n isEmail: 'validate.isEmail',\n isRequired: 'validate.isRequired',\n isUrl: 'validate.isUrl',\n isInt: 'validate.isInt',\n isAlpha: 'validate.isAlpha',\n isNumeric: 'validate.isNumeric',\n isAlphanumeric: 'validate.isAlphanumeric',\n isFloat: 'validate.isFloat',\n isWords: 'validate.isWords',\n isUrlPath: 'validate.isUrlPath',\n matchRegexp: 'validate.matchRegexp',\n minLength: 'validate.minLength',\n maxLength: 'validate.maxLength',\n maximum: 'validate.maximum',\n lt: 'validate.lt',\n minimum: 'validate.minimum',\n gt: 'validate.gt',\n isJson: 'validate.isJson',\n isLength: 'validate.isLength',\n notEmptyString: 'validate.notEmptyString',\n equalsField: 'validate.equalsField',\n equals: 'validate.equals',\n isPhoneNumber: 'validate.isPhoneNumber',\n isTelNumber: 'validate.isTelNumber',\n isZipcode: 'validate.isZipcode',\n isId: 'validate.isId'\n};\n\nexport function validate(\n value: any,\n values: {[propName: string]: any},\n rules: {[propName: string]: any},\n messages?: {[propName: string]: string},\n __ = (str: string) => str\n): Array<{\n rule: string;\n msg: string;\n}> {\n const errors: Array<{\n rule: string;\n msg: string;\n }> = [];\n\n rules &&\n Object.keys(rules).forEach(ruleName => {\n if (!rules[ruleName] && rules[ruleName] !== 0) {\n return;\n } else if (typeof validations[ruleName] !== 'function') {\n throw new Error('Validation `' + ruleName + '` not exists!');\n }\n\n const fn = validations[ruleName];\n const args = (Array.isArray(rules[ruleName])\n ? rules[ruleName]\n : [rules[ruleName]]\n ).map((item: any) => {\n if (typeof item === 'string' && isPureVariable(item)) {\n return resolveVariableAndFilter(item, values, '|raw');\n }\n\n return item;\n });\n\n if (!fn(values, value, ...args)) {\n errors.push({\n rule: ruleName,\n msg: filter(\n __((messages && messages[ruleName]) || validateMessages[ruleName]),\n {\n ...[''].concat(args)\n }\n )\n });\n }\n });\n\n return errors;\n}\n\nexport function validateObject(\n values: {[propName: string]: any},\n rules: {[propName: string]: any},\n messages?: {[propName: string]: string},\n __ = (str: string) => str\n) {\n const ret: {\n [propName: string]: {\n rule: string;\n msg: string;\n }[];\n } = {};\n\n Object.keys(rules).forEach(key => {\n const msgs = validate(\n values[key],\n values,\n rules[key] === true\n ? {\n isRequired: true\n }\n : rules[key],\n messages,\n __\n );\n\n if (msgs.length) {\n ret[key] = msgs;\n }\n });\n\n return ret;\n}\n\nconst splitValidations = function (str: string): Array<string> {\n let i = 0;\n const placeholder: {[propName: string]: string} = {};\n\n return str\n .replace(/matchRegexp\\d*\\s*\\:\\s*\\/.*?\\/[igm]*/g, raw => {\n placeholder[`__${i}`] = raw;\n return `__${i++}`;\n })\n .split(/,(?![^{\\[]*[}\\]])/g)\n .map(str => (/^__\\d+$/.test(str) ? placeholder[str] : str.trim()));\n};\n\nexport function str2rules(\n validations: string | {[propName: string]: any}\n): {[propName: string]: any} {\n if (typeof validations === 'string') {\n return validations\n ? splitValidations(validations).reduce(function (\n validations: {[propName: string]: any},\n validation\n ) {\n const idx = validation.indexOf(':');\n let validateMethod = validation;\n let args = [];\n\n if (~idx) {\n validateMethod = validation.substring(0, idx);\n args = /^matchRegexp/.test(validateMethod)\n ? [validation.substring(idx + 1).trim()]\n : validation\n .substring(idx + 1)\n .split(',')\n .map(function (arg) {\n try {\n return JSON.parse(arg);\n } catch (e) {\n return arg;\n }\n });\n }\n\n validations[validateMethod] = args.length ? args : true;\n return validations;\n },\n {})\n : {};\n }\n\n return validations || {};\n}\n"
11
+ "import {createObject} from './helper';\nimport {filter} from './tpl';\nimport {isPureVariable, resolveVariableAndFilter} from './tpl-builtin';\nconst isExisty = (value: any) => value !== null && value !== undefined;\nconst isEmpty = (value: any) => value === '';\nconst makeRegexp = (reg: string | RegExp) => {\n if (reg instanceof RegExp) {\n return reg;\n } else if (/^(?:matchRegexp\\:)?\\/(.+)\\/([gimuy]*)$/.test(reg)) {\n return new RegExp(RegExp.$1, RegExp.$2 || '');\n } else if (typeof reg === 'string') {\n return new RegExp(reg);\n }\n\n return /^$/;\n};\nimport memoize from 'lodash/memoize';\nimport isPlainObject from 'lodash/isPlainObject';\n\nconst makeUrlRegexp = memoize(function (options: any) {\n options = {\n schemes: ['http', 'https', 'ftp', 'sftp'],\n allowLocal: true,\n allowDataUrl: false,\n ...(isPlainObject(options) ? options : {})\n };\n\n // https://github.com/ansman/validate.js/blob/master/validate.js#L1098-L1164\n let {schemes, allowLocal, allowDataUrl} = options;\n\n if (!Array.isArray(schemes)) {\n schemes = ['http', 'https', 'ftp', 'sftp'];\n }\n\n let regex =\n '^' +\n // protocol identifier\n '(?:(?:' +\n schemes.join('|') +\n ')://)' +\n // user:pass authentication\n '(?:\\\\S+(?::\\\\S*)?@)?' +\n '(?:';\n\n var tld = '(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))';\n\n if (allowLocal) {\n tld += '?';\n } else {\n regex +=\n // IP address exclusion\n // private & local networks\n '(?!(?:10|127)(?:\\\\.\\\\d{1,3}){3})' +\n '(?!(?:169\\\\.254|192\\\\.168)(?:\\\\.\\\\d{1,3}){2})' +\n '(?!172\\\\.(?:1[6-9]|2\\\\d|3[0-1])(?:\\\\.\\\\d{1,3}){2})';\n }\n\n regex +=\n // IP address dotted notation octets\n // excludes loopback network 0.0.0.0\n // excludes reserved space >= 224.0.0.0\n // excludes network & broacast addresses\n // (first & last IP address of each class)\n '(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])' +\n '(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}' +\n '(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))' +\n '|' +\n // host name\n '(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)' +\n // domain name\n '(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*' +\n tld +\n ')' +\n // port number\n '(?::\\\\d{2,5})?' +\n // resource path\n '(?:[/?#]\\\\S*)?' +\n '$';\n\n if (allowDataUrl) {\n // RFC 2397\n var mediaType = '\\\\w+\\\\/[-+.\\\\w]+(?:;[\\\\w=]+)*';\n var urlchar = \"[A-Za-z0-9-_.!~\\\\*'();\\\\/?:@&=+$,%]*\";\n var dataurl = 'data:(?:' + mediaType + ')?(?:;base64)?,' + urlchar;\n regex = '(?:' + regex + ')|(?:^' + dataurl + '$)';\n }\n\n return new RegExp(regex, 'i');\n});\n\nexport interface ValidateFn {\n (\n values: {[propsName: string]: any},\n value: any,\n arg1?: any,\n arg2?: any,\n arg3?: any\n ): boolean;\n}\n\nexport const validations: {\n [propsName: string]: ValidateFn;\n} = {\n isRequired: function (values, value: any) {\n return (\n value !== undefined &&\n value !== '' &&\n value !== null &&\n (!Array.isArray(value) || !!value.length)\n );\n },\n isExisty: function (values, value) {\n return isExisty(value);\n },\n matchRegexp: function (values, value, regexp) {\n return !isExisty(value) || isEmpty(value) || makeRegexp(regexp).test(value);\n },\n isUndefined: function (values, value) {\n return value === undefined;\n },\n isEmptyString: function (values, value) {\n return isEmpty(value);\n },\n isEmail: function (values, value) {\n return validations.matchRegexp(\n values,\n value,\n /^((([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+(\\.([a-z]|\\d|[!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(\\\\([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)+(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))$/i\n );\n },\n isUrl: function (values, value, options) {\n return validations.matchRegexp(values, value, makeUrlRegexp(options));\n },\n isTrue: function (values, value) {\n return value === true;\n },\n isFalse: function (values, value) {\n return value === false;\n },\n isNumeric: function (values, value) {\n if (typeof value === 'number') {\n return true;\n }\n return validations.matchRegexp(values, value, /^[-+]?(?:\\d*[.])?\\d+$/);\n },\n isAlpha: function (values, value) {\n return validations.matchRegexp(values, value, /^[A-Z]+$/i);\n },\n isAlphanumeric: function (values, value) {\n return validations.matchRegexp(values, value, /^[0-9A-Z]+$/i);\n },\n isInt: function (values, value) {\n return validations.matchRegexp(values, value, /^(?:[-+]?(?:0|[1-9]\\d*))$/);\n },\n isFloat: function (values, value) {\n return validations.matchRegexp(\n values,\n value,\n /^(?:[-+]?(?:\\d+))?(?:\\.\\d*)?(?:[eE][\\+\\-]?(?:\\d+))?$/\n );\n },\n isWords: function (values, value) {\n return validations.matchRegexp(values, value, /^[A-Z\\s]+$/i);\n },\n isSpecialWords: function (values, value) {\n return validations.matchRegexp(values, value, /^[A-Z\\s\\u00C0-\\u017F]+$/i);\n },\n isLength: function (values, value, length) {\n return !isExisty(value) || isEmpty(value) || value.length === length;\n },\n equals: function (values, value, eql) {\n return !isExisty(value) || isEmpty(value) || value == eql;\n },\n equalsField: function (values, value, field) {\n return value == values[field];\n },\n maxLength: function (values, value, length) {\n // 此方法应该判断文本长度,如果传入数据为number,导致 maxLength 和 maximum 表现一致了,默认转成string\n if (typeof value === 'number') {\n value = String(value);\n }\n return !isExisty(value) || value.length <= length;\n },\n minLength: function (values, value, length) {\n return !isExisty(value) || isEmpty(value) || value.length >= length;\n },\n isUrlPath: function (values, value, regexp) {\n return !isExisty(value) || isEmpty(value) || /^[a-z0-9_\\\\-]+$/i.test(value);\n },\n maximum: function (values, value, maximum) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n (parseFloat(value) || 0) <= (parseFloat(maximum) || 0)\n );\n },\n lt: function (values, value, maximum) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n (parseFloat(value) || 0) < (parseFloat(maximum) || 0)\n );\n },\n minimum: function (values, value, minimum) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n (parseFloat(value) || 0) >= (parseFloat(minimum) || 0)\n );\n },\n gt: function (values, value, minimum) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n (parseFloat(value) || 0) > (parseFloat(minimum) || 0)\n );\n },\n isJson: function (values, value, minimum) {\n if (isExisty(value) && !isEmpty(value) && typeof value === 'string') {\n try {\n const result = JSON.parse(value);\n if (typeof result === 'object' && result) {\n return true;\n }\n return false;\n } catch (e) {\n return false;\n }\n }\n return true;\n },\n isPhoneNumber: function (values, value) {\n return (\n !isExisty(value) || isEmpty(value) || /^[1]([3-9])[0-9]{9}$/.test(value)\n );\n },\n isTelNumber: function (values, value) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n /^(\\(\\d{3,4}\\)|\\d{3,4}-|\\s)?\\d{7,14}$/.test(value)\n );\n },\n isZipcode: function (values, value) {\n return (\n !isExisty(value) || isEmpty(value) || /^[1-9]{1}(\\d+){5}$/.test(value)\n );\n },\n isId: function (values, value) {\n return (\n !isExisty(value) ||\n isEmpty(value) ||\n /(^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$)|(^[1-9]\\d{5}\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}$)/.test(\n value\n )\n );\n },\n notEmptyString: function (values, value) {\n return !isExisty(value) || !(String(value) && String(value).trim() === '');\n },\n matchRegexp1: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp2: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp3: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp4: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp5: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp6: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp7: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp8: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n },\n matchRegexp9: function (values, value, regexp) {\n return validations.matchRegexp(values, value, regexp);\n }\n};\n\nexport function addRule(\n ruleName: string,\n fn: ValidateFn,\n message: string = ''\n) {\n validations[ruleName] = fn;\n validateMessages[ruleName] = message;\n}\n\nexport const validateMessages: {\n [propName: string]: string;\n} = {\n isEmail: 'validate.isEmail',\n isRequired: 'validate.isRequired',\n isUrl: 'validate.isUrl',\n isInt: 'validate.isInt',\n isAlpha: 'validate.isAlpha',\n isNumeric: 'validate.isNumeric',\n isAlphanumeric: 'validate.isAlphanumeric',\n isFloat: 'validate.isFloat',\n isWords: 'validate.isWords',\n isUrlPath: 'validate.isUrlPath',\n matchRegexp: 'validate.matchRegexp',\n minLength: 'validate.minLength',\n maxLength: 'validate.maxLength',\n maximum: 'validate.maximum',\n lt: 'validate.lt',\n minimum: 'validate.minimum',\n gt: 'validate.gt',\n isJson: 'validate.isJson',\n isLength: 'validate.isLength',\n notEmptyString: 'validate.notEmptyString',\n equalsField: 'validate.equalsField',\n equals: 'validate.equals',\n isPhoneNumber: 'validate.isPhoneNumber',\n isTelNumber: 'validate.isTelNumber',\n isZipcode: 'validate.isZipcode',\n isId: 'validate.isId'\n};\n\nexport function validate(\n value: any,\n values: {[propName: string]: any},\n rules: {[propName: string]: any},\n messages?: {[propName: string]: string},\n __ = (str: string) => str\n): Array<{\n rule: string;\n msg: string;\n}> {\n const errors: Array<{\n rule: string;\n msg: string;\n }> = [];\n\n rules &&\n Object.keys(rules).forEach(ruleName => {\n if (!rules[ruleName] && rules[ruleName] !== 0) {\n return;\n } else if (typeof validations[ruleName] !== 'function') {\n throw new Error('Validation `' + ruleName + '` not exists!');\n }\n\n const fn = validations[ruleName];\n const args = (\n Array.isArray(rules[ruleName]) ? rules[ruleName] : [rules[ruleName]]\n ).map((item: any) => {\n if (typeof item === 'string' && isPureVariable(item)) {\n return resolveVariableAndFilter(item, values, '|raw');\n }\n\n return item;\n });\n\n if (!fn(values, value, ...args)) {\n errors.push({\n rule: ruleName,\n msg: filter(\n __((messages && messages[ruleName]) || validateMessages[ruleName]),\n {\n ...[''].concat(args)\n }\n )\n });\n }\n });\n\n return errors;\n}\n\nexport function validateObject(\n values: {[propName: string]: any},\n rules: {[propName: string]: any},\n messages?: {[propName: string]: string},\n __ = (str: string) => str\n) {\n const ret: {\n [propName: string]: {\n rule: string;\n msg: string;\n }[];\n } = {};\n\n Object.keys(rules).forEach(key => {\n const msgs = validate(\n values[key],\n values,\n rules[key] === true\n ? {\n isRequired: true\n }\n : rules[key],\n messages,\n __\n );\n\n if (msgs.length) {\n ret[key] = msgs;\n }\n });\n\n return ret;\n}\n\nconst splitValidations = function (str: string): Array<string> {\n let i = 0;\n const placeholder: {[propName: string]: string} = {};\n\n return str\n .replace(/matchRegexp\\d*\\s*\\:\\s*\\/.*?\\/[igm]*/g, raw => {\n placeholder[`__${i}`] = raw;\n return `__${i++}`;\n })\n .split(/,(?![^{\\[]*[}\\]])/g)\n .map(str => (/^__\\d+$/.test(str) ? placeholder[str] : str.trim()));\n};\n\nexport function str2rules(validations: string | {[propName: string]: any}): {\n [propName: string]: any;\n} {\n if (typeof validations === 'string') {\n return validations\n ? splitValidations(validations).reduce(function (\n validations: {[propName: string]: any},\n validation\n ) {\n const idx = validation.indexOf(':');\n let validateMethod = validation;\n let args = [];\n\n if (~idx) {\n validateMethod = validation.substring(0, idx);\n args = /^matchRegexp/.test(validateMethod)\n ? [validation.substring(idx + 1).trim()]\n : validation\n .substring(idx + 1)\n .split(',')\n .map(function (arg) {\n try {\n return JSON.parse(arg);\n } catch (e) {\n return arg;\n }\n });\n }\n\n validations[validateMethod] = args.length ? args : true;\n return validations;\n },\n {})\n : {};\n }\n\n return validations || {};\n}\n"
12
12
  ]
13
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amis",
3
- "version": "1.3.5-beta.7",
3
+ "version": "1.4.0",
4
4
  "description": "一种MIS页面生成工具",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {