@kaspernj/api-maker 1.0.462 → 1.0.463
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/build/bootstrap/sort-link.js +2 -2
- package/build/cable-subscription-pool.js +3 -3
- package/build/channels-consumer.js +7 -2
- package/build/collection.js +2 -1
- package/build/config.js +7 -1
- package/build/devise.js +9 -6
- package/build/history-expo.js +24 -0
- package/build/history-react-native.js +20 -0
- package/build/router.js +2 -2
- package/build/session-status-updater.js +11 -3
- package/build/super-admin/edit-page.js +2 -2
- package/build/super-admin/index.js +2 -2
- package/build/super-admin/layout/index.js +6 -5
- package/build/super-admin/show-nav.js +2 -2
- package/build/super-admin/show-reflection-page.js +2 -2
- package/build/table/filters/index.js +2 -2
- package/build/table/table.js +2 -2
- package/build/table/use-sorting.js +2 -2
- package/build/use-collection.js +2 -2
- package/build/use-current-user.js +6 -2
- package/build/use-model.js +2 -2
- package/package.json +2 -1
- package/src/bootstrap/sort-link.jsx +1 -1
- package/src/cable-subscription-pool.js +2 -2
- package/src/channels-consumer.js +7 -1
- package/src/collection.js +1 -0
- package/src/config.js +2 -0
- package/src/devise.js +7 -7
- package/src/history-expo.js +25 -0
- package/src/history-react-native.js +25 -0
- package/src/router.jsx +1 -1
- package/src/session-status-updater.js +12 -2
- package/src/super-admin/edit-page.jsx +1 -1
- package/src/super-admin/index.jsx +1 -1
- package/src/super-admin/layout/index.jsx +5 -4
- package/src/super-admin/show-nav.jsx +1 -1
- package/src/super-admin/show-reflection-page.jsx +1 -1
- package/src/table/filters/index.jsx +1 -1
- package/src/table/table.jsx +1 -1
- package/src/table/use-sorting.js +1 -1
- package/src/use-collection.js +1 -1
- package/src/use-current-user.js +5 -2
- package/src/use-model.js +1 -1
- package/build/historyExpo.js +0 -10
- package/src/historyExpo.js +0 -9
|
@@ -2,6 +2,7 @@ import { useCallback, useMemo } from "react";
|
|
|
2
2
|
import { camelize } from "inflection";
|
|
3
3
|
import Devise from "./devise";
|
|
4
4
|
import { digg } from "diggerize";
|
|
5
|
+
import * as inflection from "inflection";
|
|
5
6
|
import Logger from "./logger";
|
|
6
7
|
import Services from "./services";
|
|
7
8
|
import useEventEmitter from "./use-event-emitter";
|
|
@@ -23,11 +24,14 @@ const useCurrentUser = args => {
|
|
|
23
24
|
scope,
|
|
24
25
|
scopeName
|
|
25
26
|
} = s.m;
|
|
27
|
+
const getArgsMethodName = `get${inflection.camelize(scope)}Args`;
|
|
28
|
+
const args = Devise[getArgsMethodName]();
|
|
26
29
|
logger.debug(() => `Loading ${scope} with request`);
|
|
27
30
|
const result = await Services.current().sendRequest("Devise::Current", {
|
|
31
|
+
query: args.query,
|
|
28
32
|
scope
|
|
29
33
|
});
|
|
30
|
-
const current = digg(result, "current");
|
|
34
|
+
const current = digg(result, "current")[0];
|
|
31
35
|
if (!(scopeName in s.setStates)) throw new Error(`'${scopeName}' not found in setStates`);
|
|
32
36
|
if (current) Devise.updateSession(current);
|
|
33
37
|
s.setStates[scopeName](current);
|
|
@@ -70,4 +74,4 @@ const useCurrentUser = args => {
|
|
|
70
74
|
return s.s[scopeName];
|
|
71
75
|
};
|
|
72
76
|
export default useCurrentUser;
|
|
73
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJjYW1lbGl6ZSIsIkRldmlzZSIsImRpZ2ciLCJpbmZsZWN0aW9uIiwiTG9nZ2VyIiwiU2VydmljZXMiLCJ1c2VFdmVudEVtaXR0ZXIiLCJ1c2VTaGFwZSIsImxvZ2dlciIsIm5hbWUiLCJ1c2VDdXJyZW50VXNlciIsImFyZ3MiLCJzIiwic2NvcGUiLCJzY29wZU5hbWUiLCJtZXRhIiwibG9hZEN1cnJlbnRVc2VyRnJvbVJlcXVlc3QiLCJtIiwiZ2V0QXJnc01ldGhvZE5hbWUiLCJkZWJ1ZyIsInJlc3VsdCIsImN1cnJlbnQiLCJzZW5kUmVxdWVzdCIsInF1ZXJ5Iiwic2V0U3RhdGVzIiwiRXJyb3IiLCJ1cGRhdGVTZXNzaW9uIiwicHJvcHMiLCJvbkN1cnJlbnRVc2VyTG9hZGVkIiwic2V0VGltZW91dCIsImRlZmF1bHRDdXJyZW50VXNlciIsImhhc0N1cnJlbnRTY29wZSIsImdldEN1cnJlbnRTY29wZSIsImlkIiwiaGFzR2xvYmFsQ3VycmVudFNjb3BlIiwidXNlU3RhdGVzQXJndW1lbnQiLCJ1c2VTdGF0ZXMiLCJ1cGRhdGVDdXJyZW50VXNlciIsInNldFN0YXRlc0FyZ3VtZW50Iiwic2V0IiwiZXZlbnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1jdXJyZW50LXVzZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7Y2FtZWxpemV9IGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBEZXZpc2UgZnJvbSBcIi4vZGV2aXNlXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyXCJcbmltcG9ydCBTZXJ2aWNlcyBmcm9tIFwiLi9zZXJ2aWNlc1wiXG5pbXBvcnQgdXNlRXZlbnRFbWl0dGVyIGZyb20gXCIuL3VzZS1ldmVudC1lbWl0dGVyXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3VzZS1zaGFwZVwiXG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoe25hbWU6IFwiQXBpTWFrZXIgLyB1c2VDdXJyZW50VXNlclwifSlcblxuLy8gbG9nZ2VyLnNldERlYnVnKHRydWUpXG5cbmNvbnN0IHVzZUN1cnJlbnRVc2VyID0gKGFyZ3MpID0+IHtcbiAgY29uc3QgcyA9IHVzZVNoYXBlKGFyZ3MgfHwge30pXG4gIGNvbnN0IHNjb3BlID0gYXJncz8uc2NvcGUgfHwgXCJ1c2VyXCJcbiAgY29uc3Qgc2NvcGVOYW1lID0gYGN1cnJlbnQke2NhbWVsaXplKHNjb3BlKX1gXG5cbiAgcy5tZXRhLnNjb3BlID0gc2NvcGVcbiAgcy5tZXRhLnNjb3BlTmFtZSA9IHNjb3BlTmFtZVxuXG4gIGNvbnN0IGxvYWRDdXJyZW50VXNlckZyb21SZXF1ZXN0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHtzY29wZSwgc2NvcGVOYW1lfSA9IHMubVxuICAgIGNvbnN0IGdldEFyZ3NNZXRob2ROYW1lID0gYGdldCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZSl9QXJnc2BcbiAgICBjb25zdCBhcmdzID0gRGV2aXNlW2dldEFyZ3NNZXRob2ROYW1lXSgpXG5cbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gYExvYWRpbmcgJHtzY29wZX0gd2l0aCByZXF1ZXN0YClcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIkRldmlzZTo6Q3VycmVudFwiLCB7cXVlcnk6IGFyZ3MucXVlcnksIHNjb3BlfSlcbiAgICBjb25zdCBjdXJyZW50ID0gZGlnZyhyZXN1bHQsIFwiY3VycmVudFwiKVswXVxuXG4gICAgaWYgKCEoc2NvcGVOYW1lIGluIHMuc2V0U3RhdGVzKSkgdGhyb3cgbmV3IEVycm9yKGAnJHtzY29wZU5hbWV9JyBub3QgZm91bmQgaW4gc2V0U3RhdGVzYClcbiAgICBpZiAoY3VycmVudCkgRGV2aXNlLnVwZGF0ZVNlc3Npb24oY3VycmVudClcblxuICAgIHMuc2V0U3RhdGVzW3Njb3BlTmFtZV0oY3VycmVudClcblxuICAgIGlmIChzLnByb3BzLm9uQ3VycmVudFVzZXJMb2FkZWQpIHNldFRpbWVvdXQoKCkgPT4gcy5wcm9wcy5vbkN1cnJlbnRVc2VyTG9hZGVkKGN1cnJlbnQpLCAwKVxuICB9LCBbXSlcblxuICBjb25zdCBkZWZhdWx0Q3VycmVudFVzZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qge3Njb3BlLCBzY29wZU5hbWV9ID0gcy5tXG4gICAgbGV0IGN1cnJlbnRcblxuICAgIGlmIChEZXZpc2UuY3VycmVudCgpLmhhc0N1cnJlbnRTY29wZShzLm0uc2NvcGUpKSB7XG4gICAgICBjdXJyZW50ID0gRGV2aXNlLmN1cnJlbnQoKS5nZXRDdXJyZW50U2NvcGUoc2NvcGUpXG5cbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgU2V0dGluZyAke3Njb3BlfSBmcm9tIGN1cnJlbnQgc2NvcGU6ICR7Y3VycmVudD8uaWQoKX1gKVxuICAgIH0gZWxzZSBpZiAoRGV2aXNlLmN1cnJlbnQoKS5oYXNHbG9iYWxDdXJyZW50U2NvcGUoc2NvcGUpKSB7XG4gICAgICBjdXJyZW50ID0gRGV2aXNlW3Njb3BlTmFtZV0oKVxuXG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFNldHRpbmcgJHtzY29wZX0gZnJvbSBnbG9iYWwgY3VycmVudCBzY29wZTogJHtjdXJyZW50Py5pZCgpfWApXG4gICAgfVxuXG4gICAgaWYgKGN1cnJlbnQgJiYgcy5wcm9wcy5vbkN1cnJlbnRVc2VyTG9hZGVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHMucHJvcHMub25DdXJyZW50VXNlckxvYWRlZChjdXJyZW50KSwgMClcbiAgICB9XG5cbiAgICByZXR1cm4gY3VycmVudFxuICB9LCBbXSlcblxuICBjb25zdCB1c2VTdGF0ZXNBcmd1bWVudCA9IHt9XG5cbiAgdXNlU3RhdGVzQXJndW1lbnRbc2NvcGVOYW1lXSA9ICgpID0+IGRlZmF1bHRDdXJyZW50VXNlcigpXG5cbiAgcy51c2VTdGF0ZXModXNlU3RhdGVzQXJndW1lbnQpXG5cbiAgY29uc3QgdXBkYXRlQ3VycmVudFVzZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qgc2V0U3RhdGVzQXJndW1lbnQgPSB7fVxuXG4gICAgc2V0U3RhdGVzQXJndW1lbnRbcy5tLnNjb3BlTmFtZV0gPSBEZXZpc2Vbcy5tLnNjb3BlTmFtZV0oKVxuXG4gICAgcy5zZXQoc2V0U3RhdGVzQXJndW1lbnQpXG4gIH0sIFtdKVxuXG4gIHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghRGV2aXNlLmN1cnJlbnQoKS5oYXNHbG9iYWxDdXJyZW50U2NvcGUocy5tLnNjb3BlKSAmJiAhRGV2aXNlLmN1cnJlbnQoKS5oYXNDdXJyZW50U2NvcGUocy5tLnNjb3BlKSkge1xuICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBEZXZpc2UgaGFzbid0IGdvdCBjdXJyZW50IHNjb3BlICR7cy5tLnNjb3BlfSBzbyBsb2FkaW5nIGZyb20gcmVxdWVzdGApXG4gICAgICBsb2FkQ3VycmVudFVzZXJGcm9tUmVxdWVzdCgpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VFdmVudEVtaXR0ZXIoRGV2aXNlLmV2ZW50cygpLCBcIm9uRGV2aXNlU2lnbkluXCIsIHVwZGF0ZUN1cnJlbnRVc2VyKVxuICB1c2VFdmVudEVtaXR0ZXIoRGV2aXNlLmV2ZW50cygpLCBcIm9uRGV2aXNlU2lnbk91dFwiLCB1cGRhdGVDdXJyZW50VXNlcilcblxuICByZXR1cm4gcy5zW3Njb3BlTmFtZV1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlQ3VycmVudFVzZXJcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsV0FBVyxFQUFFQyxPQUFPLFFBQU8sT0FBTztBQUMxQyxTQUFRQyxRQUFRLFFB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
|
package/build/use-model.js
CHANGED
|
@@ -2,7 +2,7 @@ import { useCallback, useLayoutEffect, useMemo } from "react";
|
|
|
2
2
|
import Devise from "./devise";
|
|
3
3
|
import * as inflection from "inflection";
|
|
4
4
|
import ModelEvents from "./model-events";
|
|
5
|
-
import useQueryParams from "on-location-changed/
|
|
5
|
+
import useQueryParams from "on-location-changed/build/use-query-params";
|
|
6
6
|
import useShape from "set-state-compare/src/use-shape";
|
|
7
7
|
const useModel = (modelClassArg, argsArg = {}) => {
|
|
8
8
|
const queryParams = useQueryParams();
|
|
@@ -166,4 +166,4 @@ const useModel = (modelClassArg, argsArg = {}) => {
|
|
|
166
166
|
return result;
|
|
167
167
|
};
|
|
168
168
|
export default useModel;
|
|
169
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUxheW91dEVmZmVjdCIsInVzZU1lbW8iLCJEZXZpc2UiLCJpbmZsZWN0aW9uIiwiTW9kZWxFdmVudHMiLCJ1c2VRdWVyeVBhcmFtcyIsInVzZVNoYXBlIiwidXNlTW9kZWwiLCJtb2RlbENsYXNzQXJnIiwiYXJnc0FyZyIsInF1ZXJ5UGFyYW1zIiwiYXJncyIsIm1vZGVsQ2xhc3MiLCJzIiwidXNlU3RhdGVzIiwibW9kZWwiLCJ1bmRlZmluZWQiLCJub3RGb3VuZCIsInByb3BzIiwiYWN0aXZlIiwibWV0YSIsImNhbGxiYWNrIiwicGFyYW1zVmFyaWFibGVOYW1lIiwibW9kZWxOYW1lIiwicGFyYW1LZXkiLCJtb2RlbElkIiwibG9hZEJ5UXVlcnlQYXJhbSIsInF1ZXJ5IiwibWF0Y2giLCJFcnJvciIsInBhcmFtcyIsImlkIiwibW9kZWxWYXJpYWJsZU5hbWUiLCJjYW1lbGl6ZSIsIm1vZGVsQ2xhc3NEYXRhIiwibmFtZSIsImNhY2hlQXJncyIsImxvYWRFeGlzdGluZ01vZGVsIiwibSIsInJhbnNhY2siLCJpZF9lcSIsImNsb25lIiwiT2JqZWN0Iiwia2V5cyIsImpvaW4iLCJhYmlsaXRpZXMiLCJwIiwicHJlbG9hZCIsInNlbGVjdCIsImZpcnN0Iiwic2V0IiwibG9hZE5ld01vZGVsIiwiTW9kZWxDbGFzcyIsIm1vZGVsRGF0YUZyb21QYXJhbXMiLCJkZWZhdWx0cyIsIm5ld0lmTm9JZCIsIm1vZGVsRGF0YSIsImFzc2lnbiIsIm5ld0F0dHJpYnV0ZXMiLCJpc05ld1JlY29yZCIsImRhdGEiLCJhIiwibG9hZE1vZGVsIiwib3B0aW9uYWwiLCJvbkRlc3Ryb3llZCIsImZvcndhcmRBcmdzIiwib25TaWduZWRJbiIsIm9uU2lnbmVkT3V0IiwicHVzaCIsInVwZGF0ZU1ldGEiLCJyZWxvYWRNb2RlbENhbGxiYWNrIiwiZXZlbnRzIiwiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lciIsImNvbm5lY3RVcGRhdGVkIiwiZXZlbnRVcGRhdGVkIiwidW5zdWJzY3JpYmUiLCJjb25uZWN0RGVzdHJveWVkIiwicmVzdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1tb2RlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VMYXlvdXRFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgRGV2aXNlIGZyb20gXCIuL2RldmlzZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBNb2RlbEV2ZW50cyBmcm9tIFwiLi9tb2RlbC1ldmVudHNcIlxuaW1wb3J0IHVzZVF1ZXJ5UGFyYW1zIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL3NyYy91c2UtcXVlcnktcGFyYW1zXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3VzZS1zaGFwZVwiXG5cbmNvbnN0IHVzZU1vZGVsID0gKG1vZGVsQ2xhc3NBcmcsIGFyZ3NBcmcgPSB7fSkgPT4ge1xuICBjb25zdCBxdWVyeVBhcmFtcyA9IHVzZVF1ZXJ5UGFyYW1zKClcbiAgbGV0IGFyZ3MsIG1vZGVsQ2xhc3NcblxuICBpZiAodHlwZW9mIGFyZ3NBcmcgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgYXJncyA9IGFyZ3NBcmcoe21vZGVsQ2xhc3N9KVxuICB9IGVsc2Uge1xuICAgIGFyZ3MgPSBhcmdzQXJnXG4gIH1cblxuICBjb25zdCBzID0gdXNlU2hhcGUoYXJncylcblxuICBzLnVzZVN0YXRlcyh7XG4gICAgbW9kZWw6IHVuZGVmaW5lZCxcbiAgICBub3RGb3VuZDogdW5kZWZpbmVkXG4gIH0pXG5cbiAgaWYgKFwiYWN0aXZlXCIgaW4gcy5wcm9wcyAmJiAhcy5wcm9wcy5hY3RpdmUpIHtcbiAgICBzLm1ldGEuYWN0aXZlID0gZmFsc2VcbiAgfSBlbHNlIHtcbiAgICBzLm1ldGEuYWN0aXZlID0gdHJ1ZVxuICB9XG5cbiAgaWYgKHR5cGVvZiBtb2RlbENsYXNzQXJnID09IFwib2JqZWN0XCIpIHtcbiAgICBtb2RlbENsYXNzID0gbW9kZWxDbGFzc0FyZy5jYWxsYmFjayh7cXVlcnlQYXJhbXN9KVxuICB9IGVsc2Uge1xuICAgIG1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzQXJnXG4gIH1cblxuICBjb25zdCBwYXJhbXNWYXJpYWJsZU5hbWUgPSBgJHttb2RlbENsYXNzLm1vZGVsTmFtZSgpLnBhcmFtS2V5KCl9X2lkYFxuICBsZXQgbW9kZWxJZFxuXG4gIGlmIChhcmdzLmxvYWRCeVF1ZXJ5UGFyYW0pIHtcbiAgICBtb2RlbElkID0gYXJncy5sb2FkQnlRdWVyeVBhcmFtKHtxdWVyeVBhcmFtc30pXG4gIH0gZWxzZSBpZiAoIWFyZ3MucXVlcnkpIHtcbiAgICBpZiAoIWFyZ3MubWF0Y2gpIHRocm93IG5ldyBFcnJvcihcIkJvdGggJ2xvYWRCeVF1ZXJ5UGFyYW0nIGFuZCAnbWF0Y2gnIHdhc24ndCBnaXZlblwiKVxuXG4gICAgbW9kZWxJZCA9IGFyZ3MubWF0Y2gucGFyYW1zW3BhcmFtc1ZhcmlhYmxlTmFtZV0gfHwgYXJncy5tYXRjaC5wYXJhbXMuaWRcbiAgfVxuXG4gIGNvbnN0IG1vZGVsVmFyaWFibGVOYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCkubmFtZSwgdHJ1ZSlcbiAgY29uc3QgY2FjaGVBcmdzID0gW21vZGVsSWRdXG5cbiAgY29uc3QgbG9hZEV4aXN0aW5nTW9kZWwgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgbGV0IHF1ZXJ5XG5cbiAgICBpZiAocy5tLm1vZGVsSWQpIHtcbiAgICAgIHF1ZXJ5ID0gbW9kZWxDbGFzcy5yYW5zYWNrKHtpZF9lcTogcy5tLm1vZGVsSWR9KVxuICAgIH0gZWxzZSBpZiAocy5tLmFyZ3MucXVlcnkpIHtcbiAgICAgIHF1ZXJ5ID0gcy5tLmFyZ3MucXVlcnkuY2xvbmUoKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIG1vZGVsIElEIHdhcyBnaXZlbjogJHtzLm0ubW9kZWxJZH0gYnkgJyR7cGFyYW1zVmFyaWFibGVOYW1lfScgaW4gcXVlcnkgcGFyYW1zOiAke09iamVjdC5rZXlzKHMucHJvcHMubWF0Y2gucGFyYW1zKS5qb2luKFwiLCBcIil9YClcbiAgICB9XG5cbiAgICBpZiAocy5wcm9wcy5hYmlsaXRpZXMpIHF1ZXJ5LmFiaWxpdGllcyhzLnAuYWJpbGl0aWVzKVxuICAgIGlmIChzLnByb3BzLnByZWxvYWQpIHF1ZXJ5LnByZWxvYWQocy5wLnByZWxvYWQpXG4gICAgaWYgKHMucHJvcHMuc2VsZWN0KSBxdWVyeS5zZWxlY3Qocy5wLnNlbGVjdClcblxuICAgIGNvbnN0IG1vZGVsID0gYXdhaXQgcXVlcnkuZmlyc3QoKVxuXG4gICAgcy5zZXQoe21vZGVsLCBub3RGb3VuZDogIW1vZGVsfSlcbiAgfSwgW10pXG5cbiAgY29uc3QgbG9hZE5ld01vZGVsID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzXG4gICAgY29uc3QgcGFyYW1LZXkgPSBNb2RlbENsYXNzLm1vZGVsTmFtZSgpLnBhcmFtS2V5KClcbiAgICBjb25zdCBtb2RlbERhdGFGcm9tUGFyYW1zID0gcy5tLnF1ZXJ5UGFyYW1zW3BhcmFtS2V5XSB8fCB7fVxuXG4gICAgbGV0IGRlZmF1bHRzID0ge31cblxuICAgIGlmIChzLnByb3BzLm5ld0lmTm9JZD8uZGVmYXVsdHMpIHtcbiAgICAgIGRlZmF1bHRzID0gYXdhaXQgcy5wcm9wcy5uZXdJZk5vSWQuZGVmYXVsdHMoKVxuICAgIH1cblxuICAgIGNvbnN0IG1vZGVsRGF0YSA9IE9iamVjdC5hc3NpZ24oZGVmYXVsdHMsIHMucHJvcHMubmV3QXR0cmlidXRlcywgbW9kZWxEYXRhRnJvbVBhcmFtcylcbiAgICBjb25zdCBtb2RlbCA9IG5ldyBNb2RlbENsYXNzKHtcbiAgICAgIGlzTmV3UmVjb3JkOiB0cnVlLFxuICAgICAgZGF0YToge2E6IG1vZGVsRGF0YX1cbiAgICB9KVxuXG4gICAgcy5zZXQoe21vZGVsfSlcbiAgfSwgW10pXG5cbiAgY29uc3QgbG9hZE1vZGVsID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGlmICghcy5tLmFjdGl2ZSkge1xuICAgICAgLy8gTm90IGFjdGl2ZSAtIGRvbid0IGRvIGFueXRoaW5nXG4gICAgfSBlbHNlIGlmIChzLnByb3BzLm5ld0lmTm9JZCAmJiAhcy5tLm1vZGVsSWQpIHtcbiAgICAgIHJldHVybiBhd2FpdCBsb2FkTmV3TW9kZWwoKVxuICAgIH0gZWxzZSBpZiAoIXMucHJvcHMub3B0aW9uYWwgfHwgcy5tLm1vZGVsSWQgfCBzLm0uYXJncy5xdWVyeSkge1xuICAgICAgcmV0dXJuIGF3YWl0IGxvYWRFeGlzdGluZ01vZGVsKClcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uRGVzdHJveWVkID0gdXNlQ2FsbGJhY2soKHttb2RlbH0pID0+IHtcbiAgICBjb25zdCBmb3J3YXJkQXJncyA9IHttb2RlbH1cblxuICAgIGZvcndhcmRBcmdzW3MubS5tb2RlbFZhcmlhYmxlTmFtZV0gPSBtb2RlbFxuXG4gICAgcy5wLm9uRGVzdHJveWVkKGZvcndhcmRBcmdzKVxuICB9LCBbXSlcblxuICBjb25zdCBvblNpZ25lZEluID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGxvYWRNb2RlbCgpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uU2lnbmVkT3V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGxvYWRNb2RlbCgpXG4gIH0sIFtdKVxuXG4gIGlmIChhcmdzLmNhY2hlQXJncykge1xuICAgIGNhY2hlQXJncy5wdXNoKC4uLmFyZ3MuY2FjaGVBcmdzKVxuICB9XG5cbiAgcy51cGRhdGVNZXRhKHthcmdzLCBtb2RlbElkLCBtb2RlbFZhcmlhYmxlTmFtZSwgcXVlcnlQYXJhbXN9KVxuXG4gIHVzZU1lbW8oXG4gICAgKCkgPT4geyBsb2FkTW9kZWwoKSB9LFxuICAgIGNhY2hlQXJnc1xuICApXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBsZXQgcmVsb2FkTW9kZWxDYWxsYmFja1xuXG4gICAgaWYgKGFyZ3MuZXZlbnRzKSB7XG4gICAgICByZWxvYWRNb2RlbENhbGxiYWNrID0gYXJncy5ldmVudHMuYWRkTGlzdGVuZXIoXCJyZWxvYWRNb2RlbFwiLCBsb2FkTW9kZWwpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZWxvYWRNb2RlbENhbGxiYWNrKSB7XG4gICAgICAgIGFyZ3MuZXZlbnRzLnJlbW92ZUxpc3RlbmVyKFwicmVsb2FkTW9kZWxcIiwgbG9hZE1vZGVsKVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2FyZ3MuZXZlbnRzXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBjb25uZWN0VXBkYXRlZFxuXG4gICAgaWYgKHMucy5tb2RlbCAmJiBhcmdzLmV2ZW50VXBkYXRlZCkge1xuICAgICAgY29ubmVjdFVwZGF0ZWQgPSBNb2RlbEV2ZW50cy5jb25uZWN0VXBkYXRlZChzLnMubW9kZWwsIGxvYWRNb2RlbClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29ubmVjdFVwZGF0ZWQ/LnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH0sIFthcmdzLmV2ZW50VXBkYXRlZCwgcy5zLm1vZGVsPy5pZCgpXSlcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIERldmlzZS5ldmVudHMoKS5hZGRMaXN0ZW5lcihcIm9uRGV2aXNlU2lnbkluXCIsIG9uU2lnbmVkSW4pXG4gICAgRGV2aXNlLmV2ZW50cygpLmFkZExpc3RlbmVyKFwib25EZXZpc2VTaWduT3V0XCIsIG9uU2lnbmVkT3V0KVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIERldmlzZS5ldmVudHMoKS5yZW1vdmVMaXN0ZW5lcihcIm9uRGV2aXNlU2lnbkluXCIsIG9uU2lnbmVkSW4pXG4gICAgICBEZXZpc2UuZXZlbnRzKCkucmVtb3ZlTGlzdGVuZXIoXCJvbkRldmlzZVNpZ25PdXRcIiwgb25TaWduZWRPdXQpXG4gICAgfVxuICB9KVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNvbm5lY3REZXN0cm95ZWRcblxuICAgIGlmIChzLnMubW9kZWwgJiYgYXJncy5vbkRlc3Ryb3llZCkge1xuICAgICAgY29ubmVjdERlc3Ryb3llZCA9IE1vZGVsRXZlbnRzLmNvbm5lY3REZXN0cm95ZWQocy5zLm1vZGVsLCBvbkRlc3Ryb3llZClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29ubmVjdERlc3Ryb3llZD8udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfSwgW2FyZ3Mub25EZXN0cm95ZWQsIHMucy5tb2RlbD8uaWQoKV0pXG5cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIG1vZGVsOiBzLnMubW9kZWwsXG4gICAgbW9kZWxJZCxcbiAgICBub3RGb3VuZDogcy5zLm5vdEZvdW5kXG4gIH1cblxuICByZXN1bHRbbW9kZWxWYXJpYWJsZU5hbWVdID0gcy5zLm1vZGVsXG4gIHJlc3VsdFtgJHttb2RlbFZhcmlhYmxlTmFtZX1JZGBdID0gbW9kZWxJZFxuICByZXN1bHRbYCR7bW9kZWxWYXJpYWJsZU5hbWV9Tm90Rm91bmRgXSA9IHMucy5ub3RGb3VuZFxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlTW9kZWxcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsV0FBVyxFQUFFQyxlQUFlLEVBQUVDLE9BQU8sUUFBTyxPQUFPO0FBQzNELE9BQU9DLE1BQU0sTUFBTSxVQUFVO0FBQzdCLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFDeEMsT0FBT0MsV0FBVyxNQUFNLGdCQUFnQjtBQUN4QyxPQUFPQyxjQUFjLE1BQU0sMENBQTBDO0FBQ3JFLE9BQU9DLFFBQVEsTUFBTSxpQ0FBaUM7QUFFdEQsTUFBTUMsUUFBUSxHQUFHQSxDQUFDQyxhQUFhLEVBQUVDLE9BQU8sR0FBRyxD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
|
|
169
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUxheW91dEVmZmVjdCIsInVzZU1lbW8iLCJEZXZpc2UiLCJpbmZsZWN0aW9uIiwiTW9kZWxFdmVudHMiLCJ1c2VRdWVyeVBhcmFtcyIsInVzZVNoYXBlIiwidXNlTW9kZWwiLCJtb2RlbENsYXNzQXJnIiwiYXJnc0FyZyIsInF1ZXJ5UGFyYW1zIiwiYXJncyIsIm1vZGVsQ2xhc3MiLCJzIiwidXNlU3RhdGVzIiwibW9kZWwiLCJ1bmRlZmluZWQiLCJub3RGb3VuZCIsInByb3BzIiwiYWN0aXZlIiwibWV0YSIsImNhbGxiYWNrIiwicGFyYW1zVmFyaWFibGVOYW1lIiwibW9kZWxOYW1lIiwicGFyYW1LZXkiLCJtb2RlbElkIiwibG9hZEJ5UXVlcnlQYXJhbSIsInF1ZXJ5IiwibWF0Y2giLCJFcnJvciIsInBhcmFtcyIsImlkIiwibW9kZWxWYXJpYWJsZU5hbWUiLCJjYW1lbGl6ZSIsIm1vZGVsQ2xhc3NEYXRhIiwibmFtZSIsImNhY2hlQXJncyIsImxvYWRFeGlzdGluZ01vZGVsIiwibSIsInJhbnNhY2siLCJpZF9lcSIsImNsb25lIiwiT2JqZWN0Iiwia2V5cyIsImpvaW4iLCJhYmlsaXRpZXMiLCJwIiwicHJlbG9hZCIsInNlbGVjdCIsImZpcnN0Iiwic2V0IiwibG9hZE5ld01vZGVsIiwiTW9kZWxDbGFzcyIsIm1vZGVsRGF0YUZyb21QYXJhbXMiLCJkZWZhdWx0cyIsIm5ld0lmTm9JZCIsIm1vZGVsRGF0YSIsImFzc2lnbiIsIm5ld0F0dHJpYnV0ZXMiLCJpc05ld1JlY29yZCIsImRhdGEiLCJhIiwibG9hZE1vZGVsIiwib3B0aW9uYWwiLCJvbkRlc3Ryb3llZCIsImZvcndhcmRBcmdzIiwib25TaWduZWRJbiIsIm9uU2lnbmVkT3V0IiwicHVzaCIsInVwZGF0ZU1ldGEiLCJyZWxvYWRNb2RlbENhbGxiYWNrIiwiZXZlbnRzIiwiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lciIsImNvbm5lY3RVcGRhdGVkIiwiZXZlbnRVcGRhdGVkIiwidW5zdWJzY3JpYmUiLCJjb25uZWN0RGVzdHJveWVkIiwicmVzdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1tb2RlbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VMYXlvdXRFZmZlY3QsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgRGV2aXNlIGZyb20gXCIuL2RldmlzZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBNb2RlbEV2ZW50cyBmcm9tIFwiLi9tb2RlbC1ldmVudHNcIlxuaW1wb3J0IHVzZVF1ZXJ5UGFyYW1zIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1xdWVyeS1wYXJhbXNcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvdXNlLXNoYXBlXCJcblxuY29uc3QgdXNlTW9kZWwgPSAobW9kZWxDbGFzc0FyZywgYXJnc0FyZyA9IHt9KSA9PiB7XG4gIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdXNlUXVlcnlQYXJhbXMoKVxuICBsZXQgYXJncywgbW9kZWxDbGFzc1xuXG4gIGlmICh0eXBlb2YgYXJnc0FyZyA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBhcmdzID0gYXJnc0FyZyh7bW9kZWxDbGFzc30pXG4gIH0gZWxzZSB7XG4gICAgYXJncyA9IGFyZ3NBcmdcbiAgfVxuXG4gIGNvbnN0IHMgPSB1c2VTaGFwZShhcmdzKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBtb2RlbDogdW5kZWZpbmVkLFxuICAgIG5vdEZvdW5kOiB1bmRlZmluZWRcbiAgfSlcblxuICBpZiAoXCJhY3RpdmVcIiBpbiBzLnByb3BzICYmICFzLnByb3BzLmFjdGl2ZSkge1xuICAgIHMubWV0YS5hY3RpdmUgPSBmYWxzZVxuICB9IGVsc2Uge1xuICAgIHMubWV0YS5hY3RpdmUgPSB0cnVlXG4gIH1cblxuICBpZiAodHlwZW9mIG1vZGVsQ2xhc3NBcmcgPT0gXCJvYmplY3RcIikge1xuICAgIG1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzQXJnLmNhbGxiYWNrKHtxdWVyeVBhcmFtc30pXG4gIH0gZWxzZSB7XG4gICAgbW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NBcmdcbiAgfVxuXG4gIGNvbnN0IHBhcmFtc1ZhcmlhYmxlTmFtZSA9IGAke21vZGVsQ2xhc3MubW9kZWxOYW1lKCkucGFyYW1LZXkoKX1faWRgXG4gIGxldCBtb2RlbElkXG5cbiAgaWYgKGFyZ3MubG9hZEJ5UXVlcnlQYXJhbSkge1xuICAgIG1vZGVsSWQgPSBhcmdzLmxvYWRCeVF1ZXJ5UGFyYW0oe3F1ZXJ5UGFyYW1zfSlcbiAgfSBlbHNlIGlmICghYXJncy5xdWVyeSkge1xuICAgIGlmICghYXJncy5tYXRjaCkgdGhyb3cgbmV3IEVycm9yKFwiQm90aCAnbG9hZEJ5UXVlcnlQYXJhbScgYW5kICdtYXRjaCcgd2Fzbid0IGdpdmVuXCIpXG5cbiAgICBtb2RlbElkID0gYXJncy5tYXRjaC5wYXJhbXNbcGFyYW1zVmFyaWFibGVOYW1lXSB8fCBhcmdzLm1hdGNoLnBhcmFtcy5pZFxuICB9XG5cbiAgY29uc3QgbW9kZWxWYXJpYWJsZU5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKS5uYW1lLCB0cnVlKVxuICBjb25zdCBjYWNoZUFyZ3MgPSBbbW9kZWxJZF1cblxuICBjb25zdCBsb2FkRXhpc3RpbmdNb2RlbCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBsZXQgcXVlcnlcblxuICAgIGlmIChzLm0ubW9kZWxJZCkge1xuICAgICAgcXVlcnkgPSBtb2RlbENsYXNzLnJhbnNhY2soe2lkX2VxOiBzLm0ubW9kZWxJZH0pXG4gICAgfSBlbHNlIGlmIChzLm0uYXJncy5xdWVyeSkge1xuICAgICAgcXVlcnkgPSBzLm0uYXJncy5xdWVyeS5jbG9uZSgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gbW9kZWwgSUQgd2FzIGdpdmVuOiAke3MubS5tb2RlbElkfSBieSAnJHtwYXJhbXNWYXJpYWJsZU5hbWV9JyBpbiBxdWVyeSBwYXJhbXM6ICR7T2JqZWN0LmtleXMocy5wcm9wcy5tYXRjaC5wYXJhbXMpLmpvaW4oXCIsIFwiKX1gKVxuICAgIH1cblxuICAgIGlmIChzLnByb3BzLmFiaWxpdGllcykgcXVlcnkuYWJpbGl0aWVzKHMucC5hYmlsaXRpZXMpXG4gICAgaWYgKHMucHJvcHMucHJlbG9hZCkgcXVlcnkucHJlbG9hZChzLnAucHJlbG9hZClcbiAgICBpZiAocy5wcm9wcy5zZWxlY3QpIHF1ZXJ5LnNlbGVjdChzLnAuc2VsZWN0KVxuXG4gICAgY29uc3QgbW9kZWwgPSBhd2FpdCBxdWVyeS5maXJzdCgpXG5cbiAgICBzLnNldCh7bW9kZWwsIG5vdEZvdW5kOiAhbW9kZWx9KVxuICB9LCBbXSlcblxuICBjb25zdCBsb2FkTmV3TW9kZWwgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgTW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcbiAgICBjb25zdCBwYXJhbUtleSA9IE1vZGVsQ2xhc3MubW9kZWxOYW1lKCkucGFyYW1LZXkoKVxuICAgIGNvbnN0IG1vZGVsRGF0YUZyb21QYXJhbXMgPSBzLm0ucXVlcnlQYXJhbXNbcGFyYW1LZXldIHx8IHt9XG5cbiAgICBsZXQgZGVmYXVsdHMgPSB7fVxuXG4gICAgaWYgKHMucHJvcHMubmV3SWZOb0lkPy5kZWZhdWx0cykge1xuICAgICAgZGVmYXVsdHMgPSBhd2FpdCBzLnByb3BzLm5ld0lmTm9JZC5kZWZhdWx0cygpXG4gICAgfVxuXG4gICAgY29uc3QgbW9kZWxEYXRhID0gT2JqZWN0LmFzc2lnbihkZWZhdWx0cywgcy5wcm9wcy5uZXdBdHRyaWJ1dGVzLCBtb2RlbERhdGFGcm9tUGFyYW1zKVxuICAgIGNvbnN0IG1vZGVsID0gbmV3IE1vZGVsQ2xhc3Moe1xuICAgICAgaXNOZXdSZWNvcmQ6IHRydWUsXG4gICAgICBkYXRhOiB7YTogbW9kZWxEYXRhfVxuICAgIH0pXG5cbiAgICBzLnNldCh7bW9kZWx9KVxuICB9LCBbXSlcblxuICBjb25zdCBsb2FkTW9kZWwgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFzLm0uYWN0aXZlKSB7XG4gICAgICAvLyBOb3QgYWN0aXZlIC0gZG9uJ3QgZG8gYW55dGhpbmdcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMubmV3SWZOb0lkICYmICFzLm0ubW9kZWxJZCkge1xuICAgICAgcmV0dXJuIGF3YWl0IGxvYWROZXdNb2RlbCgpXG4gICAgfSBlbHNlIGlmICghcy5wcm9wcy5vcHRpb25hbCB8fCBzLm0ubW9kZWxJZCB8IHMubS5hcmdzLnF1ZXJ5KSB7XG4gICAgICByZXR1cm4gYXdhaXQgbG9hZEV4aXN0aW5nTW9kZWwoKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgb25EZXN0cm95ZWQgPSB1c2VDYWxsYmFjaygoe21vZGVsfSkgPT4ge1xuICAgIGNvbnN0IGZvcndhcmRBcmdzID0ge21vZGVsfVxuXG4gICAgZm9yd2FyZEFyZ3Nbcy5tLm1vZGVsVmFyaWFibGVOYW1lXSA9IG1vZGVsXG5cbiAgICBzLnAub25EZXN0cm95ZWQoZm9yd2FyZEFyZ3MpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uU2lnbmVkSW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbG9hZE1vZGVsKClcbiAgfSwgW10pXG5cbiAgY29uc3Qgb25TaWduZWRPdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbG9hZE1vZGVsKClcbiAgfSwgW10pXG5cbiAgaWYgKGFyZ3MuY2FjaGVBcmdzKSB7XG4gICAgY2FjaGVBcmdzLnB1c2goLi4uYXJncy5jYWNoZUFyZ3MpXG4gIH1cblxuICBzLnVwZGF0ZU1ldGEoe2FyZ3MsIG1vZGVsSWQsIG1vZGVsVmFyaWFibGVOYW1lLCBxdWVyeVBhcmFtc30pXG5cbiAgdXNlTWVtbyhcbiAgICAoKSA9PiB7IGxvYWRNb2RlbCgpIH0sXG4gICAgY2FjaGVBcmdzXG4gIClcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGxldCByZWxvYWRNb2RlbENhbGxiYWNrXG5cbiAgICBpZiAoYXJncy5ldmVudHMpIHtcbiAgICAgIHJlbG9hZE1vZGVsQ2FsbGJhY2sgPSBhcmdzLmV2ZW50cy5hZGRMaXN0ZW5lcihcInJlbG9hZE1vZGVsXCIsIGxvYWRNb2RlbClcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlbG9hZE1vZGVsQ2FsbGJhY2spIHtcbiAgICAgICAgYXJncy5ldmVudHMucmVtb3ZlTGlzdGVuZXIoXCJyZWxvYWRNb2RlbFwiLCBsb2FkTW9kZWwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbYXJncy5ldmVudHNdKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNvbm5lY3RVcGRhdGVkXG5cbiAgICBpZiAocy5zLm1vZGVsICYmIGFyZ3MuZXZlbnRVcGRhdGVkKSB7XG4gICAgICBjb25uZWN0VXBkYXRlZCA9IE1vZGVsRXZlbnRzLmNvbm5lY3RVcGRhdGVkKHMucy5tb2RlbCwgbG9hZE1vZGVsKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25uZWN0VXBkYXRlZD8udW5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfSwgW2FyZ3MuZXZlbnRVcGRhdGVkLCBzLnMubW9kZWw/LmlkKCldKVxuXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgRGV2aXNlLmV2ZW50cygpLmFkZExpc3RlbmVyKFwib25EZXZpc2VTaWduSW5cIiwgb25TaWduZWRJbilcbiAgICBEZXZpc2UuZXZlbnRzKCkuYWRkTGlzdGVuZXIoXCJvbkRldmlzZVNpZ25PdXRcIiwgb25TaWduZWRPdXQpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgRGV2aXNlLmV2ZW50cygpLnJlbW92ZUxpc3RlbmVyKFwib25EZXZpc2VTaWduSW5cIiwgb25TaWduZWRJbilcbiAgICAgIERldmlzZS5ldmVudHMoKS5yZW1vdmVMaXN0ZW5lcihcIm9uRGV2aXNlU2lnbk91dFwiLCBvblNpZ25lZE91dClcbiAgICB9XG4gIH0pXG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY29ubmVjdERlc3Ryb3llZFxuXG4gICAgaWYgKHMucy5tb2RlbCAmJiBhcmdzLm9uRGVzdHJveWVkKSB7XG4gICAgICBjb25uZWN0RGVzdHJveWVkID0gTW9kZWxFdmVudHMuY29ubmVjdERlc3Ryb3llZChzLnMubW9kZWwsIG9uRGVzdHJveWVkKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjb25uZWN0RGVzdHJveWVkPy51bnN1YnNjcmliZSgpXG4gICAgfVxuICB9LCBbYXJncy5vbkRlc3Ryb3llZCwgcy5zLm1vZGVsPy5pZCgpXSlcblxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgbW9kZWw6IHMucy5tb2RlbCxcbiAgICBtb2RlbElkLFxuICAgIG5vdEZvdW5kOiBzLnMubm90Rm91bmRcbiAgfVxuXG4gIHJlc3VsdFttb2RlbFZhcmlhYmxlTmFtZV0gPSBzLnMubW9kZWxcbiAgcmVzdWx0W2Ake21vZGVsVmFyaWFibGVOYW1lfUlkYF0gPSBtb2RlbElkXG4gIHJlc3VsdFtgJHttb2RlbFZhcmlhYmxlTmFtZX1Ob3RGb3VuZGBdID0gcy5zLm5vdEZvdW5kXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VNb2RlbFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxXQUFXLEVBQUVDLGVBQWUsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDM0QsT0FBT0MsTUFBTSxNQUFNLFVBQVU7QUFDN0IsT0FBTyxLQUFLQyxVQUFVLE1BQU0sWUFBWTtBQUN4QyxPQUFPQyxXQUFXLE1BQU0sZ0JBQWdCO0FBQ3hDLE9BQU9DLGNBQWMsTUFBTSw0Q0FBNEM7QUFDdkUsT0FBT0MsUUFBUSxNQUFNLGlDQUFpQztBQUV0RCxNQUFNQyxRQUFRLEdBQUdBLENBQUNDLGFBQWEsRUFBRUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFLO0VBQ2hELE1BQU1DLFdBQVcsR0FBR0wsY0FBYyxDQUFDLENBQUM7RUFDcEMsSUFBSU0sSUFBSSxFQUFFQyxVQUFVO0VBRXBCLElBQUksT0FBT0gsT0FBTyxJQUFJLFVBQVUsRUFBRTtJQUNoQ0UsSUFBSSxHQUFHRixPQUFPLENBQUM7TUFBQ0c7SUFBVSxDQUFDLENBQUM7RUFDOUIsQ0FBQyxNQUFNO0lBQ0xELElBQUksR0FBR0YsT0FBTztFQUNoQjtFQUVBLE1BQU1JLENBQUMsR0FBR1AsUUFBUSxDQUFDSyxJQUFJLENBQUM7RUFFeEJFLENBQUMsQ0FBQ0MsU0FBUyxDQUFDO0lBQ1ZDLEtBQUssRUFBRUMsU0FBUztJQUNoQkMsUUFBUSxFQUFFRDtFQUNaLENBQUMsQ0FBQztFQUVGLElBQUksUUFBUSxJQUFJSCxDQUFDLENBQUNLLEtBQUssSUFBSSxDQUFDTCxDQUFDLENBQUNLLEtBQUssQ0FBQ0MsTUFBTSxFQUFFO0lBQzFDTixDQUFDLENBQUNPLElBQUksQ0FBQ0QsTUFBTSxHQUFHLEtBQUs7RUFDdkIsQ0FBQyxNQUFNO0lBQ0xOLENBQUMsQ0FBQ08sSUFBSSxDQUFDRCxNQUFNLEdBQUcsSUFBSTtFQUN0QjtFQUVBLElBQUksT0FBT1gsYUFBYSxJQUFJLFFBQVEsRUFBRTtJQUNwQ0ksVUFBVSxHQUFHSixhQUFhLENBQUNhLFFBQVEsQ0FBQztNQUFDWDtJQUFXLENBQUMsQ0FBQztFQUNwRCxDQUFDLE1BQU07SUFDTEUsVUFBVSxHQUFHSixhQUFhO0VBQzVCO0VBRUEsTUFBTWMsa0JBQWtCLEdBQUcsR0FBR1YsVUFBVSxDQUFDVyxTQUFTLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxLQUFLO0VBQ3BFLElBQUlDLE9BQU87RUFFWCxJQUFJZCxJQUFJLENBQUNlLGdCQUFnQixFQUFFO0lBQ3pCRCxPQUFPLEdBQUdkLElBQUksQ0FBQ2UsZ0JBQWdCLENBQUM7TUFBQ2hCO0lBQVcsQ0FBQyxDQUFDO0VBQ2hELENBQUMsTUFBTSxJQUFJLENBQUNDLElBQUksQ0FBQ2dCLEtBQUssRUFBRTtJQUN0QixJQUFJLENBQUNoQixJQUFJLENBQUNpQixLQUFLLEVBQUUsTUFBTSxJQUFJQyxLQUFLLENBQUMsa0RBQWtELENBQUM7SUFFcEZKLE9BQU8sR0FBR2QsSUFBSSxDQUFDaUIsS0FBSyxDQUFDRSxNQUFNLENBQUNSLGtCQUFrQixDQUFDLElBQUlYLElBQUksQ0FBQ2lCLEtBQUssQ0FBQ0UsTUFBTSxDQUFDQyxFQUFFO0VBQ3pFO0VBRUEsTUFBTUMsaUJBQWlCLEdBQUc3QixVQUFVLENBQUM4QixRQUFRLENBQUNyQixVQUFVLENBQUNzQixjQUFjLENBQUMsQ0FBQyxDQUFDQyxJQUFJLEVBQUUsSUFBSSxDQUFDO0VBQ3JGLE1BQU1DLFNBQVMsR0FBRyxDQUFDWCxPQUFPLENBQUM7RUFFM0IsTUFBTVksaUJBQWlCLEdBQUd0QyxXQUFXLENBQUMsWUFBWTtJQUNoRCxJQUFJNEIsS0FBSztJQUVULElBQUlkLENBQUMsQ0FBQ3lCLENBQUMsQ0FBQ2IsT0FBTyxFQUFFO01BQ2ZFLEtBQUssR0FBR2YsVUFBVSxDQUFDMkIsT0FBTyxDQUFDO1FBQUNDLEtBQUssRUFBRTNCLENBQUMsQ0FBQ3lCLENBQUMsQ0FBQ2I7TUFBTyxDQUFDLENBQUM7SUFDbEQsQ0FBQyxNQUFNLElBQUlaLENBQUMsQ0FBQ3lCLENBQUMsQ0FBQzNCLElBQUksQ0FBQ2dCLEtBQUssRUFBRTtNQUN6QkEsS0FBSyxHQUFHZCxDQUFDLENBQUN5QixDQUFDLENBQUMzQixJQUFJLENBQUNnQixLQUFLLENBQUNjLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUMsTUFBTTtNQUNMLE1BQU0sSUFBSVosS0FBSyxDQUFDLDBCQUEwQmhCLENBQUMsQ0FBQ3lCLENBQUMsQ0FBQ2IsT0FBTyxRQUFRSCxrQkFBa0Isc0JBQXNCb0IsTUFBTSxDQUFDQyxJQUFJLENBQUM5QixDQUFDLENBQUNLLEtBQUssQ0FBQ1UsS0FBSyxDQUFDRSxNQUFNLENBQUMsQ0FBQ2MsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDdEo7SUFFQSxJQUFJL0IsQ0FBQyxDQUFDSyxLQUFLLENBQUMyQixTQUFTLEVBQUVsQixLQUFLLENBQUNrQixTQUFTLENBQUNoQyxDQUFDLENBQUNpQyxDQUFDLENBQUNELFNBQVMsQ0FBQztJQUNyRCxJQUFJaEMsQ0FBQyxDQUFDSyxLQUFLLENBQUM2QixPQUFPLEVBQUVwQixLQUFLLENBQUNvQixPQUFPLENBQUNsQyxDQUFDLENBQUNpQyxDQUFDLENBQUNDLE9BQU8sQ0FBQztJQUMvQyxJQUFJbEMsQ0FBQyxDQUFDSyxLQUFLLENBQUM4QixNQUFNLEVBQUVyQixLQUFLLENBQUNxQixNQUFNLENBQUNuQyxDQUFDLENBQUNpQyxDQUFDLENBQUNFLE1BQU0sQ0FBQztJQUU1QyxNQUFNakMsS0FBSyxHQUFHLE1BQU1ZLEtBQUssQ0FBQ3NCLEtBQUssQ0FBQyxDQUFDO0lBRWpDcEMsQ0FBQyxDQUFDcUMsR0FBRyxDQUFDO01BQUNuQyxLQUFLO01BQUVFLFFBQVEsRUFBRSxDQUFDRjtJQUFLLENBQUMsQ0FBQztFQUNsQyxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sTUFBTW9DLFlBQVksR0FBR3BELFdBQVcsQ0FBQyxZQUFZO0lBQzNDLE1BQU1xRCxVQUFVLEdBQUd4QyxVQUFVO0lBQzdCLE1BQU1ZLFFBQVEsR0FBRzRCLFVBQVUsQ0FBQzdCLFNBQVMsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELE1BQU02QixtQkFBbUIsR0FBR3hDLENBQUMsQ0FBQ3lCLENBQUMsQ0FBQzVCLFdBQVcsQ0FBQ2MsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTNELElBQUk4QixRQUFRLEdBQUcsQ0FBQyxDQUFDO0lBRWpCLElBQUl6QyxDQUFDLENBQUNLLEtBQUssQ0FBQ3FDLFNBQVMsRUFBRUQsUUFBUSxFQUFFO01BQy9CQSxRQUFRLEdBQUcsTUFBTXpDLENBQUMsQ0FBQ0ssS0FBSyxDQUFDcUMsU0FBUyxDQUFDRCxRQUFRLENBQUMsQ0FBQztJQUMvQztJQUVBLE1BQU1FLFNBQVMsR0FBR2QsTUFBTSxDQUFDZSxNQUFNLENBQUNILFFBQVEsRUFBRXpDLENBQUMsQ0FBQ0ssS0FBSyxDQUFDd0MsYUFBYSxFQUFFTCxtQkFBbUIsQ0FBQztJQUNyRixNQUFNdEMsS0FBSyxHQUFHLElBQUlxQyxVQUFVLENBQUM7TUFDM0JPLFdBQVcsRUFBRSxJQUFJO01BQ2pCQyxJQUFJLEVBQUU7UUFBQ0MsQ0FBQyxFQUFFTDtNQUFTO0lBQ3JCLENBQUMsQ0FBQztJQUVGM0MsQ0FBQyxDQUFDcUMsR0FBRyxDQUFDO01BQUNuQztJQUFLLENBQUMsQ0FBQztFQUNoQixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sTUFBTStDLFNBQVMsR0FBRy9ELFdBQVcsQ0FBQyxZQUFZO0lBQ3hDLElBQUksQ0FBQ2MsQ0FBQyxDQUFDeUIsQ0FBQyxDQUFDbkIsTUFBTSxFQUFFO01BQ2Y7SUFBQSxDQUNELE1BQU0sSUFBSU4sQ0FBQyxDQUFDSyxLQUFLLENBQUNxQyxTQUFTLElBQUksQ0FBQzFDLENBQUMsQ0FBQ3lCLENBQUMsQ0FBQ2IsT0FBTyxFQUFFO01BQzVDLE9BQU8sTUFBTTBCLFlBQVksQ0FBQyxDQUFDO0lBQzdCLENBQUMsTUFBTSxJQUFJLENBQUN0QyxDQUFDLENBQUNLLEtBQUssQ0FBQzZDLFFBQVEsSUFBSWxELENBQUMsQ0FBQ3lCLENBQUMsQ0FBQ2IsT0FBTyxHQUFHWixDQUFDLENBQUN5QixDQUFDLENBQUMzQixJQUFJLENBQUNnQixLQUFLLEVBQUU7TUFDNUQsT0FBTyxNQUFNVSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2xDO0VBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE1BQU0yQixXQUFXLEdBQUdqRSxXQUFXLENBQUMsQ0FBQztJQUFDZ0I7RUFBSyxDQUFDLEtBQUs7SUFDM0MsTUFBTWtELFdBQVcsR0FBRztNQUFDbEQ7SUFBSyxDQUFDO0lBRTNCa0QsV0FBVyxDQUFDcEQsQ0FBQyxDQUFDeUIsQ0FBQyxDQUFDTixpQkFBaUIsQ0FBQyxHQUFHakIsS0FBSztJQUUxQ0YsQ0FBQyxDQUFDaUMsQ0FBQyxDQUFDa0IsV0FBVyxDQUFDQyxXQUFXLENBQUM7RUFDOUIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLE1BQU1DLFVBQVUsR0FBR25FLFdBQVcsQ0FBQyxNQUFNO0lBQ25DK0QsU0FBUyxDQUFDLENBQUM7RUFDYixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sTUFBTUssV0FBVyxHQUFHcEUsV0FBVyxDQUFDLE1BQU07SUFDcEMrRCxTQUFTLENBQUMsQ0FBQztFQUNiLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFJbkQsSUFBSSxDQUFDeUIsU0FBUyxFQUFFO0lBQ2xCQSxTQUFTLENBQUNnQyxJQUFJLENBQUMsR0FBR3pELElBQUksQ0FBQ3lCLFNBQVMsQ0FBQztFQUNuQztFQUVBdkIsQ0FBQyxDQUFDd0QsVUFBVSxDQUFDO0lBQUMxRCxJQUFJO0lBQUVjLE9BQU87SUFBRU8saUJBQWlCO0lBQUV0QjtFQUFXLENBQUMsQ0FBQztFQUU3RFQsT0FBTyxDQUNMLE1BQU07SUFBRTZELFNBQVMsQ0FBQyxDQUFDO0VBQUMsQ0FBQyxFQUNyQjFCLFNBQ0YsQ0FBQztFQUVEcEMsZUFBZSxDQUFDLE1BQU07SUFDcEIsSUFBSXNFLG1CQUFtQjtJQUV2QixJQUFJM0QsSUFBSSxDQUFDNEQsTUFBTSxFQUFFO01BQ2ZELG1CQUFtQixHQUFHM0QsSUFBSSxDQUFDNEQsTUFBTSxDQUFDQyxXQUFXLENBQUMsYUFBYSxFQUFFVixTQUFTLENBQUM7SUFDekU7SUFFQSxPQUFPLE1BQU07TUFDWCxJQUFJUSxtQkFBbUIsRUFBRTtRQUN2QjNELElBQUksQ0FBQzRELE1BQU0sQ0FBQ0UsY0FBYyxDQUFDLGFBQWEsRUFBRVgsU0FBUyxDQUFDO01BQ3REO0lBQ0YsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDbkQsSUFBSSxDQUFDNEQsTUFBTSxDQUFDLENBQUM7RUFFakJ2RSxlQUFlLENBQUMsTUFBTTtJQUNwQixJQUFJMEUsY0FBYztJQUVsQixJQUFJN0QsQ0FBQyxDQUFDQSxDQUFDLENBQUNFLEtBQUssSUFBSUosSUFBSSxDQUFDZ0UsWUFBWSxFQUFFO01BQ2xDRCxjQUFjLEdBQUd0RSxXQUFXLENBQUNzRSxjQUFjLENBQUM3RCxDQUFDLENBQUNBLENBQUMsQ0FBQ0UsS0FBSyxFQUFFK0MsU0FBUyxDQUFDO0lBQ25FO0lBRUEsT0FBTyxNQUFNO01BQ1hZLGNBQWMsRUFBRUUsV0FBVyxDQUFDLENBQUM7SUFDL0IsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDakUsSUFBSSxDQUFDZ0UsWUFBWSxFQUFFOUQsQ0FBQyxDQUFDQSxDQUFDLENBQUNFLEtBQUssRUFBRWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUV4Qy9CLGVBQWUsQ0FBQyxNQUFNO0lBQ3BCRSxNQUFNLENBQUNxRSxNQUFNLENBQUMsQ0FBQyxDQUFDQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUVOLFVBQVUsQ0FBQztJQUN6RGhFLE1BQU0sQ0FBQ3FFLE1BQU0sQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRUwsV0FBVyxDQUFDO0lBRTNELE9BQU8sTUFBTTtNQUNYakUsTUFBTSxDQUFDcUUsTUFBTSxDQUFDLENBQUMsQ0FBQ0UsY0FBYyxDQUFDLGdCQUFnQixFQUFFUCxVQUFVLENBQUM7TUFDNURoRSxNQUFNLENBQUNxRSxNQUFNLENBQUMsQ0FBQyxDQUFDRSxjQUFjLENBQUMsaUJBQWlCLEVBQUVOLFdBQVcsQ0FBQztJQUNoRSxDQUFDO0VBQ0gsQ0FBQyxDQUFDO0VBRUZuRSxlQUFlLENBQUMsTUFBTTtJQUNwQixJQUFJNkUsZ0JBQWdCO0lBRXBCLElBQUloRSxDQUFDLENBQUNBLENBQUMsQ0FBQ0UsS0FBSyxJQUFJSixJQUFJLENBQUNxRCxXQUFXLEVBQUU7TUFDakNhLGdCQUFnQixHQUFHekUsV0FBVyxDQUFDeUUsZ0JBQWdCLENBQUNoRSxDQUFDLENBQUNBLENBQUMsQ0FBQ0UsS0FBSyxFQUFFaUQsV0FBVyxDQUFDO0lBQ3pFO0lBRUEsT0FBTyxNQUFNO01BQ1hhLGdCQUFnQixFQUFFRCxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNqRSxJQUFJLENBQUNxRCxXQUFXLEVBQUVuRCxDQUFDLENBQUNBLENBQUMsQ0FBQ0UsS0FBSyxFQUFFZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBRXZDLE1BQU0rQyxNQUFNLEdBQUc7SUFDYi9ELEtBQUssRUFBRUYsQ0FBQyxDQUFDQSxDQUFDLENBQUNFLEtBQUs7SUFDaEJVLE9BQU87SUFDUFIsUUFBUSxFQUFFSixDQUFDLENBQUNBLENBQUMsQ0FBQ0k7RUFDaEIsQ0FBQztFQUVENkQsTUFBTSxDQUFDOUMsaUJBQWlCLENBQUMsR0FBR25CLENBQUMsQ0FBQ0EsQ0FBQyxDQUFDRSxLQUFLO0VBQ3JDK0QsTUFBTSxDQUFDLEdBQUc5QyxpQkFBaUIsSUFBSSxDQUFDLEdBQUdQLE9BQU87RUFDMUNxRCxNQUFNLENBQUMsR0FBRzlDLGlCQUFpQixVQUFVLENBQUMsR0FBR25CLENBQUMsQ0FBQ0EsQ0FBQyxDQUFDSSxRQUFRO0VBRXJELE9BQU82RCxNQUFNO0FBQ2YsQ0FBQztBQUVELGVBQWV2RSxRQUFRIiwiaWdub3JlTGlzdCI6W119
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaspernj/api-maker",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.463",
|
|
4
4
|
"description": "My new module",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"stacktrace-parser": "^0.1.10",
|
|
58
58
|
"strftime": ">= 0.10.0",
|
|
59
59
|
"uniqunize": "^1.0.1",
|
|
60
|
+
"url-parse": "^1.5.10",
|
|
60
61
|
"wake-event": ">= 0.0.1"
|
|
61
62
|
},
|
|
62
63
|
"devDependencies": {
|
|
@@ -11,7 +11,7 @@ import urlEncode from "../url-encode"
|
|
|
11
11
|
import useSorting from "../table/use-sorting"
|
|
12
12
|
|
|
13
13
|
import Link from "../link"
|
|
14
|
-
import useQueryParams from "on-location-changed/
|
|
14
|
+
import useQueryParams from "on-location-changed/build/use-query-params"
|
|
15
15
|
|
|
16
16
|
export default memo(shapeComponent(class ApiMakerBootstrapSortLink extends BaseComponent {
|
|
17
17
|
static propTypes = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import getChannelsConsumer from "./channels-consumer"
|
|
2
2
|
import CommandsPool from "./commands-pool"
|
|
3
3
|
import Deserializer from "./deserializer"
|
|
4
4
|
import {digg} from "diggerize"
|
|
@@ -18,7 +18,7 @@ export default class ApiMakerCableSubscriptionPool {
|
|
|
18
18
|
|
|
19
19
|
logger.debug(() => ["Creating subscription", {subscriptionData}])
|
|
20
20
|
|
|
21
|
-
this.subscription =
|
|
21
|
+
this.subscription = getChannelsConsumer().subscriptions.create(
|
|
22
22
|
{
|
|
23
23
|
channel: "ApiMaker::SubscriptionsChannel",
|
|
24
24
|
global: globalData,
|
package/src/channels-consumer.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import {createConsumer} from "@rails/actioncable"
|
|
2
2
|
|
|
3
|
-
export default
|
|
3
|
+
export default () => {
|
|
4
|
+
if (!globalThis.apiMakerChannelsConsumer) {
|
|
5
|
+
globalThis.apiMakerChannelsConsumer = createConsumer()
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
return globalThis.apiMakerChannelsConsumer
|
|
9
|
+
}
|
package/src/collection.js
CHANGED
|
@@ -5,6 +5,7 @@ import * as inflection from "inflection"
|
|
|
5
5
|
import {incorporate} from "incorporator"
|
|
6
6
|
import modelClassRequire from "./model-class-require"
|
|
7
7
|
import Result from "./result"
|
|
8
|
+
import uniqunize from "uniqunize"
|
|
8
9
|
|
|
9
10
|
export default class ApiMakerCollection {
|
|
10
11
|
static apiMakerType = "Collection"
|
package/src/config.js
CHANGED
|
@@ -16,7 +16,9 @@ const accessors = {
|
|
|
16
16
|
history: {required: true},
|
|
17
17
|
host: {required: false},
|
|
18
18
|
i18n: {required: false},
|
|
19
|
+
linkTo: {required: true},
|
|
19
20
|
modal: {required: false},
|
|
21
|
+
navigation: {required: true},
|
|
20
22
|
routes: {required: false},
|
|
21
23
|
routeDefinitions: {required: false}
|
|
22
24
|
}
|
package/src/devise.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import CanCan from "./can-can"
|
|
2
1
|
import Deserializer from "./deserializer"
|
|
3
|
-
import {digg} from "diggerize"
|
|
4
2
|
import events from "./events"
|
|
5
3
|
import * as inflection from "inflection"
|
|
6
4
|
import modelClassRequire from "./model-class-require"
|
|
7
5
|
import Services from "./services"
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
if (!globalThis.ApiMakerDevise) globalThis.ApiMakerDevise = {scopes: {}}
|
|
8
|
+
|
|
9
|
+
const shared = globalThis.ApiMakerDevise
|
|
10
10
|
|
|
11
11
|
export default class ApiMakerDevise {
|
|
12
12
|
static callSignOutEvent(args) {
|
|
@@ -25,14 +25,14 @@ export default class ApiMakerDevise {
|
|
|
25
25
|
return events
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
static addUserScope(scope) {
|
|
28
|
+
static addUserScope(scope, args = {}) {
|
|
29
29
|
const currentMethodName = `current${inflection.camelize(scope)}`
|
|
30
|
-
|
|
31
|
-
ApiMakerDevise[currentMethodName] = () => ApiMakerDevise.current().getCurrentScope(scope)
|
|
32
|
-
|
|
33
30
|
const isSignedInMethodName = `is${inflection.camelize(scope)}SignedIn`
|
|
31
|
+
const getArgsMethodName = `get${inflection.camelize(scope)}Args`
|
|
34
32
|
|
|
33
|
+
ApiMakerDevise[currentMethodName] = () => ApiMakerDevise.current().getCurrentScope(scope)
|
|
35
34
|
ApiMakerDevise[isSignedInMethodName] = () => Boolean(ApiMakerDevise.current().getCurrentScope(scope))
|
|
35
|
+
ApiMakerDevise[getArgsMethodName] = () => args
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
static async signIn(username, password, args = {}) {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import parse from "url-parse"
|
|
2
|
+
import qs from "qs"
|
|
3
|
+
|
|
4
|
+
class HistoryExpo {
|
|
5
|
+
push(path, ...params) {
|
|
6
|
+
const url = parse(path, {})
|
|
7
|
+
const actualParams = Object.assign({}, params)
|
|
8
|
+
|
|
9
|
+
if (url.query) {
|
|
10
|
+
Object.assign(actualParams, qs.parse(url.query.slice(1, url.query.length)))
|
|
11
|
+
|
|
12
|
+
url.set("query", null)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const actualPath = url.href
|
|
16
|
+
|
|
17
|
+
console.log("HistoryExpo push", {path: actualPath, params: actualParams})
|
|
18
|
+
|
|
19
|
+
router.push({pathname: actualPath, params: actualParams})
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const historyExpo = new HistoryExpo()
|
|
24
|
+
|
|
25
|
+
export default historyExpo
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Config from "./config"
|
|
2
|
+
import parse from "url-parse"
|
|
3
|
+
import qs from "qs"
|
|
4
|
+
|
|
5
|
+
class HistoryReactNative {
|
|
6
|
+
push(path, ...params) {
|
|
7
|
+
const url = parse(path, {})
|
|
8
|
+
|
|
9
|
+
if (url.query) {
|
|
10
|
+
const actualParams = Object.assign({}, params)
|
|
11
|
+
|
|
12
|
+
Object.assign(actualParams, qs.parse(url.query.slice(1, url.query.length)))
|
|
13
|
+
|
|
14
|
+
url.set("query", qs.stringify(actualParams))
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const {linkTo} = Config.getLinkTo()
|
|
18
|
+
|
|
19
|
+
linkTo(url.href)
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const historyReactNative = new HistoryReactNative()
|
|
24
|
+
|
|
25
|
+
export default historyReactNative
|
package/src/router.jsx
CHANGED
|
@@ -4,7 +4,7 @@ import propTypesExact from "prop-types-exact"
|
|
|
4
4
|
import React, {memo} from "react"
|
|
5
5
|
import {shapeComponent} from "set-state-compare/src/shape-component"
|
|
6
6
|
import {Suspense} from "react"
|
|
7
|
-
import usePath from "on-location-changed/
|
|
7
|
+
import usePath from "on-location-changed/build/use-path"
|
|
8
8
|
import useRouter from "./use-router"
|
|
9
9
|
|
|
10
10
|
export default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {
|
|
@@ -21,9 +21,19 @@ export default class ApiMakerSessionStatusUpdater {
|
|
|
21
21
|
constructor(args = {}) {
|
|
22
22
|
this.events = {}
|
|
23
23
|
this.timeout = args.timeout || 600000
|
|
24
|
-
this.useMetaElement = ("useMetaElement" in args) ? args.useMetaElement : true
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
if ("useMetaElement" in args) {
|
|
26
|
+
this.useMetaElement = args.useMetaElement
|
|
27
|
+
} else if (typeof document != "undefined") {
|
|
28
|
+
this.useMetaElement = true
|
|
29
|
+
} else {
|
|
30
|
+
this.useMetaElement = false
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (typeof window != "undefined") {
|
|
34
|
+
this.connectOnlineEvent()
|
|
35
|
+
}
|
|
36
|
+
|
|
27
37
|
this.connectWakeEvent()
|
|
28
38
|
}
|
|
29
39
|
|
|
@@ -16,7 +16,7 @@ import {shapeComponent} from "set-state-compare/src/shape-component"
|
|
|
16
16
|
import Text from "../utils/text"
|
|
17
17
|
import useCurrentUser from "../use-current-user"
|
|
18
18
|
import useModel from "../use-model"
|
|
19
|
-
import useQueryParams from "on-location-changed/
|
|
19
|
+
import useQueryParams from "on-location-changed/build/use-query-params"
|
|
20
20
|
|
|
21
21
|
export default memo(shapeComponent(class ApiMakerSuperAdminEditPage extends BaseComponent {
|
|
22
22
|
static propTypes = propTypesExact({
|
|
@@ -17,7 +17,7 @@ import ShowReflectionPage from "./show-reflection-page"
|
|
|
17
17
|
import Text from "../utils/text"
|
|
18
18
|
import useCanCan from "../use-can-can"
|
|
19
19
|
import useCurrentUser from "../use-current-user"
|
|
20
|
-
import useQueryParams from "on-location-changed/
|
|
20
|
+
import useQueryParams from "on-location-changed/build/use-query-params"
|
|
21
21
|
|
|
22
22
|
export default memo(shapeComponent(class ApiMakerSuperAdmin extends BaseComponent {
|
|
23
23
|
setup() {
|
|
@@ -87,16 +87,17 @@ export default memo(shapeComponent(class ApiMakerSuperAdminLayout extends BaseCo
|
|
|
87
87
|
className,
|
|
88
88
|
currentCustomer,
|
|
89
89
|
currentCustomerId,
|
|
90
|
+
headTitle,
|
|
90
91
|
headerTitle,
|
|
91
92
|
menu,
|
|
92
93
|
...restProps
|
|
93
94
|
} = this.props
|
|
94
|
-
const
|
|
95
|
+
const actualHeadTitle = headTitle || headerTitle
|
|
95
96
|
|
|
96
|
-
if (
|
|
97
|
-
document.title =
|
|
97
|
+
if (actualHeadTitle) {
|
|
98
|
+
document.title = actualHeadTitle
|
|
98
99
|
} else {
|
|
99
|
-
document.title = "
|
|
100
|
+
document.title = "Super Admin"
|
|
100
101
|
}
|
|
101
102
|
|
|
102
103
|
const noAccess = !currentUser
|
|
@@ -9,7 +9,7 @@ import {shapeComponent} from "set-state-compare/src/shape-component"
|
|
|
9
9
|
import ShowReflectionLink from "./show-reflection-link"
|
|
10
10
|
import Text from "../utils/text"
|
|
11
11
|
import useI18n from "i18n-on-steroids/src/use-i18n"
|
|
12
|
-
import useQueryParams from "on-location-changed/
|
|
12
|
+
import useQueryParams from "on-location-changed/build/use-query-params"
|
|
13
13
|
import {View} from "react-native"
|
|
14
14
|
|
|
15
15
|
export default memo(shapeComponent(class ApiMakerSuperAdminShowNav extends BaseComponent {
|
|
@@ -7,7 +7,7 @@ import ModelClassTable from "./model-class-table"
|
|
|
7
7
|
import React from "react"
|
|
8
8
|
import {shapeComponent} from "set-state-compare/src/shape-component"
|
|
9
9
|
import ShowNav from "./show-nav"
|
|
10
|
-
import useQueryParams from "on-location-changed/
|
|
10
|
+
import useQueryParams from "on-location-changed/build/use-query-params"
|
|
11
11
|
import {View} from "react-native"
|
|
12
12
|
|
|
13
13
|
export default memo(shapeComponent(class ApiMakerSuperAdminShowReflectionPage extends BaseComponent {
|
|
@@ -11,7 +11,7 @@ import memo from "set-state-compare/src/memo"
|
|
|
11
11
|
import {shapeComponent} from "set-state-compare/src/shape-component"
|
|
12
12
|
import React from "react"
|
|
13
13
|
import useI18n from "i18n-on-steroids/src/use-i18n"
|
|
14
|
-
import useQueryParams from "on-location-changed/
|
|
14
|
+
import useQueryParams from "on-location-changed/build/use-query-params"
|
|
15
15
|
import {View} from "react-native"
|
|
16
16
|
|
|
17
17
|
const {TableSearch} = models
|
package/src/table/table.jsx
CHANGED
|
@@ -36,7 +36,7 @@ import useCollection from "../use-collection"
|
|
|
36
36
|
import useI18n from "i18n-on-steroids/src/use-i18n"
|
|
37
37
|
import useEventEmitter from "../use-event-emitter"
|
|
38
38
|
import useModelEvent from "../use-model-event"
|
|
39
|
-
import useQueryParams from "on-location-changed/
|
|
39
|
+
import useQueryParams from "on-location-changed/build/use-query-params"
|
|
40
40
|
import Widths from "./widths"
|
|
41
41
|
|
|
42
42
|
const paginationOptions = [30, 60, 90, ["All", "all"]]
|
package/src/table/use-sorting.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {camelize} from "inflection"
|
|
2
|
-
import useQueryParams from "on-location-changed/
|
|
2
|
+
import useQueryParams from "on-location-changed/build/use-query-params"
|
|
3
3
|
|
|
4
4
|
const calculateQParams = (defaultParams, queryParams, searchKey) => {
|
|
5
5
|
if (searchKey in queryParams) {
|
package/src/use-collection.js
CHANGED
|
@@ -5,7 +5,7 @@ import ModelEvents from "./model-events"
|
|
|
5
5
|
import {useCallback, useLayoutEffect, useMemo} from "react"
|
|
6
6
|
import useCreatedEvent from "./use-created-event"
|
|
7
7
|
import useShape from "set-state-compare/src/use-shape"
|
|
8
|
-
import useQueryParams from "on-location-changed/
|
|
8
|
+
import useQueryParams from "on-location-changed/build/use-query-params"
|
|
9
9
|
|
|
10
10
|
const useCollection = (props, cacheKeys = []) => {
|
|
11
11
|
const {
|
package/src/use-current-user.js
CHANGED
|
@@ -2,6 +2,7 @@ import {useCallback, useMemo} from "react"
|
|
|
2
2
|
import {camelize} from "inflection"
|
|
3
3
|
import Devise from "./devise"
|
|
4
4
|
import {digg} from "diggerize"
|
|
5
|
+
import * as inflection from "inflection"
|
|
5
6
|
import Logger from "./logger"
|
|
6
7
|
import Services from "./services"
|
|
7
8
|
import useEventEmitter from "./use-event-emitter"
|
|
@@ -21,11 +22,13 @@ const useCurrentUser = (args) => {
|
|
|
21
22
|
|
|
22
23
|
const loadCurrentUserFromRequest = useCallback(async () => {
|
|
23
24
|
const {scope, scopeName} = s.m
|
|
25
|
+
const getArgsMethodName = `get${inflection.camelize(scope)}Args`
|
|
26
|
+
const args = Devise[getArgsMethodName]()
|
|
24
27
|
|
|
25
28
|
logger.debug(() => `Loading ${scope} with request`)
|
|
26
29
|
|
|
27
|
-
const result = await Services.current().sendRequest("Devise::Current", {scope})
|
|
28
|
-
const current = digg(result, "current")
|
|
30
|
+
const result = await Services.current().sendRequest("Devise::Current", {query: args.query, scope})
|
|
31
|
+
const current = digg(result, "current")[0]
|
|
29
32
|
|
|
30
33
|
if (!(scopeName in s.setStates)) throw new Error(`'${scopeName}' not found in setStates`)
|
|
31
34
|
if (current) Devise.updateSession(current)
|
package/src/use-model.js
CHANGED
|
@@ -2,7 +2,7 @@ import {useCallback, useLayoutEffect, useMemo} from "react"
|
|
|
2
2
|
import Devise from "./devise"
|
|
3
3
|
import * as inflection from "inflection"
|
|
4
4
|
import ModelEvents from "./model-events"
|
|
5
|
-
import useQueryParams from "on-location-changed/
|
|
5
|
+
import useQueryParams from "on-location-changed/build/use-query-params"
|
|
6
6
|
import useShape from "set-state-compare/src/use-shape"
|
|
7
7
|
|
|
8
8
|
const useModel = (modelClassArg, argsArg = {}) => {
|
package/build/historyExpo.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
class HistoryNative {
|
|
2
|
-
push(...args) {
|
|
3
|
-
throw new Error("Stub: Push from history.nativejs", {
|
|
4
|
-
args
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
const historyNative = new HistoryNative();
|
|
9
|
-
export default historyNative;
|
|
10
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJIaXN0b3J5TmF0aXZlIiwicHVzaCIsImFyZ3MiLCJFcnJvciIsImhpc3RvcnlOYXRpdmUiXSwic291cmNlcyI6WyIuLi9zcmMvaGlzdG9yeUV4cG8uanMiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgSGlzdG9yeU5hdGl2ZSB7XG4gIHB1c2goLi4uYXJncykge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlN0dWI6IFB1c2ggZnJvbSBoaXN0b3J5Lm5hdGl2ZWpzXCIsIHthcmdzfSlcbiAgfVxufVxuXG5jb25zdCBoaXN0b3J5TmF0aXZlID0gbmV3IEhpc3RvcnlOYXRpdmUoKVxuXG5leHBvcnQgZGVmYXVsdCBoaXN0b3J5TmF0aXZlXG4iXSwibWFwcGluZ3MiOiJBQUFBLE1BQU1BLGFBQWEsQ0FBQztFQUNsQkMsSUFBSUEsQ0FBQyxHQUFHQyxJQUFJLEVBQUU7SUFDWixNQUFNLElBQUlDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRTtNQUFDRDtJQUFJLENBQUMsQ0FBQztFQUM3RDtBQUNGO0FBRUEsTUFBTUUsYUFBYSxHQUFHLElBQUlKLGFBQWEsQ0FBQyxDQUFDO0FBRXpDLGVBQWVJLGFBQWEiLCJpZ25vcmVMaXN0IjpbXX0=
|