bx-rest 0.4.18 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -26
- package/consts/part-name-methods.d.ts +98 -98
- package/consts/time.d.ts +3 -3
- package/esm2022/bx-rest.mjs +4 -4
- package/esm2022/consts/part-name-methods.mjs +99 -99
- package/esm2022/consts/time.mjs +3 -3
- package/esm2022/functions/mapResult.mjs +10 -10
- package/esm2022/map/app.mjs +18 -18
- package/esm2022/map/base.mjs +13 -13
- package/esm2022/map/calendar/event.mjs +54 -54
- package/esm2022/map/calendar.mjs +17 -17
- package/esm2022/map/department.mjs +34 -34
- package/esm2022/map/disk/attachedObject.mjs +26 -26
- package/esm2022/map/disk/base.mjs +77 -77
- package/esm2022/map/disk/file.mjs +19 -19
- package/esm2022/map/disk/folder.mjs +16 -16
- package/esm2022/map/disk/storage.mjs +19 -19
- package/esm2022/map/lists/element.mjs +23 -23
- package/esm2022/map/lists/field.mjs +15 -15
- package/esm2022/map/lists.mjs +74 -75
- package/esm2022/map/log/blogpost.mjs +82 -82
- package/esm2022/map/log.mjs +17 -17
- package/esm2022/map/rest.mjs +16 -16
- package/esm2022/map/server.mjs +16 -16
- package/esm2022/map/sonet_group.mjs +33 -33
- package/esm2022/map/task/commentitem.mjs +54 -54
- package/esm2022/map/task/elapseditem.mjs +33 -34
- package/esm2022/map/task/item/userfield.mjs +37 -37
- package/esm2022/map/task/planner.mjs +16 -16
- package/esm2022/map/task/stages.mjs +20 -20
- package/esm2022/map/task.mjs +21 -21
- package/esm2022/map/tasks/task/result.mjs +25 -25
- package/esm2022/map/tasks/task.mjs +145 -146
- package/esm2022/map/tasks.mjs +17 -17
- package/esm2022/map/timeman.mjs +37 -37
- package/esm2022/map/user.mjs +95 -99
- package/esm2022/map.mjs +33 -33
- package/esm2022/provide.mjs +14 -0
- package/esm2022/public-api.mjs +17 -15
- package/esm2022/request/app.mjs +24 -24
- package/esm2022/request/bizproc/activity.mjs +12 -12
- package/esm2022/request/bizproc/event.mjs +12 -12
- package/esm2022/request/bizproc/robot.mjs +12 -12
- package/esm2022/request/bizproc/task.mjs +12 -12
- package/esm2022/request/bizproc/workflow/instance.mjs +12 -12
- package/esm2022/request/bizproc/workflow/template.mjs +13 -13
- package/esm2022/request/bizproc/workflow.mjs +28 -26
- package/esm2022/request/bizproc.mjs +25 -25
- package/esm2022/request/calendar/event.mjs +22 -22
- package/esm2022/request/calendar.mjs +17 -17
- package/esm2022/request/department.mjs +36 -36
- package/esm2022/request/disk/attachedObject.mjs +22 -22
- package/esm2022/request/disk/file.mjs +25 -25
- package/esm2022/request/disk/folder.mjs +114 -114
- package/esm2022/request/disk/storage.mjs +45 -45
- package/esm2022/request/disk.mjs +21 -21
- package/esm2022/request/im/chat.mjs +22 -22
- package/esm2022/request/im.mjs +17 -17
- package/esm2022/request/lists/element.mjs +25 -25
- package/esm2022/request/lists/field.mjs +22 -22
- package/esm2022/request/lists.mjs +29 -26
- package/esm2022/request/log/blogcomment.mjs +12 -12
- package/esm2022/request/log/blogpost.mjs +25 -25
- package/esm2022/request/log.mjs +19 -19
- package/esm2022/request/server.mjs +22 -22
- package/esm2022/request/sonet_group.mjs +32 -32
- package/esm2022/request/task/commentitem.mjs +42 -42
- package/esm2022/request/task/elapseditem.mjs +44 -44
- package/esm2022/request/task/item/userfield.mjs +22 -22
- package/esm2022/request/task/item.mjs +17 -17
- package/esm2022/request/task/planner.mjs +21 -21
- package/esm2022/request/task.mjs +23 -23
- package/esm2022/request/tasks/task/result.mjs +28 -28
- package/esm2022/request/tasks/task.mjs +110 -110
- package/esm2022/request/tasks.mjs +17 -17
- package/esm2022/request/timeman.mjs +22 -22
- package/esm2022/request/user/userfield.mjs +22 -22
- package/esm2022/request/user.mjs +42 -42
- package/esm2022/request-navvy/app.mjs +27 -27
- package/esm2022/request-navvy/bizproc/workflow.mjs +25 -22
- package/esm2022/request-navvy/bizproc.mjs +62 -61
- package/esm2022/request-navvy/calendar/event.mjs +24 -24
- package/esm2022/request-navvy/calendar.mjs +52 -52
- package/esm2022/request-navvy/department.mjs +34 -34
- package/esm2022/request-navvy/disk/attachedObject.mjs +24 -24
- package/esm2022/request-navvy/disk/file.mjs +27 -27
- package/esm2022/request-navvy/disk/folder.mjs +116 -116
- package/esm2022/request-navvy/disk/interlayer/storage.mjs +60 -60
- package/esm2022/request-navvy/disk/operation.mjs +84 -84
- package/esm2022/request-navvy/disk/storage.mjs +51 -51
- package/esm2022/request-navvy/disk.mjs +23 -23
- package/esm2022/request-navvy/im/chat.mjs +22 -22
- package/esm2022/request-navvy/im.mjs +17 -17
- package/esm2022/request-navvy/lists/element.mjs +27 -27
- package/esm2022/request-navvy/lists/field.mjs +24 -24
- package/esm2022/request-navvy/lists.mjs +28 -28
- package/esm2022/request-navvy/log/blogcomment.mjs +18 -18
- package/esm2022/request-navvy/log/blogpost.mjs +29 -38
- package/esm2022/request-navvy/log.mjs +19 -19
- package/esm2022/request-navvy/server.mjs +24 -24
- package/esm2022/request-navvy/sonet_group.mjs +24 -24
- package/esm2022/request-navvy/task/commentitem.mjs +52 -52
- package/esm2022/request-navvy/task/delegate/elapseditem.mjs +37 -37
- package/esm2022/request-navvy/task/elapseditem.mjs +211 -211
- package/esm2022/request-navvy/task/item/userfield.mjs +24 -24
- package/esm2022/request-navvy/task/item.mjs +17 -17
- package/esm2022/request-navvy/task/operation/elapseditem.mjs +172 -159
- package/esm2022/request-navvy/task/planner.mjs +24 -24
- package/esm2022/request-navvy/task.mjs +23 -23
- package/esm2022/request-navvy/tasks/task/result.mjs +30 -30
- package/esm2022/request-navvy/tasks/task.mjs +128 -128
- package/esm2022/request-navvy/tasks.mjs +17 -17
- package/esm2022/request-navvy/timeman.mjs +24 -24
- package/esm2022/request-navvy/user/userfield.mjs +22 -22
- package/esm2022/request-navvy/user.mjs +161 -161
- package/esm2022/rest/base.mjs +51 -51
- package/esm2022/rest/map.mjs +17 -17
- package/esm2022/rest/navvy.mjs +62 -62
- package/esm2022/services/Navvy/NavvyAlternativePaginationNavigation.mjs +57 -57
- package/esm2022/services/Navvy/NavvyPagNav.mjs +40 -45
- package/esm2022/services/Navvy/NavvyPagNavTasks.mjs +40 -40
- package/esm2022/services/Navvy/NavvyPagNavWithUselessKey.mjs +58 -58
- package/esm2022/services/Navvy/NavvySimple.mjs +15 -15
- package/esm2022/services/Navvy/NavvySupport.mjs +16 -16
- package/esm2022/services/Navvy/extends/NavvyPagNavBase.mjs +30 -30
- package/esm2022/services/base.mjs +121 -173
- package/esm2022/services/http/HttpBX.mjs +121 -121
- package/esm2022/services/http/HttpData.mjs +116 -118
- package/esm2022/services/http/base/base.mjs +14 -27
- package/esm2022/services/http/http.mjs +61 -61
- package/esm2022/services/http/httpNavvy.mjs +24 -0
- package/esm2022/services/http/sessionKey.mjs +127 -216
- package/esm2022/services/navvy.mjs +29 -29
- package/esm2022/services/vanilla/localStorage.mjs +35 -35
- package/esm2022/services/vanilla/sessionStorage.mjs +23 -23
- package/esm2022/services/vanilla//321/201ookies.mjs +43 -43
- package/esm2022/settings.mjs +14 -15
- package/esm2022/typification/auth/save.mjs +2 -2
- package/esm2022/typification/base/all-key-free.mjs +1 -1
- package/esm2022/typification/base/answers.mjs +438 -0
- package/esm2022/typification/base/methods.mjs +664 -656
- package/esm2022/typification/base/modyfy.mjs +2 -2
- package/esm2022/typification/base/params.mjs +525 -0
- package/esm2022/typification/base/upper-case-keys.mjs +1 -1
- package/esm2022/typification/base/workpiece/methods-list.mjs +2 -2
- package/esm2022/typification/base/workpiece/methods.mjs +2 -2
- package/esm2022/typification/rest/app/info.mjs +1 -1
- package/esm2022/typification/rest/base/ApiPaginationBX.mjs +1 -1
- package/esm2022/typification/rest/base/OrderOptions.mjs +1 -1
- package/esm2022/typification/rest/base/YesNo.mjs +1 -1
- package/esm2022/typification/rest/base/answer.mjs +1 -1
- package/esm2022/typification/rest/base/filterGenerator.mjs +1 -1
- package/esm2022/typification/rest/base/sort.mjs +1 -1
- package/esm2022/typification/rest/batch/batchRequestParam.mjs +1 -1
- package/esm2022/typification/rest/batch.mjs +1 -1
- package/esm2022/typification/rest/bizproc/workflow/start.mjs +1 -1
- package/esm2022/typification/rest/calendar/base/type.mjs +1 -1
- package/esm2022/typification/rest/calendar/get/answer.mjs +1 -1
- package/esm2022/typification/rest/calendar/get/param.mjs +1 -1
- package/esm2022/typification/rest/department/add.mjs +1 -1
- package/esm2022/typification/rest/department/del.mjs +1 -1
- package/esm2022/typification/rest/department/department.mjs +1 -1
- package/esm2022/typification/rest/department/get.mjs +1 -1
- package/esm2022/typification/rest/department/update.mjs +1 -1
- package/esm2022/typification/rest/disk/AttachedObject.mjs +1 -1
- package/esm2022/typification/rest/disk/file.mjs +1 -1
- package/esm2022/typification/rest/disk/folder/addSubFolder.mjs +1 -1
- package/esm2022/typification/rest/disk/folder/copyTo.mjs +1 -1
- package/esm2022/typification/rest/disk/folder/getFields.mjs +1 -1
- package/esm2022/typification/rest/disk/folder/moveTo.mjs +1 -1
- package/esm2022/typification/rest/disk/folder/rename.mjs +1 -1
- package/esm2022/typification/rest/disk/folder/uploadFile.mjs +1 -1
- package/esm2022/typification/rest/disk/folder.mjs +1 -1
- package/esm2022/typification/rest/disk/map.mjs +1 -1
- package/esm2022/typification/rest/disk/storage/getchildren.mjs +1 -1
- package/esm2022/typification/rest/disk/storage/uploadfile.mjs +1 -1
- package/esm2022/typification/rest/im/chat/add.mjs +1 -1
- package/esm2022/typification/rest/lists/element/add.mjs +1 -1
- package/esm2022/typification/rest/lists/element/get.mjs +1 -1
- package/esm2022/typification/rest/lists/field/get.mjs +2 -2
- package/esm2022/typification/rest/lists/get.mjs +2 -2
- package/esm2022/typification/rest/log/blogpost/add.mjs +2 -2
- package/esm2022/typification/rest/log/blogpost/essence.mjs +1 -1
- package/esm2022/typification/rest/log/blogpost/get.mjs +2 -2
- package/esm2022/typification/rest/profile.mjs +1 -1
- package/esm2022/typification/rest/settings.mjs +1 -1
- package/esm2022/typification/rest/sonet_group/base.mjs +1 -1
- package/esm2022/typification/rest/sonet_group/get.mjs +2 -2
- package/esm2022/typification/rest/support/param.mjs +1 -1
- package/esm2022/typification/rest/task/access/getaccess.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/add.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/commentitem.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/delete.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/get.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/getlist.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/update.mjs +1 -1
- package/esm2022/typification/rest/task/elapseditem/add.mjs +1 -1
- package/esm2022/typification/rest/task/elapseditem/del.mjs +1 -1
- package/esm2022/typification/rest/task/elapseditem/get.mjs +1 -1
- package/esm2022/typification/rest/task/elapseditem/isActionAllowedParam.mjs +1 -1
- package/esm2022/typification/rest/task/elapseditem/item.mjs +1 -1
- package/esm2022/typification/rest/task/elapseditem/update.mjs +1 -1
- package/esm2022/typification/rest/task/item/userfield/getlist.mjs +2 -2
- package/esm2022/typification/rest/task/stages/stage.mjs +1 -1
- package/esm2022/typification/rest/tasks/base/fieldsName.mjs +2 -2
- package/esm2022/typification/rest/tasks/base/filterGenerator.mjs +1 -1
- package/esm2022/typification/rest/tasks/base/people.mjs +1 -1
- package/esm2022/typification/rest/tasks/result/list.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/add.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/approve.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/base.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/complete.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/defer.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/get.mjs +2 -2
- package/esm2022/typification/rest/tasks/task/getFields.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/list.mjs +2 -2
- package/esm2022/typification/rest/tasks/task/result/result.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/update.mjs +1 -1
- package/esm2022/typification/rest/tasks/task.mjs +1 -1
- package/esm2022/typification/rest/timeman/status.mjs +1 -1
- package/esm2022/typification/rest/user/get.mjs +2 -2
- package/esm2022/typification/rest/user/search.mjs +1 -1
- package/esm2022/typification/rest/user/user.mjs +1 -1
- package/esm2022/typification/rest/user/userfield/list.mjs +1 -1
- package/esm2022/typification/settings.mjs +2 -2
- package/fesm2022/bx-rest.mjs +5274 -5399
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/functions/mapResult.d.ts +5 -5
- package/index.d.ts +5 -5
- package/map/app.d.ts +8 -8
- package/map/base.d.ts +6 -6
- package/map/calendar/event.d.ts +9 -9
- package/map/calendar.d.ts +7 -8
- package/map/department.d.ts +7 -7
- package/map/disk/attachedObject.d.ts +9 -9
- package/map/disk/base.d.ts +13 -13
- package/map/disk/file.d.ts +9 -9
- package/map/disk/folder.d.ts +9 -9
- package/map/disk/storage.d.ts +10 -10
- package/map/lists/element.d.ts +8 -8
- package/map/lists/field.d.ts +9 -9
- package/map/lists.d.ts +13 -15
- package/map/log/blogpost.d.ts +10 -10
- package/map/log.d.ts +7 -8
- package/map/rest.d.ts +8 -8
- package/map/server.d.ts +7 -7
- package/map/sonet_group.d.ts +9 -9
- package/map/task/commentitem.d.ts +10 -10
- package/map/task/elapseditem.d.ts +10 -10
- package/map/task/item/userfield.d.ts +8 -8
- package/map/task/planner.d.ts +7 -7
- package/map/task/stages.d.ts +8 -8
- package/map/task.d.ts +11 -12
- package/map/tasks/task/result.d.ts +10 -10
- package/map/tasks/task.d.ts +22 -24
- package/map/tasks.d.ts +7 -8
- package/map/timeman.d.ts +7 -7
- package/map/user.d.ts +14 -16
- package/map.d.ts +23 -24
- package/package.json +3 -3
- package/provide.d.ts +3 -0
- package/public-api.d.ts +16 -14
- package/request/app.d.ts +11 -13
- package/request/bizproc/activity.d.ts +5 -5
- package/request/bizproc/event.d.ts +5 -5
- package/request/bizproc/robot.d.ts +5 -5
- package/request/bizproc/task.d.ts +5 -5
- package/request/bizproc/workflow/instance.d.ts +5 -5
- package/request/bizproc/workflow/template.d.ts +5 -5
- package/request/bizproc/workflow.d.ts +16 -15
- package/request/bizproc.d.ts +15 -16
- package/request/calendar/event.d.ts +10 -12
- package/request/calendar.d.ts +7 -8
- package/request/department.d.ts +21 -23
- package/request/disk/attachedObject.d.ts +9 -11
- package/request/disk/file.d.ts +10 -12
- package/request/disk/folder.d.ts +86 -88
- package/request/disk/storage.d.ts +30 -32
- package/request/disk.d.ts +11 -12
- package/request/im/chat.d.ts +9 -11
- package/request/im.d.ts +7 -8
- package/request/lists/element.d.ts +11 -13
- package/request/lists/field.d.ts +9 -11
- package/request/lists.d.ts +13 -15
- package/request/log/blogcomment.d.ts +5 -5
- package/request/log/blogpost.d.ts +11 -13
- package/request/log.d.ts +9 -10
- package/request/server.d.ts +8 -10
- package/request/sonet_group.d.ts +9 -11
- package/request/task/commentitem.d.ts +26 -28
- package/request/task/elapseditem.d.ts +28 -30
- package/request/task/item/userfield.d.ts +9 -11
- package/request/task/item.d.ts +7 -8
- package/request/task/planner.d.ts +7 -9
- package/request/task.d.ts +13 -14
- package/request/tasks/task/result.d.ts +12 -14
- package/request/tasks/task.d.ts +30 -32
- package/request/tasks.d.ts +7 -8
- package/request/timeman.d.ts +9 -11
- package/request/user/userfield.d.ts +9 -11
- package/request/user.d.ts +19 -21
- package/request-navvy/app.d.ts +14 -16
- package/request-navvy/bizproc/workflow.d.ts +13 -11
- package/request-navvy/bizproc.d.ts +24 -25
- package/request-navvy/calendar/event.d.ts +12 -13
- package/request-navvy/calendar.d.ts +7 -8
- package/request-navvy/department.d.ts +18 -19
- package/request-navvy/disk/attachedObject.d.ts +12 -13
- package/request-navvy/disk/file.d.ts +13 -14
- package/request-navvy/disk/folder.d.ts +88 -89
- package/request-navvy/disk/interlayer/storage.d.ts +19 -21
- package/request-navvy/disk/operation.d.ts +21 -23
- package/request-navvy/disk/storage.d.ts +21 -22
- package/request-navvy/disk.d.ts +13 -14
- package/request-navvy/im/chat.d.ts +10 -11
- package/request-navvy/im.d.ts +7 -8
- package/request-navvy/lists/element.d.ts +14 -15
- package/request-navvy/lists/field.d.ts +12 -13
- package/request-navvy/lists.d.ts +17 -18
- package/request-navvy/log/blogcomment.d.ts +8 -8
- package/request-navvy/log/blogpost.d.ts +15 -22
- package/request-navvy/log.d.ts +9 -10
- package/request-navvy/server.d.ts +11 -13
- package/request-navvy/sonet_group.d.ts +12 -13
- package/request-navvy/task/commentitem.d.ts +20 -22
- package/request-navvy/task/delegate/elapseditem.d.ts +12 -13
- package/request-navvy/task/elapseditem.d.ts +39 -41
- package/request-navvy/task/item/userfield.d.ts +12 -14
- package/request-navvy/task/item.d.ts +7 -8
- package/request-navvy/task/operation/elapseditem.d.ts +35 -27
- package/request-navvy/task/planner.d.ts +11 -12
- package/request-navvy/task.d.ts +13 -14
- package/request-navvy/tasks/task/result.d.ts +15 -16
- package/request-navvy/tasks/task.d.ts +30 -31
- package/request-navvy/tasks.d.ts +7 -8
- package/request-navvy/timeman.d.ts +13 -14
- package/request-navvy/user/userfield.d.ts +9 -10
- package/request-navvy/user.d.ts +27 -28
- package/rest/base.d.ts +38 -40
- package/rest/map.d.ts +7 -8
- package/rest/navvy.d.ts +43 -45
- package/services/Navvy/NavvyAlternativePaginationNavigation.d.ts +14 -14
- package/services/Navvy/NavvyPagNav.d.ts +8 -8
- package/services/Navvy/NavvyPagNavTasks.d.ts +10 -10
- package/services/Navvy/NavvyPagNavWithUselessKey.d.ts +8 -8
- package/services/Navvy/NavvySimple.d.ts +10 -10
- package/services/Navvy/NavvySupport.d.ts +12 -12
- package/services/Navvy/extends/NavvyPagNavBase.d.ts +16 -16
- package/services/base.d.ts +22 -34
- package/services/http/HttpBX.d.ts +37 -38
- package/services/http/HttpData.d.ts +11 -11
- package/services/http/base/base.d.ts +10 -15
- package/services/http/http.d.ts +14 -15
- package/services/http/httpNavvy.d.ts +13 -0
- package/services/http/sessionKey.d.ts +23 -27
- package/services/navvy.d.ts +27 -27
- package/services/vanilla/localStorage.d.ts +10 -10
- package/services/vanilla/sessionStorage.d.ts +7 -7
- package/services/vanilla//321/201ookies.d.ts +9 -9
- package/settings.d.ts +4 -12
- package/typification/auth/save.d.ts +14 -14
- package/typification/base/all-key-free.d.ts +3 -3
- package/typification/base/answers.d.ts +12 -0
- package/typification/base/methods.d.ts +2 -2
- package/typification/base/modyfy.d.ts +9 -9
- package/typification/base/params.d.ts +17 -0
- package/typification/base/upper-case-keys.d.ts +6 -6
- package/typification/base/workpiece/methods-list.d.ts +219 -209
- package/typification/base/workpiece/methods.d.ts +19 -19
- package/typification/rest/app/info.d.ts +17 -17
- package/typification/rest/base/ApiPaginationBX.d.ts +11 -11
- package/typification/rest/base/OrderOptions.d.ts +1 -1
- package/typification/rest/base/YesNo.d.ts +1 -1
- package/typification/rest/base/answer.d.ts +19 -19
- package/typification/rest/base/filterGenerator.d.ts +5 -5
- package/typification/rest/base/sort.d.ts +1 -1
- package/typification/rest/batch/batchRequestParam.d.ts +15 -15
- package/typification/rest/batch.d.ts +40 -40
- package/typification/rest/bizproc/workflow/start.d.ts +5 -5
- package/typification/rest/calendar/base/type.d.ts +1 -1
- package/typification/rest/calendar/get/answer.d.ts +126 -126
- package/typification/rest/calendar/get/param.d.ts +8 -8
- package/typification/rest/department/add.d.ts +6 -6
- package/typification/rest/department/del.d.ts +3 -3
- package/typification/rest/department/department.d.ts +14 -14
- package/typification/rest/department/get.d.ts +10 -10
- package/typification/rest/department/update.d.ts +7 -7
- package/typification/rest/disk/AttachedObject.d.ts +26 -26
- package/typification/rest/disk/file.d.ts +20 -20
- package/typification/rest/disk/folder/addSubFolder.d.ts +6 -6
- package/typification/rest/disk/folder/copyTo.d.ts +4 -4
- package/typification/rest/disk/folder/getFields.d.ts +9 -9
- package/typification/rest/disk/folder/moveTo.d.ts +4 -4
- package/typification/rest/disk/folder/rename.d.ts +4 -4
- package/typification/rest/disk/folder/uploadFile.d.ts +13 -13
- package/typification/rest/disk/folder.d.ts +62 -62
- package/typification/rest/disk/map.d.ts +6 -6
- package/typification/rest/disk/storage/getchildren.d.ts +4 -4
- package/typification/rest/disk/storage/uploadfile.d.ts +9 -9
- package/typification/rest/im/chat/add.d.ts +12 -12
- package/typification/rest/lists/element/add.d.ts +9 -9
- package/typification/rest/lists/element/get.d.ts +37 -37
- package/typification/rest/lists/field/get.d.ts +38 -37
- package/typification/rest/lists/get.d.ts +95 -95
- package/typification/rest/log/blogpost/add.d.ts +12 -12
- package/typification/rest/log/blogpost/essence.d.ts +51 -51
- package/typification/rest/log/blogpost/get.d.ts +71 -71
- package/typification/rest/profile.d.ts +16 -16
- package/typification/rest/settings.d.ts +6 -6
- package/typification/rest/sonet_group/base.d.ts +8 -8
- package/typification/rest/sonet_group/get.d.ts +35 -35
- package/typification/rest/support/param.d.ts +5 -5
- package/typification/rest/task/access/getaccess.d.ts +40 -40
- package/typification/rest/task/commentitem/add.d.ts +18 -18
- package/typification/rest/task/commentitem/commentitem.d.ts +36 -36
- package/typification/rest/task/commentitem/delete.d.ts +4 -4
- package/typification/rest/task/commentitem/get.d.ts +4 -4
- package/typification/rest/task/commentitem/getlist.d.ts +20 -20
- package/typification/rest/task/commentitem/update.d.ts +4 -4
- package/typification/rest/task/elapseditem/add.d.ts +10 -10
- package/typification/rest/task/elapseditem/del.d.ts +4 -4
- package/typification/rest/task/elapseditem/get.d.ts +23 -23
- package/typification/rest/task/elapseditem/isActionAllowedParam.d.ts +5 -5
- package/typification/rest/task/elapseditem/item.d.ts +25 -25
- package/typification/rest/task/elapseditem/update.d.ts +10 -10
- package/typification/rest/task/item/userfield/getlist.d.ts +91 -91
- package/typification/rest/task/stages/stage.d.ts +19 -19
- package/typification/rest/tasks/base/fieldsName.d.ts +19 -19
- package/typification/rest/tasks/base/filterGenerator.d.ts +6 -6
- package/typification/rest/tasks/base/people.d.ts +12 -12
- package/typification/rest/tasks/result/list.d.ts +4 -4
- package/typification/rest/tasks/task/add.d.ts +254 -254
- package/typification/rest/tasks/task/approve.d.ts +144 -144
- package/typification/rest/tasks/task/base.d.ts +3 -3
- package/typification/rest/tasks/task/complete.d.ts +6 -6
- package/typification/rest/tasks/task/defer.d.ts +6 -6
- package/typification/rest/tasks/task/get.d.ts +52 -52
- package/typification/rest/tasks/task/getFields.d.ts +19 -19
- package/typification/rest/tasks/task/list.d.ts +119 -119
- package/typification/rest/tasks/task/result/result.d.ts +23 -23
- package/typification/rest/tasks/task/update.d.ts +47 -47
- package/typification/rest/tasks/task.d.ts +121 -121
- package/typification/rest/timeman/status.d.ts +28 -28
- package/typification/rest/user/get.d.ts +74 -74
- package/typification/rest/user/search.d.ts +66 -66
- package/typification/rest/user/user.d.ts +62 -62
- package/typification/rest/user/userfield/list.d.ts +56 -56
- package/typification/settings.d.ts +11 -10
- package/esm2022/index.mjs +0 -13
- package/esm2022/rest.mjs +0 -123
- package/esm2022/typification/rest/api-lib.mjs +0 -21
- package/esm2022/typification/rest/lib.mjs +0 -2
- package/rest.d.ts +0 -89
- package/typification/rest/api-lib.d.ts +0 -9
- package/typification/rest/lib.d.ts +0 -18
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
import { throwError, mergeMap, forkJoin } from 'rxjs';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import clone from 'just-clone';
|
|
4
|
-
import { HttpServices } from './http';
|
|
5
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
6
|
-
import flatten from 'just-flatten-it';
|
|
7
|
-
import { instanceOfiBXRestAnswerSuccess } from '../../functions/mapResult';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class HttpBXServices extends HttpServices {
|
|
10
|
-
/**
|
|
11
|
-
* Это пиздец а не метод
|
|
12
|
-
* TODO: Удалить данный метод после реализации его в разделе Navvy
|
|
13
|
-
* @param param
|
|
14
|
-
*/
|
|
15
|
-
branch(param) {
|
|
16
|
-
let prepareParam = Object.entries(this.prepareBatch(param));
|
|
17
|
-
const size = 50; // больше не отдаст
|
|
18
|
-
let subarray = []; //массив в который будет выведен результат.
|
|
19
|
-
for (let i = 0; i < Math.ceil(prepareParam.length / size); i++) {
|
|
20
|
-
subarray[i] = prepareParam.slice((i * size), (i * size) + size);
|
|
21
|
-
}
|
|
22
|
-
return forkJoin(subarray.map(i => {
|
|
23
|
-
return this.httpPost('batch.json', {
|
|
24
|
-
halt: 0,
|
|
25
|
-
cmd: Object.assign({}, ...i.map(x => {
|
|
26
|
-
return { [x[0]]: x[1] };
|
|
27
|
-
}))
|
|
28
|
-
});
|
|
29
|
-
}));
|
|
30
|
-
}
|
|
31
|
-
prepareBatch(param) {
|
|
32
|
-
let res = Object.keys(param).reduce((obj, key) => {
|
|
33
|
-
obj[key] = '';
|
|
34
|
-
return obj;
|
|
35
|
-
}, {});
|
|
36
|
-
for (let key in param) {
|
|
37
|
-
if (typeof key === 'string' || typeof key === 'number' && param[key].param) {
|
|
38
|
-
res[key] = param[key].name + '?' + this.getHttpParamsGet(param[key].param).toString();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return res;
|
|
42
|
-
}
|
|
43
|
-
mapBranchResult(res) {
|
|
44
|
-
return Object.assign([], ...res.map(i => (instanceOfiBXRestAnswerSuccess(i) && instanceOfiBXRestAnswerSuccess(i.result)) ? i.result.result : undefined));
|
|
45
|
-
}
|
|
46
|
-
mapBranchResultWithoutKey(res) {
|
|
47
|
-
return flatten(Object.assign([], ...res.map(i => (instanceOfiBXRestAnswerSuccess(i) && instanceOfiBXRestAnswerSuccess(i.result))
|
|
48
|
-
? i.result.result
|
|
49
|
-
: undefined)));
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Основной метод для запросов
|
|
53
|
-
*
|
|
54
|
-
* @param name
|
|
55
|
-
* @param params
|
|
56
|
-
*/
|
|
57
|
-
post(name, params = {}) {
|
|
58
|
-
return this.httpPost(this.getNameMethod(name), params);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Второстепенный метод для запросов. По возможности лучше не использовать
|
|
62
|
-
*
|
|
63
|
-
* @param name
|
|
64
|
-
* @param params
|
|
65
|
-
*/
|
|
66
|
-
get(name, params = {}) {
|
|
67
|
-
return this.httpGet(this.getNameMethod(name), params);
|
|
68
|
-
}
|
|
69
|
-
httpPost(url, params = {}) {
|
|
70
|
-
let auth = this.session.getAuthParams();
|
|
71
|
-
if (auth) {
|
|
72
|
-
const paramsClone = clone(params);
|
|
73
|
-
paramsClone[this.session.getKeyAuth()] = auth;
|
|
74
|
-
return this.session.getBaseUrl().pipe(mergeMap(v => {
|
|
75
|
-
if (v) {
|
|
76
|
-
// это более быстрый способ запроса чем отправка Form Data
|
|
77
|
-
return this.http.post(this.prepareBaseAddress(v) + url, JSON.stringify(paramsClone), { headers: new HttpHeaders().set('Content-Type', 'application/json') });
|
|
78
|
-
}
|
|
79
|
-
return throwError(() => 'get base url error');
|
|
80
|
-
}));
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
return throwError(() => 'auth not get');
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
httpGet(url, params = {}) {
|
|
87
|
-
let auth = this.session.getAuthParams();
|
|
88
|
-
if (auth) {
|
|
89
|
-
if (params === null) {
|
|
90
|
-
params = {};
|
|
91
|
-
}
|
|
92
|
-
const paramsClone = clone(params);
|
|
93
|
-
paramsClone[this.session.getKeyAuth()] = auth;
|
|
94
|
-
let options = {
|
|
95
|
-
params: this.getHttpParamsGet(paramsClone)
|
|
96
|
-
// params: JSON.stringify(paramsClone)
|
|
97
|
-
};
|
|
98
|
-
return this.session.getBaseUrl().pipe(mergeMap(v => {
|
|
99
|
-
if (v) {
|
|
100
|
-
return this.http.get(this.prepareBaseAddress(v) + url, options);
|
|
101
|
-
}
|
|
102
|
-
return throwError(() => 'get base url error');
|
|
103
|
-
}));
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
return throwError(() => 'auth not get');
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
getNameMethod(arr) {
|
|
110
|
-
return arr.join('.');
|
|
111
|
-
}
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
113
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
114
|
-
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
116
|
-
type: Injectable,
|
|
117
|
-
args: [{
|
|
118
|
-
providedIn: 'root'
|
|
119
|
-
}]
|
|
120
|
-
}] });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEJYLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvaHR0cC9IdHRwQlgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFRckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2xELE9BQU8sT0FBTyxNQUFNLGlCQUFpQixDQUFBO0FBQ3JDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDJCQUEyQixDQUFBOztBQUsxRSxNQUFNLE9BQU8sY0FBZSxTQUFRLFlBQVk7SUFFOUM7Ozs7T0FJRztJQUNILE1BQU0sQ0FBTyxLQUF5RDtRQUNwRSxJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFTLElBQUksQ0FBQyxZQUFZLENBQUksS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN0RSxNQUFNLElBQUksR0FBRyxFQUFFLENBQUEsQ0FBQyxtQkFBbUI7UUFDbkMsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFBLENBQUMsMkNBQTJDO1FBQzdELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUQsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7U0FDaEU7UUFFRCxPQUFPLFFBQVEsQ0FDYixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtnQkFDakMsSUFBSSxFQUFFLENBQUM7Z0JBQ1AsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDbEMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUE7Z0JBQ3ZCLENBQUMsQ0FBQyxDQUFDO2FBQ0osQ0FBQyxDQUFBO1FBQ0osQ0FBQyxDQUFDLENBQ3FDLENBQUE7SUFDM0MsQ0FBQztJQUVELFlBQVksQ0FBSSxLQUF5RDtRQUN2RSxJQUFJLEdBQUcsR0FBMkIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQ3pELENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ1gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUNELEVBQTRCLENBQzdCLENBQUM7UUFDRixLQUFLLElBQUksR0FBRyxJQUFJLEtBQUssRUFBRTtZQUNyQixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDMUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUE7YUFDdEY7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQztJQUVELGVBQWUsQ0FBSSxHQUE2QjtRQUM5QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN0QyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBRy9HLENBQUE7SUFDSCxDQUFDO0lBRUQseUJBQXlCLENBQUksR0FBNkI7UUFDeEQsT0FBTyxPQUFPLENBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ2pELENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLElBQUksOEJBQThCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDakIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ2hCLENBQUE7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUksSUFBYyxFQUNkLFNBQWMsRUFBRTtRQUV0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQW1CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFJLElBQWMsRUFDZCxTQUFjLEVBQUU7UUFFckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFtQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFFUSxRQUFRLENBQUksR0FBVyxFQUNYLFNBQWMsRUFBRTtRQUVuQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3ZDLElBQUksSUFBSSxFQUFFO1lBQ1IsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ2pDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFBO1lBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQ25DLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsRUFBRTtvQkFDTCwwREFBMEQ7b0JBQzFELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQzNCLEVBQUMsT0FBTyxFQUFFLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQyxFQUFDLENBQ3JFLENBQUE7aUJBQ0Y7Z0JBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtZQUMvQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ047YUFBTTtZQUNMLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFBO1NBQ3hDO0lBQ0gsQ0FBQztJQUVRLE9BQU8sQ0FDZCxHQUFXLEVBQ1gsU0FBYyxFQUFFO1FBRWhCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUE7UUFFdkMsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7Z0JBQ25CLE1BQU0sR0FBRyxFQUFFLENBQUE7YUFDWjtZQUNELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNqQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQTtZQUM3QyxJQUFJLE9BQU8sR0FBRztnQkFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztnQkFDMUMsc0NBQXNDO2FBQ3ZDLENBQUE7WUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUNuQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLEVBQUU7b0JBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFBO2lCQUNuRTtnQkFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1lBQy9DLENBQUMsQ0FBQyxDQUNILENBQUE7U0FDRjthQUFNO1lBQ0wsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUE7U0FDeEM7SUFFSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQWE7UUFDekIsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3RCLENBQUM7K0dBNUlVLGNBQWM7bUhBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciwgbWVyZ2VNYXAsIGZvcmtKb2luIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCBjbG9uZSBmcm9tICdqdXN0LWNsb25lJ1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZXMgfSBmcm9tICcuL2h0dHAnXHJcbmltcG9ydCB7XHJcbiAgaUJhdGNoUmVxdWVzdEFuc3dlciwgaUJhdGNoUmVxdWVzdFBhcmFtLFxyXG4gIGlCYXRjaFJlcXVlc3RQYXJhbUFycixcclxuICBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwLFxyXG4gIGtleUJhdGNoLFxyXG59IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2JhdGNoL2JhdGNoUmVxdWVzdFBhcmFtJ1xyXG5pbXBvcnQgeyBpQlhSZXN0QW5zd2VyIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmFzZS9hbnN3ZXInXHJcbmltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCBmbGF0dGVuIGZyb20gJ2p1c3QtZmxhdHRlbi1pdCdcclxuaW1wb3J0IHsgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL21hcFJlc3VsdCdcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEh0dHBCWFNlcnZpY2VzIGV4dGVuZHMgSHR0cFNlcnZpY2VzIHtcclxuXHJcbiAgLyoqXHJcbiAgICog0K3RgtC+INC/0LjQt9C00LXRhiDQsCDQvdC1INC80LXRgtC+0LRcclxuICAgKiBUT0RPOiDQo9C00LDQu9C40YLRjCDQtNCw0L3QvdGL0Lkg0LzQtdGC0L7QtCDQv9C+0YHQu9C1INGA0LXQsNC70LjQt9Cw0YbQuNC4INC10LPQviDQsiDRgNCw0LfQtNC10LvQtSBOYXZ2eVxyXG4gICAqIEBwYXJhbSBwYXJhbVxyXG4gICAqL1xyXG4gIGJyYW5jaDxULCBBPihwYXJhbTogaUJhdGNoUmVxdWVzdFBhcmFtQXJyPFQ+IHwgaUJhdGNoUmVxdWVzdFBhcmFtPFQ+W10pOiBPYnNlcnZhYmxlPGlCYXRjaFJlcXVlc3RBbnN3ZXI8QT5bXSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IHByZXBhcmVQYXJhbSA9IE9iamVjdC5lbnRyaWVzPHN0cmluZz4odGhpcy5wcmVwYXJlQmF0Y2g8VD4ocGFyYW0pKVxyXG4gICAgY29uc3Qgc2l6ZSA9IDUwIC8vINCx0L7Qu9GM0YjQtSDQvdC1INC+0YLQtNCw0YHRglxyXG4gICAgbGV0IHN1YmFycmF5ID0gW10gLy/QvNCw0YHRgdC40LIg0LIg0LrQvtGC0L7RgNGL0Lkg0LHRg9C00LXRgiDQstGL0LLQtdC00LXQvSDRgNC10LfRg9C70YzRgtCw0YIuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGguY2VpbChwcmVwYXJlUGFyYW0ubGVuZ3RoIC8gc2l6ZSk7IGkrKykge1xyXG4gICAgICBzdWJhcnJheVtpXSA9IHByZXBhcmVQYXJhbS5zbGljZSgoaSAqIHNpemUpLCAoaSAqIHNpemUpICsgc2l6ZSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZm9ya0pvaW4oXHJcbiAgICAgIHN1YmFycmF5Lm1hcChpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5odHRwUG9zdCgnYmF0Y2guanNvbicsIHtcclxuICAgICAgICAgIGhhbHQ6IDAsXHJcbiAgICAgICAgICBjbWQ6IE9iamVjdC5hc3NpZ24oe30sIC4uLmkubWFwKHggPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4ge1t4WzBdXTogeFsxXX1cclxuICAgICAgICAgIH0pKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIH0pXHJcbiAgICApIGFzIE9ic2VydmFibGU8aUJhdGNoUmVxdWVzdEFuc3dlcjxBPltdPlxyXG4gIH1cclxuXHJcbiAgcHJlcGFyZUJhdGNoPFQ+KHBhcmFtOiBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnI8VD4gfCBpQmF0Y2hSZXF1ZXN0UGFyYW08VD5bXSk6IGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAge1xyXG4gICAgbGV0IHJlczogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCA9IE9iamVjdC5rZXlzKHBhcmFtKS5yZWR1Y2UoXHJcbiAgICAgIChvYmosIGtleSkgPT4ge1xyXG4gICAgICAgIG9ialtrZXldID0gJyc7XHJcbiAgICAgICAgcmV0dXJuIG9iajtcclxuICAgICAgfSxcclxuICAgICAge30gYXMgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cFxyXG4gICAgKTtcclxuICAgIGZvciAobGV0IGtleSBpbiBwYXJhbSkge1xyXG4gICAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGtleSA9PT0gJ251bWJlcicgJiYgcGFyYW1ba2V5XS5wYXJhbSkge1xyXG4gICAgICAgIHJlc1trZXldID0gcGFyYW1ba2V5XS5uYW1lICsgJz8nICsgdGhpcy5nZXRIdHRwUGFyYW1zR2V0KHBhcmFtW2tleV0ucGFyYW0pLnRvU3RyaW5nKClcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc1xyXG4gIH1cclxuXHJcbiAgbWFwQnJhbmNoUmVzdWx0PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihbXSwgLi4ucmVzLm1hcChpID0+XHJcbiAgICAgIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaSkgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkucmVzdWx0KSkgPyBpLnJlc3VsdC5yZXN1bHQgOiB1bmRlZmluZWQpXHJcbiAgICApIGFzIHtcclxuICAgICAgW2tleToga2V5QmF0Y2hdOiBUXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYXBCcmFuY2hSZXN1bHRXaXRob3V0S2V5PFQ+KHJlczogaUJhdGNoUmVxdWVzdEFuc3dlcjxUPltdKTogVFtdIHtcclxuICAgIHJldHVybiBmbGF0dGVuPFQ+KE9iamVjdC5hc3NpZ24oW10sIC4uLnJlcy5tYXAoaSA9PlxyXG4gICAgICAoaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkpICYmIGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyhpLnJlc3VsdCkpXHJcbiAgICAgICAgPyBpLnJlc3VsdC5yZXN1bHRcclxuICAgICAgICA6IHVuZGVmaW5lZCkpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDQntGB0L3QvtCy0L3QvtC5INC80LXRgtC+0LQg0LTQu9GPINC30LDQv9GA0L7RgdC+0LJcclxuICAgKlxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIHBhcmFtc1xyXG4gICAqL1xyXG4gIHBvc3Q8VD4obmFtZTogc3RyaW5nW10sXHJcbiAgICAgICAgICBwYXJhbXM6IGFueSA9IHt9XHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwUG9zdDxpQlhSZXN0QW5zd2VyPFQ+Pih0aGlzLmdldE5hbWVNZXRob2QobmFtZSksIHBhcmFtcylcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCS0YLQvtGA0L7RgdGC0LXQv9C10L3QvdGL0Lkg0LzQtdGC0L7QtCDQtNC70Y8g0LfQsNC/0YDQvtGB0L7Qsi4g0J/QviDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC70YPRh9GI0LUg0L3QtSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YxcclxuICAgKlxyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICogQHBhcmFtIHBhcmFtc1xyXG4gICAqL1xyXG4gIGdldDxUPihuYW1lOiBzdHJpbmdbXSxcclxuICAgICAgICAgcGFyYW1zOiBhbnkgPSB7fVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cEdldDxpQlhSZXN0QW5zd2VyPFQ+Pih0aGlzLmdldE5hbWVNZXRob2QobmFtZSksIHBhcmFtcylcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGh0dHBQb3N0PFQ+KHVybDogc3RyaW5nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogYW55ID0ge30sXHJcbiAgKTogT2JzZXJ2YWJsZTxUIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgYXV0aCA9IHRoaXMuc2Vzc2lvbi5nZXRBdXRoUGFyYW1zKClcclxuICAgIGlmIChhdXRoKSB7XHJcbiAgICAgIGNvbnN0IHBhcmFtc0Nsb25lID0gY2xvbmUocGFyYW1zKVxyXG4gICAgICBwYXJhbXNDbG9uZVt0aGlzLnNlc3Npb24uZ2V0S2V5QXV0aCgpXSA9IGF1dGhcclxuICAgICAgcmV0dXJuIHRoaXMuc2Vzc2lvbi5nZXRCYXNlVXJsKCkucGlwZShcclxuICAgICAgICBtZXJnZU1hcCh2ID0+IHtcclxuICAgICAgICAgIGlmICh2KSB7XHJcbiAgICAgICAgICAgIC8vINGN0YLQviDQsdC+0LvQtdC1INCx0YvRgdGC0YDRi9C5INGB0L/QvtGB0L7QsSDQt9Cw0L/RgNC+0YHQsCDRh9C10Lwg0L7RgtC/0YDQsNCy0LrQsCBGb3JtIERhdGFcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQgfCB1bmRlZmluZWQ+KFxyXG4gICAgICAgICAgICAgIHRoaXMucHJlcGFyZUJhc2VBZGRyZXNzKHYpICsgdXJsLFxyXG4gICAgICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHBhcmFtc0Nsb25lKSxcclxuICAgICAgICAgICAgICB7aGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24vanNvbicpfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnZ2V0IGJhc2UgdXJsIGVycm9yJylcclxuICAgICAgICB9KSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdhdXRoIG5vdCBnZXQnKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgaHR0cEdldDxUPihcclxuICAgIHVybDogc3RyaW5nLFxyXG4gICAgcGFyYW1zOiBhbnkgPSB7fVxyXG4gICk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcblxyXG4gICAgaWYgKGF1dGgpIHtcclxuICAgICAgaWYgKHBhcmFtcyA9PT0gbnVsbCkge1xyXG4gICAgICAgIHBhcmFtcyA9IHt9XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcGFyYW1zQ2xvbmUgPSBjbG9uZShwYXJhbXMpXHJcbiAgICAgIHBhcmFtc0Nsb25lW3RoaXMuc2Vzc2lvbi5nZXRLZXlBdXRoKCldID0gYXV0aFxyXG4gICAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgICBwYXJhbXM6IHRoaXMuZ2V0SHR0cFBhcmFtc0dldChwYXJhbXNDbG9uZSlcclxuICAgICAgICAvLyBwYXJhbXM6IEpTT04uc3RyaW5naWZ5KHBhcmFtc0Nsb25lKVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKFxyXG4gICAgICAgIG1lcmdlTWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy5wcmVwYXJlQmFzZUFkZHJlc3ModikgKyB1cmwsIG9wdGlvbnMpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnZ2V0IGJhc2UgdXJsIGVycm9yJylcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnYXV0aCBub3QgZ2V0JylcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBnZXROYW1lTWV0aG9kKGFycjogc3RyaW5nW10pIHtcclxuICAgIHJldHVybiBhcnIuam9pbignLicpXHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
1
|
+
import { throwError, mergeMap, forkJoin } from 'rxjs';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import clone from 'just-clone';
|
|
4
|
+
import { HttpServices } from './http';
|
|
5
|
+
import { HttpHeaders } from '@angular/common/http';
|
|
6
|
+
import flatten from 'just-flatten-it';
|
|
7
|
+
import { instanceOfiBXRestAnswerSuccess } from '../../functions/mapResult';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class HttpBXServices extends HttpServices {
|
|
10
|
+
/**
|
|
11
|
+
* Это пиздец а не метод
|
|
12
|
+
* TODO: Удалить данный метод после реализации его в разделе Navvy
|
|
13
|
+
* @param param
|
|
14
|
+
*/
|
|
15
|
+
branch(param) {
|
|
16
|
+
let prepareParam = Object.entries(this.prepareBatch(param));
|
|
17
|
+
const size = 50; // больше не отдаст
|
|
18
|
+
let subarray = []; //массив в который будет выведен результат.
|
|
19
|
+
for (let i = 0; i < Math.ceil(prepareParam.length / size); i++) {
|
|
20
|
+
subarray[i] = prepareParam.slice((i * size), (i * size) + size);
|
|
21
|
+
}
|
|
22
|
+
return forkJoin(subarray.map(i => {
|
|
23
|
+
return this.httpPost('batch.json', {
|
|
24
|
+
halt: 0,
|
|
25
|
+
cmd: Object.assign({}, ...i.map(x => {
|
|
26
|
+
return { [x[0]]: x[1] };
|
|
27
|
+
}))
|
|
28
|
+
});
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
prepareBatch(param) {
|
|
32
|
+
let res = Object.keys(param).reduce((obj, key) => {
|
|
33
|
+
obj[key] = '';
|
|
34
|
+
return obj;
|
|
35
|
+
}, {});
|
|
36
|
+
for (let key in param) {
|
|
37
|
+
if (typeof key === 'string' || typeof key === 'number' && param[key].param) {
|
|
38
|
+
res[key] = param[key].name + '?' + this.getHttpParamsGet(param[key].param).toString();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return res;
|
|
42
|
+
}
|
|
43
|
+
mapBranchResult(res) {
|
|
44
|
+
return Object.assign([], ...res.map(i => (instanceOfiBXRestAnswerSuccess(i) && instanceOfiBXRestAnswerSuccess(i.result)) ? i.result.result : undefined));
|
|
45
|
+
}
|
|
46
|
+
mapBranchResultWithoutKey(res) {
|
|
47
|
+
return flatten(Object.assign([], ...res.map(i => (instanceOfiBXRestAnswerSuccess(i) && instanceOfiBXRestAnswerSuccess(i.result))
|
|
48
|
+
? i.result.result
|
|
49
|
+
: undefined)));
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Основной метод для запросов
|
|
53
|
+
*
|
|
54
|
+
* @param name
|
|
55
|
+
* @param params
|
|
56
|
+
*/
|
|
57
|
+
post(name, params = {}) {
|
|
58
|
+
return this.httpPost(this.getNameMethod(name), params);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Второстепенный метод для запросов. По возможности лучше не использовать
|
|
62
|
+
*
|
|
63
|
+
* @param name
|
|
64
|
+
* @param params
|
|
65
|
+
*/
|
|
66
|
+
get(name, params = {}) {
|
|
67
|
+
return this.httpGet(this.getNameMethod(name), params);
|
|
68
|
+
}
|
|
69
|
+
httpPost(url, params = {}) {
|
|
70
|
+
let auth = this.session.getAuthParams();
|
|
71
|
+
if (auth) {
|
|
72
|
+
const paramsClone = clone(params);
|
|
73
|
+
paramsClone[this.session.getKeyAuth()] = auth;
|
|
74
|
+
return this.session.getBaseUrl().pipe(mergeMap(v => {
|
|
75
|
+
if (v) {
|
|
76
|
+
// это более быстрый способ запроса чем отправка Form Data
|
|
77
|
+
return this.http.post(this.prepareBaseAddress(v) + url, JSON.stringify(paramsClone), { headers: new HttpHeaders().set('Content-Type', 'application/json') });
|
|
78
|
+
}
|
|
79
|
+
return throwError(() => 'get base url error');
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
return throwError(() => 'auth not get (post)');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
httpGet(url, params = {}) {
|
|
87
|
+
let auth = this.session.getAuthParams();
|
|
88
|
+
if (auth) {
|
|
89
|
+
if (params === null) {
|
|
90
|
+
params = {};
|
|
91
|
+
}
|
|
92
|
+
const paramsClone = clone(params);
|
|
93
|
+
paramsClone[this.session.getKeyAuth()] = auth;
|
|
94
|
+
let options = {
|
|
95
|
+
params: this.getHttpParamsGet(paramsClone)
|
|
96
|
+
// params: JSON.stringify(paramsClone)
|
|
97
|
+
};
|
|
98
|
+
return this.session.getBaseUrl().pipe(mergeMap(v => {
|
|
99
|
+
if (v) {
|
|
100
|
+
return this.http.get(this.prepareBaseAddress(v) + url, options);
|
|
101
|
+
}
|
|
102
|
+
return throwError(() => 'get base url error');
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
return throwError(() => 'auth not get (get)');
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
getNameMethod(arr) {
|
|
110
|
+
return arr.join('.');
|
|
111
|
+
}
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: HttpBXServices, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
113
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: HttpBXServices, providedIn: 'root' }); }
|
|
114
|
+
}
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: HttpBXServices, decorators: [{
|
|
116
|
+
type: Injectable,
|
|
117
|
+
args: [{
|
|
118
|
+
providedIn: 'root'
|
|
119
|
+
}]
|
|
120
|
+
}] });
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cEJYLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvc2VydmljZXMvaHR0cC9IdHRwQlgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFRckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2xELE9BQU8sT0FBTyxNQUFNLGlCQUFpQixDQUFBO0FBQ3JDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDJCQUEyQixDQUFBOztBQUsxRSxNQUFNLE9BQU8sY0FBZSxTQUFRLFlBQVk7SUFFOUM7Ozs7T0FJRztJQUNILE1BQU0sQ0FBTyxLQUF5RDtRQUNwRSxJQUFJLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFTLElBQUksQ0FBQyxZQUFZLENBQUksS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN0RSxNQUFNLElBQUksR0FBRyxFQUFFLENBQUEsQ0FBQyxtQkFBbUI7UUFDbkMsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFBLENBQUMsMkNBQTJDO1FBQzdELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMvRCxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUNqRSxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQ2IsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUU7Z0JBQ2pDLElBQUksRUFBRSxDQUFDO2dCQUNQLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ2xDLE9BQU8sRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFBO2dCQUN2QixDQUFDLENBQUMsQ0FBQzthQUNKLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUNxQyxDQUFBO0lBQzNDLENBQUM7SUFFRCxZQUFZLENBQUksS0FBeUQ7UUFDdkUsSUFBSSxHQUFHLEdBQTJCLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUN6RCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNYLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDYixPQUFPLEdBQUcsQ0FBQTtRQUNaLENBQUMsRUFDRCxFQUE0QixDQUM3QixDQUFBO1FBQ0QsS0FBSyxJQUFJLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN0QixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUMzRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtZQUN2RixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQztJQUVELGVBQWUsQ0FBSSxHQUE2QjtRQUM5QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN0QyxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxJQUFJLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBRy9HLENBQUE7SUFDSCxDQUFDO0lBRUQseUJBQXlCLENBQUksR0FBNkI7UUFDeEQsT0FBTyxPQUFPLENBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ2pELENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLElBQUksOEJBQThCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDakIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ2hCLENBQUE7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxJQUFJLENBQUksSUFBYyxFQUNkLFNBQWMsRUFBRTtRQUV0QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQW1CLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7SUFDMUUsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFJLElBQWMsRUFDZCxTQUFjLEVBQUU7UUFFckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFtQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3pFLENBQUM7SUFFUSxRQUFRLENBQUksR0FBVyxFQUNYLFNBQWMsRUFBRTtRQUVuQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3ZDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDakMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUE7WUFDN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FDbkMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNYLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ04sMERBQTBEO29CQUMxRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUMzQixFQUFDLE9BQU8sRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsa0JBQWtCLENBQUMsRUFBQyxDQUNyRSxDQUFBO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtZQUMvQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRVEsT0FBTyxDQUNkLEdBQVcsRUFDWCxTQUFjLEVBQUU7UUFFaEIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQTtRQUV2QyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sR0FBRyxFQUFFLENBQUE7WUFDYixDQUFDO1lBQ0QsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ2pDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFBO1lBQzdDLElBQUksT0FBTyxHQUFHO2dCQUNaLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO2dCQUMxQyxzQ0FBc0M7YUFDdkMsQ0FBQTtZQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQ25DLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDWCxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtnQkFDcEUsQ0FBQztnQkFDRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1lBQy9DLENBQUMsQ0FBQyxDQUNILENBQUE7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFDL0MsQ0FBQztJQUVILENBQUM7SUFFRCxhQUFhLENBQUMsR0FBYTtRQUN6QixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdEIsQ0FBQzsrR0E1SVUsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yLCBtZXJnZU1hcCwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IGNsb25lIGZyb20gJ2p1c3QtY2xvbmUnXHJcbmltcG9ydCB7IEh0dHBTZXJ2aWNlcyB9IGZyb20gJy4vaHR0cCdcclxuaW1wb3J0IHtcclxuICBpQmF0Y2hSZXF1ZXN0QW5zd2VyLCBpQmF0Y2hSZXF1ZXN0UGFyYW0sXHJcbiAgaUJhdGNoUmVxdWVzdFBhcmFtQXJyLFxyXG4gIGlCYXRjaFJlcXVlc3RQYXJhbUh0dHAsXHJcbiAga2V5QmF0Y2gsXHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvYmF0Y2gvYmF0Y2hSZXF1ZXN0UGFyYW0nXHJcbmltcG9ydCB7IGlCWFJlc3RBbnN3ZXIgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9iYXNlL2Fuc3dlcidcclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IGZsYXR0ZW4gZnJvbSAnanVzdC1mbGF0dGVuLWl0J1xyXG5pbXBvcnQgeyBpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvbWFwUmVzdWx0J1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSHR0cEJYU2VydmljZXMgZXh0ZW5kcyBIdHRwU2VydmljZXMge1xyXG5cclxuICAvKipcclxuICAgKiDQrdGC0L4g0L/QuNC30LTQtdGGINCwINC90LUg0LzQtdGC0L7QtFxyXG4gICAqIFRPRE86INCj0LTQsNC70LjRgtGMINC00LDQvdC90YvQuSDQvNC10YLQvtC0INC/0L7RgdC70LUg0YDQtdCw0LvQuNC30LDRhtC40Lgg0LXQs9C+INCyINGA0LDQt9C00LXQu9C1IE5hdnZ5XHJcbiAgICogQHBhcmFtIHBhcmFtXHJcbiAgICovXHJcbiAgYnJhbmNoPFQsIEE+KHBhcmFtOiBpQmF0Y2hSZXF1ZXN0UGFyYW1BcnI8VD4gfCBpQmF0Y2hSZXF1ZXN0UGFyYW08VD5bXSk6IE9ic2VydmFibGU8aUJhdGNoUmVxdWVzdEFuc3dlcjxBPltdIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBsZXQgcHJlcGFyZVBhcmFtID0gT2JqZWN0LmVudHJpZXM8c3RyaW5nPih0aGlzLnByZXBhcmVCYXRjaDxUPihwYXJhbSkpXHJcbiAgICBjb25zdCBzaXplID0gNTAgLy8g0LHQvtC70YzRiNC1INC90LUg0L7RgtC00LDRgdGCXHJcbiAgICBsZXQgc3ViYXJyYXkgPSBbXSAvL9C80LDRgdGB0LjQsiDQsiDQutC+0YLQvtGA0YvQuSDQsdGD0LTQtdGCINCy0YvQstC10LTQtdC9INGA0LXQt9GD0LvRjNGC0LDRgi5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTWF0aC5jZWlsKHByZXBhcmVQYXJhbS5sZW5ndGggLyBzaXplKTsgaSsrKSB7XHJcbiAgICAgIHN1YmFycmF5W2ldID0gcHJlcGFyZVBhcmFtLnNsaWNlKChpICogc2l6ZSksIChpICogc2l6ZSkgKyBzaXplKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmb3JrSm9pbihcclxuICAgICAgc3ViYXJyYXkubWFwKGkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBQb3N0KCdiYXRjaC5qc29uJywge1xyXG4gICAgICAgICAgaGFsdDogMCxcclxuICAgICAgICAgIGNtZDogT2JqZWN0LmFzc2lnbih7fSwgLi4uaS5tYXAoeCA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7W3hbMF1dOiB4WzFdfVxyXG4gICAgICAgICAgfSkpXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgICkgYXMgT2JzZXJ2YWJsZTxpQmF0Y2hSZXF1ZXN0QW5zd2VyPEE+W10+XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlQmF0Y2g8VD4ocGFyYW06IGlCYXRjaFJlcXVlc3RQYXJhbUFycjxUPiB8IGlCYXRjaFJlcXVlc3RQYXJhbTxUPltdKTogaUJhdGNoUmVxdWVzdFBhcmFtSHR0cCB7XHJcbiAgICBsZXQgcmVzOiBpQmF0Y2hSZXF1ZXN0UGFyYW1IdHRwID0gT2JqZWN0LmtleXMocGFyYW0pLnJlZHVjZShcclxuICAgICAgKG9iaiwga2V5KSA9PiB7XHJcbiAgICAgICAgb2JqW2tleV0gPSAnJ1xyXG4gICAgICAgIHJldHVybiBvYmpcclxuICAgICAgfSxcclxuICAgICAge30gYXMgaUJhdGNoUmVxdWVzdFBhcmFtSHR0cFxyXG4gICAgKVxyXG4gICAgZm9yIChsZXQga2V5IGluIHBhcmFtKSB7XHJcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyB8fCB0eXBlb2Yga2V5ID09PSAnbnVtYmVyJyAmJiBwYXJhbVtrZXldLnBhcmFtKSB7XHJcbiAgICAgICAgcmVzW2tleV0gPSBwYXJhbVtrZXldLm5hbWUgKyAnPycgKyB0aGlzLmdldEh0dHBQYXJhbXNHZXQocGFyYW1ba2V5XS5wYXJhbSkudG9TdHJpbmcoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzXHJcbiAgfVxyXG5cclxuICBtYXBCcmFuY2hSZXN1bHQ8VD4ocmVzOiBpQmF0Y2hSZXF1ZXN0QW5zd2VyPFQ+W10pIHtcclxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKFtdLCAuLi5yZXMubWFwKGkgPT5cclxuICAgICAgKGluc3RhbmNlT2ZpQlhSZXN0QW5zd2VyU3VjY2VzcyhpKSAmJiBpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaS5yZXN1bHQpKSA/IGkucmVzdWx0LnJlc3VsdCA6IHVuZGVmaW5lZClcclxuICAgICkgYXMge1xyXG4gICAgICBba2V5OiBrZXlCYXRjaF06IFRcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG1hcEJyYW5jaFJlc3VsdFdpdGhvdXRLZXk8VD4ocmVzOiBpQmF0Y2hSZXF1ZXN0QW5zd2VyPFQ+W10pOiBUW10ge1xyXG4gICAgcmV0dXJuIGZsYXR0ZW48VD4oT2JqZWN0LmFzc2lnbihbXSwgLi4ucmVzLm1hcChpID0+XHJcbiAgICAgIChpbnN0YW5jZU9maUJYUmVzdEFuc3dlclN1Y2Nlc3MoaSkgJiYgaW5zdGFuY2VPZmlCWFJlc3RBbnN3ZXJTdWNjZXNzKGkucmVzdWx0KSlcclxuICAgICAgICA/IGkucmVzdWx0LnJlc3VsdFxyXG4gICAgICAgIDogdW5kZWZpbmVkKSlcclxuICAgIClcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqINCe0YHQvdC+0LLQvdC+0Lkg0LzQtdGC0L7QtCDQtNC70Y8g0LfQsNC/0YDQvtGB0L7QslxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gcGFyYW1zXHJcbiAgICovXHJcbiAgcG9zdDxUPihuYW1lOiBzdHJpbmdbXSxcclxuICAgICAgICAgIHBhcmFtczogYW55ID0ge31cclxuICApIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBQb3N0PGlCWFJlc3RBbnN3ZXI8VD4+KHRoaXMuZ2V0TmFtZU1ldGhvZChuYW1lKSwgcGFyYW1zKVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog0JLRgtC+0YDQvtGB0YLQtdC/0LXQvdC90YvQuSDQvNC10YLQvtC0INC00LvRjyDQt9Cw0L/RgNC+0YHQvtCyLiDQn9C+INCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0LvRg9GH0YjQtSDQvdC1INC40YHQv9C+0LvRjNC30L7QstCw0YLRjFxyXG4gICAqXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKiBAcGFyYW0gcGFyYW1zXHJcbiAgICovXHJcbiAgZ2V0PFQ+KG5hbWU6IHN0cmluZ1tdLFxyXG4gICAgICAgICBwYXJhbXM6IGFueSA9IHt9XHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwR2V0PGlCWFJlc3RBbnN3ZXI8VD4+KHRoaXMuZ2V0TmFtZU1ldGhvZChuYW1lKSwgcGFyYW1zKVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgaHR0cFBvc3Q8VD4odXJsOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBhbnkgPSB7fSxcclxuICApOiBPYnNlcnZhYmxlPFQgfCB1bmRlZmluZWQ+IHtcclxuICAgIGxldCBhdXRoID0gdGhpcy5zZXNzaW9uLmdldEF1dGhQYXJhbXMoKVxyXG4gICAgaWYgKGF1dGgpIHtcclxuICAgICAgY29uc3QgcGFyYW1zQ2xvbmUgPSBjbG9uZShwYXJhbXMpXHJcbiAgICAgIHBhcmFtc0Nsb25lW3RoaXMuc2Vzc2lvbi5nZXRLZXlBdXRoKCldID0gYXV0aFxyXG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKFxyXG4gICAgICAgIG1lcmdlTWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYpIHtcclxuICAgICAgICAgICAgLy8g0Y3RgtC+INCx0L7Qu9C10LUg0LHRi9GB0YLRgNGL0Lkg0YHQv9C+0YHQvtCxINC30LDQv9GA0L7RgdCwINGH0LXQvCDQvtGC0L/RgNCw0LLQutCwIEZvcm0gRGF0YVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VCB8IHVuZGVmaW5lZD4oXHJcbiAgICAgICAgICAgICAgdGhpcy5wcmVwYXJlQmFzZUFkZHJlc3ModikgKyB1cmwsXHJcbiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkocGFyYW1zQ2xvbmUpLFxyXG4gICAgICAgICAgICAgIHtoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uJyl9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdnZXQgYmFzZSB1cmwgZXJyb3InKVxyXG4gICAgICAgIH0pKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ2F1dGggbm90IGdldCAocG9zdCknKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgaHR0cEdldDxUPihcclxuICAgIHVybDogc3RyaW5nLFxyXG4gICAgcGFyYW1zOiBhbnkgPSB7fVxyXG4gICk6IE9ic2VydmFibGU8VCB8IHVuZGVmaW5lZD4ge1xyXG4gICAgbGV0IGF1dGggPSB0aGlzLnNlc3Npb24uZ2V0QXV0aFBhcmFtcygpXHJcblxyXG4gICAgaWYgKGF1dGgpIHtcclxuICAgICAgaWYgKHBhcmFtcyA9PT0gbnVsbCkge1xyXG4gICAgICAgIHBhcmFtcyA9IHt9XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcGFyYW1zQ2xvbmUgPSBjbG9uZShwYXJhbXMpXHJcbiAgICAgIHBhcmFtc0Nsb25lW3RoaXMuc2Vzc2lvbi5nZXRLZXlBdXRoKCldID0gYXV0aFxyXG4gICAgICBsZXQgb3B0aW9ucyA9IHtcclxuICAgICAgICBwYXJhbXM6IHRoaXMuZ2V0SHR0cFBhcmFtc0dldChwYXJhbXNDbG9uZSlcclxuICAgICAgICAvLyBwYXJhbXM6IEpTT04uc3RyaW5naWZ5KHBhcmFtc0Nsb25lKVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLmdldEJhc2VVcmwoKS5waXBlKFxyXG4gICAgICAgIG1lcmdlTWFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy5wcmVwYXJlQmFzZUFkZHJlc3ModikgKyB1cmwsIG9wdGlvbnMpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnZ2V0IGJhc2UgdXJsIGVycm9yJylcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiAnYXV0aCBub3QgZ2V0IChnZXQpJylcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBnZXROYW1lTWV0aG9kKGFycjogc3RyaW5nW10pIHtcclxuICAgIHJldHVybiBhcnIuam9pbignLicpXHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
|
|
@@ -1,118 +1,116 @@
|
|
|
1
|
-
import { BaseServices } from '../base';
|
|
2
|
-
import { HttpParams } from '@angular/common/http';
|
|
3
|
-
export class HttpData extends BaseServices {
|
|
4
|
-
constructor() {
|
|
5
|
-
super(...arguments);
|
|
6
|
-
this.defSettings = {
|
|
7
|
-
timeZone: {
|
|
8
|
-
calc: true,
|
|
9
|
-
levelOut: false
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
getHttpParamsGet(// не так уж и сложно сделать сложенный HttpParams, да гугл?
|
|
14
|
-
obj, sendHttpParams = new HttpParams(), thisArray = false, nesting = [],
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
case '
|
|
33
|
-
case '
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
nesting.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
let
|
|
62
|
-
let
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
case '
|
|
87
|
-
case '
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
nesting.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9odHRwL0h0dHBEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBR2pELE1BQU0sT0FBTyxRQUFTLFNBQVEsWUFBWTtJQUExQzs7UUFFSSxnQkFBVyxHQUF1QjtZQUM5QixRQUFRLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLEtBQUs7YUFDbEI7U0FDSixDQUFBO0lBMEhMLENBQUM7SUF4SEcsZ0JBQWdCLENBQUUsNERBQTREO0lBQzFFLEdBQVEsRUFDUixpQkFBNkIsSUFBSSxVQUFVLEVBQUUsRUFDN0MsU0FBUyxHQUFHLEtBQUssRUFDakIsVUFBb0IsRUFBRTtJQUN0Qiw4QkFBOEI7SUFDOUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXO1FBRXBCLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFO1lBQ25CLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQTtZQUNmLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDaEIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN0QixNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFDekIsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHO29CQUM5RCxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO2FBQ2hDO2lC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RyxDQUFDLENBQUE7d0JBQ2pCLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQ25DLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFDUixjQUFjLEVBQ2QsS0FBSyxFQUNMLE9BQU8sRUFDUCxRQUFRLENBQ1gsQ0FBQTt3QkFDRCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7d0JBQ2IsTUFBSztvQkFDVCxLQUFLLFVBQVUsQ0FBQztvQkFDaEIsS0FBSyxXQUFXLENBQUM7b0JBQ2pCO3dCQUNJLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLENBQUE7aUJBQ3ZGO2FBQ0o7U0FDSjtRQUNELE9BQU8sY0FBYyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUFVLEVBQUUsU0FBaUI7UUFDOUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLFNBQVMsRUFBRTtZQUM1QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFDMUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNuQjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELHVCQUF1QixDQUFDLEdBQVc7UUFDL0IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlU2VydmljZXMgfSBmcm9tICcuLi9iYXNlJ1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXHJcbmltcG9ydCB7IGlIdHRwUGFyYW1TZXR0aW5ncyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3NldHRpbmdzJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEh0dHBEYXRhIGV4dGVuZHMgQmFzZVNlcnZpY2VzIHtcclxuXHJcbiAgICBkZWZTZXR0aW5nczogaUh0dHBQYXJhbVNldHRpbmdzID0ge1xyXG4gICAgICAgIHRpbWVab25lOiB7XHJcbiAgICAgICAgICAgIGNhbGM6IHRydWUsXHJcbiAgICAgICAgICAgIGxldmVsT3V0OiBmYWxzZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRIdHRwUGFyYW1zR2V0KCAvLyDQvdC1INGC0LDQuiDRg9C2INC4INGB0LvQvtC20L3QviDRgdC00LXQu9Cw0YLRjCDRgdC70L7QttC10L3QvdGL0LkgSHR0cFBhcmFtcywg0LTQsCDQs9GD0LPQuz9cclxuICAgICAgICBvYmo6IGFueSxcclxuICAgICAgICBzZW5kSHR0cFBhcmFtczogSHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCksXHJcbiAgICAgICAgdGhpc0FycmF5ID0gZmFsc2UsXHJcbiAgICAgICAgbmVzdGluZzogc3RyaW5nW10gPSBbXSxcclxuICAgICAgICAvLyBzZXR0aW5ncyA9IHRoaXMuZGVmU2V0dGluZ3NcclxuICAgICAgICBfID0gdGhpcy5kZWZTZXR0aW5nc1xyXG4gICAgKTogYW55IHtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuICAgICAgICAgICAgbGV0IHNldEtleSA9ICcnXHJcbiAgICAgICAgICAgIGlmIChuZXN0aW5nLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgbGV0IGZpcnN0ID0gbmVzdGluZ1swXVxyXG4gICAgICAgICAgICAgICAgc2V0S2V5ID0gKG5lc3RpbmcubGVuZ3RoID4gMSlcclxuICAgICAgICAgICAgICAgICAgICA/IGZpcnN0ICsgJ1snICsgbmVzdGluZy5zbGljZSgxKS5qb2luKCddWycpICsgJ11bJyArIGtleSArICddJ1xyXG4gICAgICAgICAgICAgICAgICAgIDogZmlyc3QgKyAnWycgKyBrZXkgKyAnXSdcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHNldEtleSA9IGtleVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZW9mIG9ialtrZXldKSB7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zID0gc2VuZEh0dHBQYXJhbXMuc2V0KHNldEtleSwgb2JqW2tleV0pXHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ3N5bWJvbCc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnYmlnaW50JzpcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zID0gc2VuZEh0dHBQYXJhbXMuc2V0KHNldEtleSwgU3RyaW5nKG9ialtrZXldKSlcclxuICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnb2JqZWN0JzpcclxuICAgICAgICAgICAgICAgICAgICBuZXN0aW5nLnB1c2goa2V5KVxyXG4gICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zID0gdGhpcy5nZXRIdHRwUGFyYW1zR2V0KG9ialtrZXldLCBzZW5kSHR0cFBhcmFtcywgZmFsc2UsIG5lc3RpbmcpXHJcbiAgICAgICAgICAgICAgICAgICAgbmVzdGluZy5wb3AoKVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XHJcbiAgICAgICAgICAgICAgICBjYXNlICd1bmRlZmluZWQnOlxyXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCfQotGLINC+0YLQv9GA0LDQstC40Lsg0YfRgtC+LdGC0L4g0L3QtSDRgtC+Jywgb2JqW2tleV0sIHR5cGVvZiBvYmpba2V5XSwgdHlwZW9mIG9iailcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc2VuZEh0dHBQYXJhbXNcclxuICAgIH1cclxuXHJcbiAgICBnZXRIdHRwUGFyYW1zUG9zdChcclxuICAgICAgICBvYmo6IGFueSxcclxuICAgICAgICBzZW5kSHR0cFBhcmFtczogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSxcclxuICAgICAgICB0aGlzQXJyYXkgPSBmYWxzZSxcclxuICAgICAgICBuZXN0aW5nOiBzdHJpbmdbXSA9IFtdLFxyXG4gICAgICAgIHNldHRpbmdzID0gdGhpcy5kZWZTZXR0aW5nc1xyXG4gICAgKTogYW55IHtcclxuXHJcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIEJsb2IpIHtcclxuICAgICAgICAgICAgbGV0IGZpcnN0ID0gbmVzdGluZ1swXVxyXG4gICAgICAgICAgICBsZXQgc2V0S2V5ID0gKG5lc3RpbmcubGVuZ3RoID4gMSlcclxuICAgICAgICAgICAgICAgID8gZmlyc3QgKyAnWycgKyBuZXN0aW5nLnNsaWNlKDEpLmpvaW4oJ11bJykgKyAnXSdcclxuICAgICAgICAgICAgICAgIDogZmlyc3RcclxuICAgICAgICAgICAgc2VuZEh0dHBQYXJhbXMuc2V0KHNldEtleSwgb2JqKVxyXG4gICAgICAgICAgICByZXR1cm4gc2VuZEh0dHBQYXJhbXNcclxuICAgICAgICB9IGVsc2UgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgICAgbGV0IGZpcnN0ID0gbmVzdGluZ1swXVxyXG4gICAgICAgICAgICBsZXQgdHpvZmZzZXQgPSAoc2V0dGluZ3MudGltZVpvbmUuY2FsYykgPyAgb2JqLmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCA6IDAgLy8g0LLRi9GH0LjRgdC70Y/QtdC8INCy0LvQuNGP0L3QuNC1INGH0LDRgdC+0LLQvtCz0L4g0L/QvtGP0YHQsFxyXG4gICAgICAgICAgICBsZXQgbGV2ZWxPdXQgPSAoc2V0dGluZ3MudGltZVpvbmUubGV2ZWxPdXQpID8gIG9iai5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDAgOiAwIC8vINCy0YvRh9C40YHQu9GP0LXQvCDQstC70LjRj9C90LjQtSDRh9Cw0YHQvtCy0L7Qs9C+INC/0L7Rj9GB0LBcclxuICAgICAgICAgICAgbGV0IHNldEtleSA9IChuZXN0aW5nLmxlbmd0aCA+IDEpXHJcbiAgICAgICAgICAgICAgICA/IGZpcnN0ICsgJ1snICsgbmVzdGluZy5zbGljZSgxKS5qb2luKCddWycpICsgJ10nXHJcbiAgICAgICAgICAgICAgICA6IGZpcnN0XHJcbiAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIChuZXcgRGF0ZShvYmoudmFsdWVPZigpICsgdHpvZmZzZXQgLSBsZXZlbE91dCkpLnRvSVNPU3RyaW5nKCkpXHJcbiAgICAgICAgICAgIHJldHVybiBzZW5kSHR0cFBhcmFtc1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xyXG4gICAgICAgICAgICAgICAgbGV0IHNldEtleSA9ICcnXHJcbiAgICAgICAgICAgICAgICBpZiAobmVzdGluZy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZmlyc3QgPSBuZXN0aW5nWzBdXHJcbiAgICAgICAgICAgICAgICAgICAgc2V0S2V5ID0gKG5lc3RpbmcubGVuZ3RoID4gMSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyBmaXJzdCArICdbJyArIG5lc3Rpbmcuc2xpY2UoMSkuam9pbignXVsnKSArICddWycgKyBrZXkgKyAnXSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiBmaXJzdCArICdbJyArIGtleSArICddJ1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBzZXRLZXkgPSBrZXlcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZW9mIG9ialtrZXldKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEh0dHBQYXJhbXMuc2V0KHNldEtleSwgb2JqW2tleV0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnc3ltYm9sJzpcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2JpZ2ludCc6XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIFN0cmluZyhvYmpba2V5XSkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnb2JqZWN0JzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmVzdGluZy5wdXNoKGtleSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEh0dHBQYXJhbXMgPSB0aGlzLmdldEh0dHBQYXJhbXNQb3N0KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqW2tleV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVzdGluZyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldHRpbmdzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmVzdGluZy5wb3AoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICd1bmRlZmluZWQnOlxyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ9Ci0Ysg0L7RgtC/0YDQsNCy0LjQuyDRh9GC0L4t0YLQviDQvdC1INGC0L4nLCBvYmpba2V5XSwgdHlwZW9mIG9ialtrZXldLCB0eXBlb2Ygb2JqKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzZW5kSHR0cFBhcmFtc1xyXG4gICAgfVxyXG5cclxuICAgIHNsaWNlQXJyYXlJbnRvQ2h1bmtzKGFycjogYW55W10sIGNodW5rU2l6ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgY29uc3QgcmVzID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IGNodW5rU2l6ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBjaHVuayA9IGFyci5zbGljZShpLCBpICsgY2h1bmtTaXplKTtcclxuICAgICAgICAgICAgcmVzLnB1c2goY2h1bmspO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92aW5nTXVsdGlwbGVTbGFzaGVzKHN0cjogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXC97Mix9L2csICcvJylcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
1
|
+
import { BaseServices } from '../base';
|
|
2
|
+
import { HttpParams } from '@angular/common/http';
|
|
3
|
+
export class HttpData extends BaseServices {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.defSettings = {
|
|
7
|
+
timeZone: {
|
|
8
|
+
calc: true,
|
|
9
|
+
levelOut: false
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
getHttpParamsGet(// не так уж и сложно сделать сложенный HttpParams, да гугл?
|
|
14
|
+
obj, sendHttpParams = new HttpParams(), thisArray = false, nesting = [], _ = this.defSettings) {
|
|
15
|
+
for (const key in obj) {
|
|
16
|
+
let setKey = '';
|
|
17
|
+
if (nesting.length) {
|
|
18
|
+
let first = nesting[0];
|
|
19
|
+
setKey = (nesting.length > 1)
|
|
20
|
+
? first + '[' + nesting.slice(1).join('][') + '][' + key + ']'
|
|
21
|
+
: first + '[' + key + ']';
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
setKey = key;
|
|
25
|
+
}
|
|
26
|
+
switch (typeof obj[key]) {
|
|
27
|
+
case 'string':
|
|
28
|
+
sendHttpParams = sendHttpParams.set(setKey, obj[key]);
|
|
29
|
+
break;
|
|
30
|
+
case 'symbol':
|
|
31
|
+
case 'number':
|
|
32
|
+
case 'bigint':
|
|
33
|
+
case 'boolean':
|
|
34
|
+
sendHttpParams = sendHttpParams.set(setKey, String(obj[key]));
|
|
35
|
+
break;
|
|
36
|
+
case 'object':
|
|
37
|
+
nesting.push(key);
|
|
38
|
+
sendHttpParams = this.getHttpParamsGet(obj[key], sendHttpParams, false, nesting);
|
|
39
|
+
nesting.pop();
|
|
40
|
+
break;
|
|
41
|
+
case 'function':
|
|
42
|
+
case 'undefined':
|
|
43
|
+
default:
|
|
44
|
+
console.error('Ты отправил что-то не то', obj[key], typeof obj[key], typeof obj);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return sendHttpParams;
|
|
48
|
+
}
|
|
49
|
+
getHttpParamsPost(obj, sendHttpParams = new FormData(), thisArray = false, nesting = [], settings = this.defSettings) {
|
|
50
|
+
if (obj instanceof Blob) {
|
|
51
|
+
let first = nesting[0];
|
|
52
|
+
let setKey = (nesting.length > 1)
|
|
53
|
+
? first + '[' + nesting.slice(1).join('][') + ']'
|
|
54
|
+
: first;
|
|
55
|
+
sendHttpParams.set(setKey, obj);
|
|
56
|
+
return sendHttpParams;
|
|
57
|
+
}
|
|
58
|
+
else if (obj instanceof Date) {
|
|
59
|
+
let first = nesting[0];
|
|
60
|
+
let tzoffset = (settings.timeZone.calc) ? obj.getTimezoneOffset() * 60000 : 0; // вычисляем влияние часового пояса
|
|
61
|
+
let levelOut = (settings.timeZone.levelOut) ? obj.getTimezoneOffset() * 60000 : 0; // вычисляем влияние часового пояса
|
|
62
|
+
let setKey = (nesting.length > 1)
|
|
63
|
+
? first + '[' + nesting.slice(1).join('][') + ']'
|
|
64
|
+
: first;
|
|
65
|
+
sendHttpParams.set(setKey, (new Date(obj.valueOf() + tzoffset - levelOut)).toISOString());
|
|
66
|
+
return sendHttpParams;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
for (const key in obj) {
|
|
70
|
+
let setKey = '';
|
|
71
|
+
if (nesting.length) {
|
|
72
|
+
let first = nesting[0];
|
|
73
|
+
setKey = (nesting.length > 1)
|
|
74
|
+
? first + '[' + nesting.slice(1).join('][') + '][' + key + ']'
|
|
75
|
+
: first + '[' + key + ']';
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
setKey = key;
|
|
79
|
+
}
|
|
80
|
+
switch (typeof obj[key]) {
|
|
81
|
+
case 'string':
|
|
82
|
+
sendHttpParams.set(setKey, obj[key]);
|
|
83
|
+
break;
|
|
84
|
+
case 'symbol':
|
|
85
|
+
case 'number':
|
|
86
|
+
case 'bigint':
|
|
87
|
+
case 'boolean':
|
|
88
|
+
sendHttpParams.set(setKey, String(obj[key]));
|
|
89
|
+
break;
|
|
90
|
+
case 'object':
|
|
91
|
+
nesting.push(key);
|
|
92
|
+
sendHttpParams = this.getHttpParamsPost(obj[key], sendHttpParams, false, nesting, settings);
|
|
93
|
+
nesting.pop();
|
|
94
|
+
break;
|
|
95
|
+
case 'function':
|
|
96
|
+
case 'undefined':
|
|
97
|
+
default:
|
|
98
|
+
console.error('Ты отправил что-то не то', obj[key], typeof obj[key], typeof obj);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return sendHttpParams;
|
|
103
|
+
}
|
|
104
|
+
sliceArrayIntoChunks(arr, chunkSize) {
|
|
105
|
+
const res = [];
|
|
106
|
+
for (let i = 0; i < arr.length; i += chunkSize) {
|
|
107
|
+
const chunk = arr.slice(i, i + chunkSize);
|
|
108
|
+
res.push(chunk);
|
|
109
|
+
}
|
|
110
|
+
return res;
|
|
111
|
+
}
|
|
112
|
+
removingMultipleSlashes(str) {
|
|
113
|
+
return str.replace(/\/{2,}/g, '/');
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cERhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9zZXJ2aWNlcy9odHRwL0h0dHBEYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxTQUFTLENBQUE7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBR2pELE1BQU0sT0FBTyxRQUFTLFNBQVEsWUFBWTtJQUExQzs7UUFFSSxnQkFBVyxHQUF1QjtZQUM5QixRQUFRLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLEtBQUs7YUFDbEI7U0FDSixDQUFBO0lBeUhMLENBQUM7SUF2SEcsZ0JBQWdCLENBQUUsNERBQTREO0lBQzFFLEdBQVEsRUFDUixpQkFBNkIsSUFBSSxVQUFVLEVBQUUsRUFDN0MsU0FBUyxHQUFHLEtBQUssRUFDakIsVUFBb0IsRUFBRSxFQUN0QixDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVc7UUFFcEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNwQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUE7WUFDZixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUN0QixNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFDekIsQ0FBQyxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHO29CQUM5RCxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO1lBQ2pDLENBQUM7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aW1wb3J0IHsgQmFzZVNlcnZpY2VzIH0gZnJvbSAnLi4vYmFzZSdcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBpSHR0cFBhcmFtU2V0dGluZ3MgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9zZXR0aW5ncydcclxuXHJcbmV4cG9ydCBjbGFzcyBIdHRwRGF0YSBleHRlbmRzIEJhc2VTZXJ2aWNlcyB7XHJcblxyXG4gICAgZGVmU2V0dGluZ3M6IGlIdHRwUGFyYW1TZXR0aW5ncyA9IHtcclxuICAgICAgICB0aW1lWm9uZToge1xyXG4gICAgICAgICAgICBjYWxjOiB0cnVlLFxyXG4gICAgICAgICAgICBsZXZlbE91dDogZmFsc2VcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SHR0cFBhcmFtc0dldCggLy8g0L3QtSDRgtCw0Log0YPQtiDQuCDRgdC70L7QttC90L4g0YHQtNC10LvQsNGC0Ywg0YHQu9C+0LbQtdC90L3Ri9C5IEh0dHBQYXJhbXMsINC00LAg0LPRg9Cz0Ls/XHJcbiAgICAgICAgb2JqOiBhbnksXHJcbiAgICAgICAgc2VuZEh0dHBQYXJhbXM6IEh0dHBQYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLFxyXG4gICAgICAgIHRoaXNBcnJheSA9IGZhbHNlLFxyXG4gICAgICAgIG5lc3Rpbmc6IHN0cmluZ1tdID0gW10sXHJcbiAgICAgICAgXyA9IHRoaXMuZGVmU2V0dGluZ3NcclxuICAgICk6IGFueSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XHJcbiAgICAgICAgICAgIGxldCBzZXRLZXkgPSAnJ1xyXG4gICAgICAgICAgICBpZiAobmVzdGluZy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIGxldCBmaXJzdCA9IG5lc3RpbmdbMF1cclxuICAgICAgICAgICAgICAgIHNldEtleSA9IChuZXN0aW5nLmxlbmd0aCA+IDEpXHJcbiAgICAgICAgICAgICAgICAgICAgPyBmaXJzdCArICdbJyArIG5lc3Rpbmcuc2xpY2UoMSkuam9pbignXVsnKSArICddWycgKyBrZXkgKyAnXSdcclxuICAgICAgICAgICAgICAgICAgICA6IGZpcnN0ICsgJ1snICsga2V5ICsgJ10nXHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBzZXRLZXkgPSBrZXlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGVvZiBvYmpba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcyA9IHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIG9ialtrZXldKVxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgICAgICAgICBjYXNlICdzeW1ib2wnOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICAgICAgICAgIGNhc2UgJ2JpZ2ludCc6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcyA9IHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIFN0cmluZyhvYmpba2V5XSkpXHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ29iamVjdCc6XHJcbiAgICAgICAgICAgICAgICAgICAgbmVzdGluZy5wdXNoKGtleSlcclxuICAgICAgICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcyA9IHRoaXMuZ2V0SHR0cFBhcmFtc0dldChvYmpba2V5XSwgc2VuZEh0dHBQYXJhbXMsIGZhbHNlLCBuZXN0aW5nKVxyXG4gICAgICAgICAgICAgICAgICAgIG5lc3RpbmcucG9wKClcclxuICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnZnVuY3Rpb24nOlxyXG4gICAgICAgICAgICAgICAgY2FzZSAndW5kZWZpbmVkJzpcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcign0KLRiyDQvtGC0L/RgNCw0LLQuNC7INGH0YLQvi3RgtC+INC90LUg0YLQvicsIG9ialtrZXldLCB0eXBlb2Ygb2JqW2tleV0sIHR5cGVvZiBvYmopXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHNlbmRIdHRwUGFyYW1zXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0SHR0cFBhcmFtc1Bvc3QoXHJcbiAgICAgICAgb2JqOiBhbnksXHJcbiAgICAgICAgc2VuZEh0dHBQYXJhbXM6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCksXHJcbiAgICAgICAgdGhpc0FycmF5ID0gZmFsc2UsXHJcbiAgICAgICAgbmVzdGluZzogc3RyaW5nW10gPSBbXSxcclxuICAgICAgICBzZXR0aW5ncyA9IHRoaXMuZGVmU2V0dGluZ3NcclxuICAgICk6IGFueSB7XHJcblxyXG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBCbG9iKSB7XHJcbiAgICAgICAgICAgIGxldCBmaXJzdCA9IG5lc3RpbmdbMF1cclxuICAgICAgICAgICAgbGV0IHNldEtleSA9IChuZXN0aW5nLmxlbmd0aCA+IDEpXHJcbiAgICAgICAgICAgICAgICA/IGZpcnN0ICsgJ1snICsgbmVzdGluZy5zbGljZSgxKS5qb2luKCddWycpICsgJ10nXHJcbiAgICAgICAgICAgICAgICA6IGZpcnN0XHJcbiAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIG9iailcclxuICAgICAgICAgICAgcmV0dXJuIHNlbmRIdHRwUGFyYW1zXHJcbiAgICAgICAgfSBlbHNlIGlmIChvYmogaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgIGxldCBmaXJzdCA9IG5lc3RpbmdbMF1cclxuICAgICAgICAgICAgbGV0IHR6b2Zmc2V0ID0gKHNldHRpbmdzLnRpbWVab25lLmNhbGMpID8gIG9iai5nZXRUaW1lem9uZU9mZnNldCgpICogNjAwMDAgOiAwIC8vINCy0YvRh9C40YHQu9GP0LXQvCDQstC70LjRj9C90LjQtSDRh9Cw0YHQvtCy0L7Qs9C+INC/0L7Rj9GB0LBcclxuICAgICAgICAgICAgbGV0IGxldmVsT3V0ID0gKHNldHRpbmdzLnRpbWVab25lLmxldmVsT3V0KSA/ICBvYmouZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwIDogMCAvLyDQstGL0YfQuNGB0LvRj9C10Lwg0LLQu9C40Y/QvdC40LUg0YfQsNGB0L7QstC+0LPQviDQv9C+0Y/RgdCwXHJcbiAgICAgICAgICAgIGxldCBzZXRLZXkgPSAobmVzdGluZy5sZW5ndGggPiAxKVxyXG4gICAgICAgICAgICAgICAgPyBmaXJzdCArICdbJyArIG5lc3Rpbmcuc2xpY2UoMSkuam9pbignXVsnKSArICddJ1xyXG4gICAgICAgICAgICAgICAgOiBmaXJzdFxyXG4gICAgICAgICAgICBzZW5kSHR0cFBhcmFtcy5zZXQoc2V0S2V5LCAobmV3IERhdGUob2JqLnZhbHVlT2YoKSArIHR6b2Zmc2V0IC0gbGV2ZWxPdXQpKS50b0lTT1N0cmluZygpKVxyXG4gICAgICAgICAgICByZXR1cm4gc2VuZEh0dHBQYXJhbXNcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmopIHtcclxuICAgICAgICAgICAgICAgIGxldCBzZXRLZXkgPSAnJ1xyXG4gICAgICAgICAgICAgICAgaWYgKG5lc3RpbmcubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGZpcnN0ID0gbmVzdGluZ1swXVxyXG4gICAgICAgICAgICAgICAgICAgIHNldEtleSA9IChuZXN0aW5nLmxlbmd0aCA+IDEpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZmlyc3QgKyAnWycgKyBuZXN0aW5nLnNsaWNlKDEpLmpvaW4oJ11bJykgKyAnXVsnICsga2V5ICsgJ10nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZmlyc3QgKyAnWycgKyBrZXkgKyAnXSdcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0S2V5ID0ga2V5XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKHR5cGVvZiBvYmpba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zLnNldChzZXRLZXksIG9ialtrZXldKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ3N5bWJvbCc6XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnbnVtYmVyJzpcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdiaWdpbnQnOlxyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZW5kSHR0cFBhcmFtcy5zZXQoc2V0S2V5LCBTdHJpbmcob2JqW2tleV0pKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVha1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ29iamVjdCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lc3RpbmcucHVzaChrZXkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRIdHRwUGFyYW1zID0gdGhpcy5nZXRIdHRwUGFyYW1zUG9zdChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialtrZXldLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEh0dHBQYXJhbXMsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lc3RpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5nc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lc3RpbmcucG9wKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAndW5kZWZpbmVkJzpcclxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCfQotGLINC+0YLQv9GA0LDQstC40Lsg0YfRgtC+LdGC0L4g0L3QtSDRgtC+Jywgb2JqW2tleV0sIHR5cGVvZiBvYmpba2V5XSwgdHlwZW9mIG9iailcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc2VuZEh0dHBQYXJhbXNcclxuICAgIH1cclxuXHJcbiAgICBzbGljZUFycmF5SW50b0NodW5rcyhhcnI6IGFueVtdLCBjaHVua1NpemU6IG51bWJlcikge1xyXG4gICAgICAgIGNvbnN0IHJlcyA9IFtdXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpICs9IGNodW5rU2l6ZSkge1xyXG4gICAgICAgICAgICBjb25zdCBjaHVuayA9IGFyci5zbGljZShpLCBpICsgY2h1bmtTaXplKVxyXG4gICAgICAgICAgICByZXMucHVzaChjaHVuaylcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92aW5nTXVsdGlwbGVTbGFzaGVzKHN0cjogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9cXC97Mix9L2csICcvJylcclxuICAgIH1cclxufVxyXG4iXX0=
|