@kaspernj/api-maker 1.0.2085 → 1.0.2087

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.
@@ -1,24 +1,74 @@
1
+ /**
2
+ * @typedef {{type: "pathPart", name: string} | {type: "variable", count: number}} PathPart
3
+ */
4
+ /**
5
+ * @typedef {{args: Array<unknown>, localizedRoutes?: Record<string, PathPart[]>, pathParts?: PathPart[], url?: boolean}} TranslateRouteArgs
6
+ */
7
+ /**
8
+ * @typedef {{host?: string, port?: number|string, protocol?: string, translatedRoute: string}} HostRouteArgs
9
+ */
10
+ /**
11
+ * @typedef {{locale?: string, host?: string, port?: number|string, protocol?: string} & Record<string, unknown>} RouteOptions
12
+ */
13
+ /**
14
+ * Builds paths and URLs from route definitions for native usage.
15
+ */
1
16
  export default class ApiMakerRoutesNative {
17
+ /** @param {{getLocale: () => string}} options */
2
18
  constructor({ getLocale }: {
3
- getLocale: any;
19
+ getLocale: () => string;
4
20
  });
5
- getLocale: any;
21
+ getLocale: () => string;
6
22
  routeDefinitions: any[];
7
23
  routeTranslationParts: {};
8
- loadRouteDefinitions(routeDefinitions: any, routeDefinitionArgs: any): void;
9
- loadRouteTranslations(i18n: any): void;
24
+ /**
25
+ * @param {object} routeDefinitions
26
+ * @param {{localized?: boolean}=} routeDefinitionArgs
27
+ * @returns {void}
28
+ */
29
+ loadRouteDefinitions(routeDefinitions: object, routeDefinitionArgs?: {
30
+ localized?: boolean;
31
+ } | undefined): void;
32
+ /**
33
+ * @param {object} i18n
34
+ * @returns {void}
35
+ */
36
+ loadRouteTranslations(i18n: object): void;
10
37
  i18n: any;
11
- translateRoute({ args, localizedRoutes, pathParts, url }: {
12
- args: any;
13
- localizedRoutes: any;
14
- pathParts: any;
15
- url: any;
16
- }): any;
17
- addHostToRoute({ host, port, protocol, translatedRoute }: {
18
- host: any;
19
- port: any;
20
- protocol: any;
21
- translatedRoute: any;
22
- }): string;
38
+ /**
39
+ * @param {TranslateRouteArgs} options
40
+ * @returns {string}
41
+ */
42
+ translateRoute({ args, localizedRoutes, pathParts, url }: TranslateRouteArgs): string;
43
+ /**
44
+ * @param {HostRouteArgs} options
45
+ * @returns {string}
46
+ */
47
+ addHostToRoute({ host, port, protocol, translatedRoute }: HostRouteArgs): string;
23
48
  }
49
+ export type PathPart = {
50
+ type: "pathPart";
51
+ name: string;
52
+ } | {
53
+ type: "variable";
54
+ count: number;
55
+ };
56
+ export type TranslateRouteArgs = {
57
+ args: Array<unknown>;
58
+ localizedRoutes?: Record<string, PathPart[]>;
59
+ pathParts?: PathPart[];
60
+ url?: boolean;
61
+ };
62
+ export type HostRouteArgs = {
63
+ host?: string;
64
+ port?: number | string;
65
+ protocol?: string;
66
+ translatedRoute: string;
67
+ };
68
+ export type RouteOptions = {
69
+ locale?: string;
70
+ host?: string;
71
+ port?: number | string;
72
+ protocol?: string;
73
+ } & Record<string, unknown>;
24
74
  //# sourceMappingURL=routes-native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"routes-native.d.ts","sourceRoot":"/src/","sources":["routes-native.js"],"names":[],"mappings":"AAKA;IACE;;OAIC;IAHC,eAA0B;IAC1B,wBAA0B;IAC1B,0BAA+B;IAGjC,4EAsDC;IAED,uCAeC;IAdC,UAAgB;IAgBlB;;;;;YA6DC;IAED;;;;;eA4BC;CACF"}
1
+ {"version":3,"file":"routes-native.d.ts","sourceRoot":"/src/","sources":["routes-native.js"],"names":[],"mappings":"AAKA;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH;;GAEG;AAEH;;GAEG;AACH;IACE,iDAAiD;IACjD,2BADY;QAAC,SAAS,EAAE,MAAM,MAAM,CAAA;KAAC,EAKpC;IAHC,iBAF4B,MAAM,CAER;IAC1B,wBAA0B;IAC1B,0BAA+B;IAGjC;;;;OAIG;IACH,uCAJW,MAAM,wBACN;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAC,YAAC,GACpB,IAAI,CAwDhB;IAED;;;OAGG;IACH,4BAHW,MAAM,GACJ,IAAI,CAiBhB;IAdC,UAAgB;IAgBlB;;;OAGG;IACH,0DAHW,kBAAkB,GAChB,MAAM,CAgElB;IAED;;;OAGG;IACH,0DAHW,aAAa,GACX,MAAM,CA8BlB;CACF;uBA9MY;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC;iCAGpE;IAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAC;4BAG3G;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAC;2BAGjF;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC"}
@@ -2,12 +2,33 @@ import * as inflection from "inflection";
2
2
  import { dig, digg, digs } from "diggerize";
3
3
  import qs from "qs";
4
4
  import urlEncode from "./url-encode.js";
5
+ /**
6
+ * @typedef {{type: "pathPart", name: string} | {type: "variable", count: number}} PathPart
7
+ */
8
+ /**
9
+ * @typedef {{args: Array<unknown>, localizedRoutes?: Record<string, PathPart[]>, pathParts?: PathPart[], url?: boolean}} TranslateRouteArgs
10
+ */
11
+ /**
12
+ * @typedef {{host?: string, port?: number|string, protocol?: string, translatedRoute: string}} HostRouteArgs
13
+ */
14
+ /**
15
+ * @typedef {{locale?: string, host?: string, port?: number|string, protocol?: string} & Record<string, unknown>} RouteOptions
16
+ */
17
+ /**
18
+ * Builds paths and URLs from route definitions for native usage.
19
+ */
5
20
  export default class ApiMakerRoutesNative {
21
+ /** @param {{getLocale: () => string}} options */
6
22
  constructor({ getLocale }) {
7
23
  this.getLocale = getLocale;
8
24
  this.routeDefinitions = [];
9
25
  this.routeTranslationParts = {};
10
26
  }
27
+ /**
28
+ * @param {object} routeDefinitions
29
+ * @param {{localized?: boolean}=} routeDefinitionArgs
30
+ * @returns {void}
31
+ */
11
32
  loadRouteDefinitions(routeDefinitions, routeDefinitionArgs) {
12
33
  for (const routeDefinition of digg(routeDefinitions, "routes")) {
13
34
  const { name, path } = digs(routeDefinition, "name", "path");
@@ -15,10 +36,10 @@ export default class ApiMakerRoutesNative {
15
36
  const pathMethodName = `${inflection.camelize(name, true)}Path`;
16
37
  const urlMethodName = `${inflection.camelize(name, true)}Url`;
17
38
  if (routeDefinitionArgs && routeDefinitionArgs.localized) {
18
- const localizedRoutes = {};
39
+ const localizedRoutes = /** @type {Record<string, PathPart[]>} */ {};
19
40
  for (const locale in this.routeTranslationParts) {
20
41
  let variableCount = 0;
21
- const localizedPathParts = [
42
+ const localizedPathParts = /** @type {PathPart[]} */ [
22
43
  { type: "pathPart", name: "" },
23
44
  { type: "pathPart", name: locale }
24
45
  ];
@@ -41,10 +62,10 @@ export default class ApiMakerRoutesNative {
41
62
  }
42
63
  else {
43
64
  let variableCount = 0;
44
- const pathParts = rawPathParts.map((pathPart) => {
65
+ const pathParts = /** @type {PathPart[]} */ rawPathParts.map((pathPart) => {
45
66
  const variableMatch = pathPart.match(/^:([A-z_]+)$/);
46
67
  if (variableMatch) {
47
- return { type: "variable", count: variableCount };
68
+ return { type: "variable", count: variableCount++ };
48
69
  }
49
70
  else {
50
71
  return { type: "pathPart", name: pathPart };
@@ -55,6 +76,10 @@ export default class ApiMakerRoutesNative {
55
76
  }
56
77
  }
57
78
  }
79
+ /**
80
+ * @param {object} i18n
81
+ * @returns {void}
82
+ */
58
83
  loadRouteTranslations(i18n) {
59
84
  this.i18n = i18n;
60
85
  const locales = digg(i18n, "locales");
@@ -69,12 +94,16 @@ export default class ApiMakerRoutesNative {
69
94
  }
70
95
  }
71
96
  }
97
+ /**
98
+ * @param {TranslateRouteArgs} options
99
+ * @returns {string}
100
+ */
72
101
  translateRoute({ args, localizedRoutes, pathParts, url }) {
73
- let options;
102
+ let options = /** @type {RouteOptions} */ {};
74
103
  // Extract options from args if any
75
104
  const lastArg = args[args.length - 1];
76
105
  if (lastArg && typeof lastArg == "object") {
77
- options = args.pop();
106
+ options = /** @type {RouteOptions} */ args.pop();
78
107
  }
79
108
  else {
80
109
  options = {};
@@ -83,7 +112,8 @@ export default class ApiMakerRoutesNative {
83
112
  const { locale, host, port, protocol, ...restOptions } = options;
84
113
  if (localizedRoutes) {
85
114
  // Put together route with variables and static translated parts (which were translated and cached previously)
86
- let translatedRoute = digg(localizedRoutes, locale || this.getLocale())
115
+ const translatedPathParts = /** @type {PathPart[]} */ digg(localizedRoutes, locale || this.getLocale());
116
+ let translatedRoute = translatedPathParts
87
117
  .map((pathPart) => {
88
118
  if (pathPart.type == "pathPart") {
89
119
  return pathPart.name;
@@ -93,7 +123,7 @@ export default class ApiMakerRoutesNative {
93
123
  return dig(args, digg(pathPart, "count"));
94
124
  }
95
125
  else {
96
- throw new Error(`Unhandled path part type: ${pathPart.type}`);
126
+ throw new Error("Unhandled path part type");
97
127
  }
98
128
  })
99
129
  .join("/");
@@ -115,7 +145,7 @@ export default class ApiMakerRoutesNative {
115
145
  return digg(args, digg(pathPart, "count"));
116
146
  }
117
147
  else {
118
- throw new Error(`Unhandled path part type: ${pathPart.type}`);
148
+ throw new Error("Unhandled path part type");
119
149
  }
120
150
  })
121
151
  .join("/");
@@ -128,6 +158,10 @@ export default class ApiMakerRoutesNative {
128
158
  }
129
159
  throw new Error("Unhandled state");
130
160
  }
161
+ /**
162
+ * @param {HostRouteArgs} options
163
+ * @returns {string}
164
+ */
131
165
  addHostToRoute({ host, port, protocol, translatedRoute }) {
132
166
  let fullUrl = "";
133
167
  const hostToUse = host || (globalThis.location ? globalThis.location.host : undefined);
@@ -153,4 +187,4 @@ export default class ApiMakerRoutesNative {
153
187
  return fullUrl;
154
188
  }
155
189
  }
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLW5hdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsicm91dGVzLW5hdGl2ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDekMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ25CLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFBO0FBRXZDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQW9CO0lBQ3ZDLFlBQWEsRUFBQyxTQUFTLEVBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtRQUMxQixJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFBO0lBQ2pDLENBQUM7SUFFRCxvQkFBb0IsQ0FBRSxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDekQsS0FBSyxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzFELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDcEMsTUFBTSxjQUFjLEdBQUcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFBO1lBQy9ELE1BQU0sYUFBYSxHQUFHLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQTtZQUU3RCxJQUFJLG1CQUFtQixJQUFJLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxD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KiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7ZGlnLCBkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBxcyBmcm9tIFwicXNcIlxuaW1wb3J0IHVybEVuY29kZSBmcm9tIFwiLi91cmwtZW5jb2RlLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJSb3V0ZXNOYXRpdmUge1xuICBjb25zdHJ1Y3RvciAoe2dldExvY2FsZX0pIHtcbiAgICB0aGlzLmdldExvY2FsZSA9IGdldExvY2FsZVxuICAgIHRoaXMucm91dGVEZWZpbml0aW9ucyA9IFtdXG4gICAgdGhpcy5yb3V0ZVRyYW5zbGF0aW9uUGFydHMgPSB7fVxuICB9XG5cbiAgbG9hZFJvdXRlRGVmaW5pdGlvbnMgKHJvdXRlRGVmaW5pdGlvbnMsIHJvdXRlRGVmaW5pdGlvbkFyZ3MpIHtcbiAgICBmb3IgKGNvbnN0IHJvdXRlRGVmaW5pdGlvbiBvZiBkaWdnKHJvdXRlRGVmaW5pdGlvbnMsIFwicm91dGVzXCIpKSB7XG4gICAgICBjb25zdCB7bmFtZSwgcGF0aH0gPSBkaWdzKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIsIFwicGF0aFwiKVxuICAgICAgY29uc3QgcmF3UGF0aFBhcnRzID0gcGF0aC5zcGxpdChcIi9cIilcbiAgICAgIGNvbnN0IHBhdGhNZXRob2ROYW1lID0gYCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShuYW1lLCB0cnVlKX1QYXRoYFxuICAgICAgY29uc3QgdXJsTWV0aG9kTmFtZSA9IGAke2luZmxlY3Rpb24uY2FtZWxpemUobmFtZSwgdHJ1ZSl9VXJsYFxuXG4gICAgICBpZiAocm91dGVEZWZpbml0aW9uQXJncyAmJiByb3V0ZURlZmluaXRpb25BcmdzLmxvY2FsaXplZCkge1xuICAgICAgICBjb25zdCBsb2NhbGl6ZWRSb3V0ZXMgPSB7fVxuXG4gICAgICAgIGZvciAoY29uc3QgbG9jYWxlIGluIHRoaXMucm91dGVUcmFuc2xhdGlvblBhcnRzKSB7XG4gICAgICAgICAgbGV0IHZhcmlhYmxlQ291bnQgPSAwXG5cbiAgICAgICAgICBjb25zdCBsb2NhbGl6ZWRQYXRoUGFydHMgPSBbXG4gICAgICAgICAgICB7dHlwZTogXCJwYXRoUGFydFwiLCBuYW1lOiBcIlwifSxcbiAgICAgICAgICAgIHt0eXBlOiBcInBhdGhQYXJ0XCIsIG5hbWU6IGxvY2FsZX1cbiAgICAgICAgICBdXG5cbiAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHJhd1BhdGhQYXJ0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcGF0aFBhcnQgPSByYXdQYXRoUGFydHNbaV1cbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTWF0Y2ggPSBwYXRoUGFydC5tYXRjaCgvXjooW0Etel9dKykkLylcblxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1kZXB0aFxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlTWF0Y2gpIHtcbiAgICAgICAgICAgICAgbG9jYWxpemVkUGF0aFBhcnRzLnB1c2goe3R5cGU6IFwidmFyaWFibGVcIiwgY291bnQ6IHZhcmlhYmxlQ291bnQrK30pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBhdGhQYXJ0KSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLmkxOG4udChgcm91dGVzLiR7cGF0aFBhcnR9YCwgbnVsbCwge2RlZmF1bHQ6IHBhdGhQYXJ0LCBsb2NhbGV9KVxuXG4gICAgICAgICAgICAgIGxvY2FsaXplZFBhdGhQYXJ0cy5wdXNoKHt0eXBlOiBcInBhdGhQYXJ0XCIsIG5hbWV9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGxvY2FsaXplZFJvdXRlc1tsb2NhbGVdID0gbG9jYWxpemVkUGF0aFBhcnRzXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzW3BhdGhNZXRob2ROYW1lXSA9ICguLi5hcmdzKSA9PiB0aGlzLnRyYW5zbGF0ZVJvdXRlKHthcmdzLCBsb2NhbGl6ZWRSb3V0ZXN9KVxuICAgICAgICB0aGlzW3VybE1ldGhvZE5hbWVdID0gKC4uLmFyZ3MpID0+IHRoaXMudHJhbnNsYXRlUm91dGUoe2FyZ3MsIGxvY2FsaXplZFJvdXRlcywgdXJsOiB0cnVlfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCB2YXJpYWJsZUNvdW50ID0gMFxuXG4gICAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IHJhd1BhdGhQYXJ0cy5tYXAoKHBhdGhQYXJ0KSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGVNYXRjaCA9IHBhdGhQYXJ0Lm1hdGNoKC9eOihbQS16X10rKSQvKVxuXG4gICAgICAgICAgaWYgKHZhcmlhYmxlTWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiB7dHlwZTogXCJ2YXJpYWJsZVwiLCBjb3VudDogdmFyaWFibGVDb3VudH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHt0eXBlOiBcInBhdGhQYXJ0XCIsIG5hbWU6IHBhdGhQYXJ0fVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzW3BhdGhNZXRob2ROYW1lXSA9ICguLi5hcmdzKSA9PiB0aGlzLnRyYW5zbGF0ZVJvdXRlKHthcmdzLCBwYXRoUGFydHN9KVxuICAgICAgICB0aGlzW3VybE1ldGhvZE5hbWVdID0gKC4uLmFyZ3MpID0+IHRoaXMudHJhbnNsYXRlUm91dGUoe2FyZ3MsIHBhdGhQYXJ0cywgdXJsOiB0cnVlfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsb2FkUm91dGVUcmFuc2xhdGlvbnMgKGkxOG4pIHtcbiAgICB0aGlzLmkxOG4gPSBpMThuXG4gICAgY29uc3QgbG9jYWxlcyA9IGRpZ2coaTE4biwgXCJsb2NhbGVzXCIpXG5cbiAgICBmb3IgKGNvbnN0IGxvY2FsZSBpbiBsb2NhbGVzKSB7XG4gICAgICBjb25zdCByb3V0ZVRyYW5zbGF0aW9ucyA9IGRpZyhsb2NhbGVzLCBsb2NhbGUsIFwicm91dGVzXCIpXG5cbiAgICAgIGlmIChyb3V0ZVRyYW5zbGF0aW9ucykge1xuICAgICAgICBpZiAoIShsb2NhbGUgaW4gdGhpcy5yb3V0ZVRyYW5zbGF0aW9uUGFydHMpKSB0aGlzLnJvdXRlVHJhbnNsYXRpb25QYXJ0c1tsb2NhbGVdID0ge31cblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiByb3V0ZVRyYW5zbGF0aW9ucykge1xuICAgICAgICAgIHRoaXMucm91dGVUcmFuc2xhdGlvblBhcnRzW2xvY2FsZV1ba2V5XSA9IHJvdXRlVHJhbnNsYXRpb25zW2tleV1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyYW5zbGF0ZVJvdXRlICh7YXJncywgbG9jYWxpemVkUm91dGVzLCBwYXRoUGFydHMsIHVybH0pIHtcbiAgICBsZXQgb3B0aW9uc1xuXG4gICAgLy8gRXh0cmFjdCBvcHRpb25zIGZyb20gYXJncyBpZiBhbnlcbiAgICBjb25zdCBsYXN0QXJnID0gYXJnc1thcmdzLmxlbmd0aCAtIDFdXG5cbiAgICBpZiAobGFzdEFyZyAmJiB0eXBlb2YgbGFzdEFyZyA9PSBcIm9iamVjdFwiKSB7XG4gICAgICBvcHRpb25zID0gYXJncy5wb3AoKVxuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zID0ge31cbiAgICB9XG5cbiAgICAvLyBUYWtlIGxvY2FsZSBmcm9tIG9wdGlvbnMgaWYgZ2l2ZW4gb3IgZmFsbCBiYWNrIHRvIGZhbGxiYWNrXG4gICAgY29uc3Qge2xvY2FsZSwgaG9zdCwgcG9ydCwgcHJvdG9jb2wsIC4uLnJlc3RPcHRpb25zfSA9IG9wdGlvbnNcblxuICAgIGlmIChsb2NhbGl6ZWRSb3V0ZXMpIHtcbiAgICAgIC8vIFB1dCB0b2dldGhlciByb3V0ZSB3aXRoIHZhcmlhYmxlcyBhbmQgc3RhdGljIHRyYW5zbGF0ZWQgcGFydHMgKHdoaWNoIHdlcmUgdHJhbnNsYXRlZCBhbmQgY2FjaGVkIHByZXZpb3VzbHkpXG4gICAgICBsZXQgdHJhbnNsYXRlZFJvdXRlID0gZGlnZyhsb2NhbGl6ZWRSb3V0ZXMsIGxvY2FsZSB8fCB0aGlzLmdldExvY2FsZSgpKVxuICAgICAgICAubWFwKChwYXRoUGFydCkgPT4ge1xuICAgICAgICAgIGlmIChwYXRoUGFydC50eXBlID09IFwicGF0aFBhcnRcIikge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhQYXJ0Lm5hbWVcbiAgICAgICAgICB9IGVsc2UgaWYgKHBhdGhQYXJ0LnR5cGUgPT0gXCJ2YXJpYWJsZVwiKSB7XG4gICAgICAgICAgICAvLyBBcmdzIG1pZ2h0IG5vdCBjb250YWluIHRoZSByaWdodCBhbW91bnQgb2YgdmFyaWFibGVzLCBzbyBkb250IGNoYW5nZSB0aGlzIHRvICdkaWdnJ1xuICAgICAgICAgICAgcmV0dXJuIGRpZyhhcmdzLCBkaWdnKHBhdGhQYXJ0LCBcImNvdW50XCIpKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuaGFuZGxlZCBwYXRoIHBhcnQgdHlwZTogJHtwYXRoUGFydC50eXBlfWApXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuam9pbihcIi9cIilcblxuICAgICAgaWYgKHJlc3RPcHRpb25zICYmIE9iamVjdC5rZXlzKHJlc3RPcHRpb25zKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRyYW5zbGF0ZWRSb3V0ZSArPSBgPyR7cXMuc3RyaW5naWZ5KHJlc3RPcHRpb25zLCB7ZW5jb2RlcjogdXJsRW5jb2RlfSl9YFxuICAgICAgfVxuXG4gICAgICBpZiAodXJsKSByZXR1cm4gdGhpcy5hZGRIb3N0VG9Sb3V0ZSh7aG9zdCwgcG9ydCwgcHJvdG9jb2wsIHRyYW5zbGF0ZWRSb3V0ZX0pXG5cbiAgICAgIHJldHVybiB0cmFuc2xhdGVkUm91dGVcbiAgICB9IGVsc2UgaWYgKHBhdGhQYXJ0cykge1xuICAgICAgLy8gUHV0IHRvZ2V0aGVyIHJvdXRlIHdpdGggdmFyaWFibGVzIGFuZCBzdGF0aWMgdHJhbnNsYXRlZCBwYXJ0cyAod2hpY2ggd2VyZSB0cmFuc2xhdGVkIGFuZCBjYWNoZWQgcHJldmlvdXNseSlcbiAgICAgIGxldCB0cmFuc2xhdGVkUm91dGUgPSBwYXRoUGFydHNcbiAgICAgICAgLm1hcCgocGF0aFBhcnQpID0+IHtcbiAgICAgICAgICBpZiAocGF0aFBhcnQudHlwZSA9PSBcInBhdGhQYXJ0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRoUGFydC5uYW1lXG4gICAgICAgICAgfSBlbHNlIGlmIChwYXRoUGFydC50eXBlID09IFwidmFyaWFibGVcIikge1xuICAgICAgICAgICAgcmV0dXJuIGRpZ2coYXJncywgZGlnZyhwYXRoUGFydCwgXCJjb3VudFwiKSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQgcGF0aCBwYXJ0IHR5cGU6ICR7cGF0aFBhcnQudHlwZX1gKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oXCIvXCIpXG5cbiAgICAgIGlmIChyZXN0T3B0aW9ucyAmJiBPYmplY3Qua2V5cyhyZXN0T3B0aW9ucykubGVuZ3RoID4gMCkge1xuICAgICAgICB0cmFuc2xhdGVkUm91dGUgKz0gYD8ke3FzLnN0cmluZ2lmeShyZXN0T3B0aW9ucywge2VuY29kZXI6IHVybEVuY29kZX0pfWBcbiAgICAgIH1cblxuICAgICAgaWYgKHVybCkgcmV0dXJuIHRoaXMuYWRkSG9zdFRvUm91dGUoe2hvc3QsIHBvcnQsIHByb3RvY29sLCB0cmFuc2xhdGVkUm91dGV9KVxuXG4gICAgICByZXR1cm4gdHJhbnNsYXRlZFJvdXRlXG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVW5oYW5kbGVkIHN0YXRlXCIpXG4gIH1cblxuICBhZGRIb3N0VG9Sb3V0ZSAoe2hvc3QsIHBvcnQsIHByb3RvY29sLCB0cmFuc2xhdGVkUm91dGV9KSB7XG4gICAgbGV0IGZ1bGxVcmwgPSBcIlwiXG5cbiAgICBjb25zdCBob3N0VG9Vc2UgPSBob3N0IHx8IChnbG9iYWxUaGlzLmxvY2F0aW9uID8gZ2xvYmFsVGhpcy5sb2NhdGlvbi5ob3N0IDogdW5kZWZpbmVkKVxuICAgIGNvbnN0IHBvcnRUb1VzZSA9IHBvcnQgfHwgKGdsb2JhbFRoaXMubG9jYXRpb24gPyBnbG9iYWxUaGlzLmxvY2F0aW9uLnBvcnQgOiB1bmRlZmluZWQpXG5cbiAgICBpZiAoIWhvc3RUb1VzZSkgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGRldGVjdCBob3N0XCIpXG5cbiAgICBpZiAocHJvdG9jb2wpIHtcbiAgICAgIGZ1bGxVcmwgKz0gYCR7cHJvdG9jb2x9Oi8vYFxuICAgIH0gZWxzZSBpZiAoZ2xvYmFsVGhpcy5sb2NhdGlvbiAmJiBnbG9iYWxUaGlzLmxvY2F0aW9uLnByb3RvY29sKSB7XG4gICAgICBmdWxsVXJsICs9IGAke2dsb2JhbFRoaXMubG9jYXRpb24ucHJvdG9jb2x9Ly9gXG4gICAgfSBlbHNlIHtcbiAgICAgIGZ1bGxVcmwgKz0gXCJodHRwczovL1wiXG4gICAgfVxuXG4gICAgZnVsbFVybCArPSBob3N0VG9Vc2VcblxuICAgIGNvbnN0IGlzSHR0cE5vbkRlZmF1bHRQb3J0ID0gcHJvdG9jb2wgPT0gXCJodHRwXCIgJiYgcG9ydFRvVXNlICE9IDgwXG4gICAgY29uc3QgaXNIdHRwc05vbkRlZmF1bHRQb3J0ID0gcHJvdG9jb2wgPT0gXCJodHRwc1wiICYmIHBvcnQgIT0gNDQzXG5cbiAgICBpZiAocG9ydFRvVXNlICYmIChpc0h0dHBOb25EZWZhdWx0UG9ydCB8fCBpc0h0dHBzTm9uRGVmYXVsdFBvcnQpKSB7XG4gICAgICBmdWxsVXJsICs9IGA6JHtwb3J0VG9Vc2V9YFxuICAgIH1cblxuICAgIGZ1bGxVcmwgKz0gdHJhbnNsYXRlZFJvdXRlXG5cbiAgICByZXR1cm4gZnVsbFVybFxuICB9XG59XG4iXX0=
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLW5hdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsicm91dGVzLW5hdGl2ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDekMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ25CLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFBO0FBRXZDOztHQUVHO0FBQ0g7O0dBRUc7QUFDSDs7R0FFRztBQUNIOztHQUVHO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLG9CQUFvQjtJQUN2QyxpREFBaUQ7SUFDakQsWUFBYSxFQUFDLFNBQVMsRUFBQztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtRQUMxQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUE7SUFDakMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBRSxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDekQsS0FBSyxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzFELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDcEMsTUFBTSxjQUFjLEdBQUcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFBO1lBQy9ELE1BQU0sYUFBYSxHQUFHLEdBQUcsVUFBVSxDQUFDLFFBQVEs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QUFBO1FBRWhFLElBQUksU0FBUyxJQUFJLENBQUMsb0JBQW9CLElBQUkscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFBO1FBQzVCLENBQUM7UUFFRCxPQUFPLElBQUksZUFBZSxDQUFBO1FBRTFCLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHtkaWcsIGRpZ2csIGRpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IHFzIGZyb20gXCJxc1wiXG5pbXBvcnQgdXJsRW5jb2RlIGZyb20gXCIuL3VybC1lbmNvZGUuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHt7dHlwZTogXCJwYXRoUGFydFwiLCBuYW1lOiBzdHJpbmd9IHwge3R5cGU6IFwidmFyaWFibGVcIiwgY291bnQ6IG51bWJlcn19IFBhdGhQYXJ0XG4gKi9cbi8qKlxuICogQHR5cGVkZWYge3thcmdzOiBBcnJheTx1bmtub3duPiwgbG9jYWxpemVkUm91dGVzPzogUmVjb3JkPHN0cmluZywgUGF0aFBhcnRbXT4sIHBhdGhQYXJ0cz86IFBhdGhQYXJ0W10sIHVybD86IGJvb2xlYW59fSBUcmFuc2xhdGVSb3V0ZUFyZ3NcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7e2hvc3Q/OiBzdHJpbmcsIHBvcnQ/OiBudW1iZXJ8c3RyaW5nLCBwcm90b2NvbD86IHN0cmluZywgdHJhbnNsYXRlZFJvdXRlOiBzdHJpbmd9fSBIb3N0Um91dGVBcmdzXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge3tsb2NhbGU/OiBzdHJpbmcsIGhvc3Q/OiBzdHJpbmcsIHBvcnQ/OiBudW1iZXJ8c3RyaW5nLCBwcm90b2NvbD86IHN0cmluZ30gJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gUm91dGVPcHRpb25zXG4gKi9cblxuLyoqXG4gKiBCdWlsZHMgcGF0aHMgYW5kIFVSTHMgZnJvbSByb3V0ZSBkZWZpbml0aW9ucyBmb3IgbmF0aXZlIHVzYWdlLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlclJvdXRlc05hdGl2ZSB7XG4gIC8qKiBAcGFyYW0ge3tnZXRMb2NhbGU6ICgpID0+IHN0cmluZ319IG9wdGlvbnMgKi9cbiAgY29uc3RydWN0b3IgKHtnZXRMb2NhbGV9KSB7XG4gICAgdGhpcy5nZXRMb2NhbGUgPSBnZXRMb2NhbGVcbiAgICB0aGlzLnJvdXRlRGVmaW5pdGlvbnMgPSBbXVxuICAgIHRoaXMucm91dGVUcmFuc2xhdGlvblBhcnRzID0ge31cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gcm91dGVEZWZpbml0aW9uc1xuICAgKiBAcGFyYW0ge3tsb2NhbGl6ZWQ/OiBib29sZWFufT19IHJvdXRlRGVmaW5pdGlvbkFyZ3NcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBsb2FkUm91dGVEZWZpbml0aW9ucyAocm91dGVEZWZpbml0aW9ucywgcm91dGVEZWZpbml0aW9uQXJncykge1xuICAgIGZvciAoY29uc3Qgcm91dGVEZWZpbml0aW9uIG9mIGRpZ2cocm91dGVEZWZpbml0aW9ucywgXCJyb3V0ZXNcIikpIHtcbiAgICAgIGNvbnN0IHtuYW1lLCBwYXRofSA9IGRpZ3Mocm91dGVEZWZpbml0aW9uLCBcIm5hbWVcIiwgXCJwYXRoXCIpXG4gICAgICBjb25zdCByYXdQYXRoUGFydHMgPSBwYXRoLnNwbGl0KFwiL1wiKVxuICAgICAgY29uc3QgcGF0aE1ldGhvZE5hbWUgPSBgJHtpbmZsZWN0aW9uLmNhbWVsaXplKG5hbWUsIHRydWUpfVBhdGhgXG4gICAgICBjb25zdCB1cmxNZXRob2ROYW1lID0gYCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShuYW1lLCB0cnVlKX1VcmxgXG5cbiAgICAgIGlmIChyb3V0ZURlZmluaXRpb25BcmdzICYmIHJvdXRlRGVmaW5pdGlvbkFyZ3MubG9jYWxpemVkKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsaXplZFJvdXRlcyA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgUGF0aFBhcnRbXT59ICovIHt9XG5cbiAgICAgICAgZm9yIChjb25zdCBsb2NhbGUgaW4gdGhpcy5yb3V0ZVRyYW5zbGF0aW9uUGFydHMpIHtcbiAgICAgICAgICBsZXQgdmFyaWFibGVDb3VudCA9IDBcblxuICAgICAgICAgIGNvbnN0IGxvY2FsaXplZFBhdGhQYXJ0cyA9IC8qKiBAdHlwZSB7UGF0aFBhcnRbXX0gKi8gW1xuICAgICAgICAgICAge3R5cGU6IFwicGF0aFBhcnRcIiwgbmFtZTogXCJcIn0sXG4gICAgICAgICAgICB7dHlwZTogXCJwYXRoUGFydFwiLCBuYW1lOiBsb2NhbGV9XG4gICAgICAgICAgXVxuXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCByYXdQYXRoUGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGhQYXJ0ID0gcmF3UGF0aFBhcnRzW2ldXG4gICAgICAgICAgICBjb25zdCB2YXJpYWJsZU1hdGNoID0gcGF0aFBhcnQubWF0Y2goL146KFtBLXpfXSspJC8pXG5cbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtZGVwdGhcbiAgICAgICAgICAgIGlmICh2YXJpYWJsZU1hdGNoKSB7XG4gICAgICAgICAgICAgIGxvY2FsaXplZFBhdGhQYXJ0cy5wdXNoKHt0eXBlOiBcInZhcmlhYmxlXCIsIGNvdW50OiB2YXJpYWJsZUNvdW50Kyt9KVxuICAgICAgICAgICAgfSBlbHNlIGlmIChwYXRoUGFydCkge1xuICAgICAgICAgICAgICBjb25zdCBuYW1lID0gdGhpcy5pMThuLnQoYHJvdXRlcy4ke3BhdGhQYXJ0fWAsIG51bGwsIHtkZWZhdWx0OiBwYXRoUGFydCwgbG9jYWxlfSlcblxuICAgICAgICAgICAgICBsb2NhbGl6ZWRQYXRoUGFydHMucHVzaCh7dHlwZTogXCJwYXRoUGFydFwiLCBuYW1lfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsb2NhbGl6ZWRSb3V0ZXNbbG9jYWxlXSA9IGxvY2FsaXplZFBhdGhQYXJ0c1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpc1twYXRoTWV0aG9kTmFtZV0gPSAoLi4uYXJncykgPT4gdGhpcy50cmFuc2xhdGVSb3V0ZSh7YXJncywgbG9jYWxpemVkUm91dGVzfSlcbiAgICAgICAgdGhpc1t1cmxNZXRob2ROYW1lXSA9ICguLi5hcmdzKSA9PiB0aGlzLnRyYW5zbGF0ZVJvdXRlKHthcmdzLCBsb2NhbGl6ZWRSb3V0ZXMsIHVybDogdHJ1ZX0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgdmFyaWFibGVDb3VudCA9IDBcblxuICAgICAgICBjb25zdCBwYXRoUGFydHMgPSAvKiogQHR5cGUge1BhdGhQYXJ0W119ICovIHJhd1BhdGhQYXJ0cy5tYXAoKHBhdGhQYXJ0KSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGVNYXRjaCA9IHBhdGhQYXJ0Lm1hdGNoKC9eOihbQS16X10rKSQvKVxuXG4gICAgICAgICAgaWYgKHZhcmlhYmxlTWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiB7dHlwZTogXCJ2YXJpYWJsZVwiLCBjb3VudDogdmFyaWFibGVDb3VudCsrfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge3R5cGU6IFwicGF0aFBhcnRcIiwgbmFtZTogcGF0aFBhcnR9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIHRoaXNbcGF0aE1ldGhvZE5hbWVdID0gKC4uLmFyZ3MpID0+IHRoaXMudHJhbnNsYXRlUm91dGUoe2FyZ3MsIHBhdGhQYXJ0c30pXG4gICAgICAgIHRoaXNbdXJsTWV0aG9kTmFtZV0gPSAoLi4uYXJncykgPT4gdGhpcy50cmFuc2xhdGVSb3V0ZSh7YXJncywgcGF0aFBhcnRzLCB1cmw6IHRydWV9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gaTE4blxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIGxvYWRSb3V0ZVRyYW5zbGF0aW9ucyAoaTE4bikge1xuICAgIHRoaXMuaTE4biA9IGkxOG5cbiAgICBjb25zdCBsb2NhbGVzID0gZGlnZyhpMThuLCBcImxvY2FsZXNcIilcblxuICAgIGZvciAoY29uc3QgbG9jYWxlIGluIGxvY2FsZXMpIHtcbiAgICAgIGNvbnN0IHJvdXRlVHJhbnNsYXRpb25zID0gZGlnKGxvY2FsZXMsIGxvY2FsZSwgXCJyb3V0ZXNcIilcblxuICAgICAgaWYgKHJvdXRlVHJhbnNsYXRpb25zKSB7XG4gICAgICAgIGlmICghKGxvY2FsZSBpbiB0aGlzLnJvdXRlVHJhbnNsYXRpb25QYXJ0cykpIHRoaXMucm91dGVUcmFuc2xhdGlvblBhcnRzW2xvY2FsZV0gPSB7fVxuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHJvdXRlVHJhbnNsYXRpb25zKSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZVRyYW5zbGF0aW9uUGFydHNbbG9jYWxlXVtrZXldID0gcm91dGVUcmFuc2xhdGlvbnNba2V5XVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7VHJhbnNsYXRlUm91dGVBcmdzfSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICB0cmFuc2xhdGVSb3V0ZSAoe2FyZ3MsIGxvY2FsaXplZFJvdXRlcywgcGF0aFBhcnRzLCB1cmx9KSB7XG4gICAgbGV0IG9wdGlvbnMgPSAvKiogQHR5cGUge1JvdXRlT3B0aW9uc30gKi8ge31cblxuICAgIC8vIEV4dHJhY3Qgb3B0aW9ucyBmcm9tIGFyZ3MgaWYgYW55XG4gICAgY29uc3QgbGFzdEFyZyA9IGFyZ3NbYXJncy5sZW5ndGggLSAxXVxuXG4gICAgaWYgKGxhc3RBcmcgJiYgdHlwZW9mIGxhc3RBcmcgPT0gXCJvYmplY3RcIikge1xuICAgICAgb3B0aW9ucyA9IC8qKiBAdHlwZSB7Um91dGVPcHRpb25zfSAqLyBhcmdzLnBvcCgpXG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgIH1cblxuICAgIC8vIFRha2UgbG9jYWxlIGZyb20gb3B0aW9ucyBpZiBnaXZlbiBvciBmYWxsIGJhY2sgdG8gZmFsbGJhY2tcbiAgICBjb25zdCB7bG9jYWxlLCBob3N0LCBwb3J0LCBwcm90b2NvbCwgLi4ucmVzdE9wdGlvbnN9ID0gb3B0aW9uc1xuXG4gICAgaWYgKGxvY2FsaXplZFJvdXRlcykge1xuICAgICAgLy8gUHV0IHRvZ2V0aGVyIHJvdXRlIHdpdGggdmFyaWFibGVzIGFuZCBzdGF0aWMgdHJhbnNsYXRlZCBwYXJ0cyAod2hpY2ggd2VyZSB0cmFuc2xhdGVkIGFuZCBjYWNoZWQgcHJldmlvdXNseSlcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZWRQYXRoUGFydHMgPSAvKiogQHR5cGUge1BhdGhQYXJ0W119ICovIGRpZ2cobG9jYWxpemVkUm91dGVzLCBsb2NhbGUgfHwgdGhpcy5nZXRMb2NhbGUoKSlcbiAgICAgIGxldCB0cmFuc2xhdGVkUm91dGUgPSB0cmFuc2xhdGVkUGF0aFBhcnRzXG4gICAgICAgIC5tYXAoKHBhdGhQYXJ0KSA9PiB7XG4gICAgICAgICAgaWYgKHBhdGhQYXJ0LnR5cGUgPT0gXCJwYXRoUGFydFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aFBhcnQubmFtZVxuICAgICAgICAgIH0gZWxzZSBpZiAocGF0aFBhcnQudHlwZSA9PSBcInZhcmlhYmxlXCIpIHtcbiAgICAgICAgICAgIC8vIEFyZ3MgbWlnaHQgbm90IGNvbnRhaW4gdGhlIHJpZ2h0IGFtb3VudCBvZiB2YXJpYWJsZXMsIHNvIGRvbnQgY2hhbmdlIHRoaXMgdG8gJ2RpZ2cnXG4gICAgICAgICAgICByZXR1cm4gZGlnKGFyZ3MsIGRpZ2cocGF0aFBhcnQsIFwiY291bnRcIikpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuaGFuZGxlZCBwYXRoIHBhcnQgdHlwZVwiKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oXCIvXCIpXG5cbiAgICAgIGlmIChyZXN0T3B0aW9ucyAmJiBPYmplY3Qua2V5cyhyZXN0T3B0aW9ucykubGVuZ3RoID4gMCkge1xuICAgICAgICB0cmFuc2xhdGVkUm91dGUgKz0gYD8ke3FzLnN0cmluZ2lmeShyZXN0T3B0aW9ucywge2VuY29kZXI6IHVybEVuY29kZX0pfWBcbiAgICAgIH1cblxuICAgICAgaWYgKHVybCkgcmV0dXJuIHRoaXMuYWRkSG9zdFRvUm91dGUoe2hvc3QsIHBvcnQsIHByb3RvY29sLCB0cmFuc2xhdGVkUm91dGV9KVxuXG4gICAgICByZXR1cm4gdHJhbnNsYXRlZFJvdXRlXG4gICAgfSBlbHNlIGlmIChwYXRoUGFydHMpIHtcbiAgICAgIC8vIFB1dCB0b2dldGhlciByb3V0ZSB3aXRoIHZhcmlhYmxlcyBhbmQgc3RhdGljIHRyYW5zbGF0ZWQgcGFydHMgKHdoaWNoIHdlcmUgdHJhbnNsYXRlZCBhbmQgY2FjaGVkIHByZXZpb3VzbHkpXG4gICAgICBsZXQgdHJhbnNsYXRlZFJvdXRlID0gcGF0aFBhcnRzXG4gICAgICAgIC5tYXAoKHBhdGhQYXJ0KSA9PiB7XG4gICAgICAgICAgaWYgKHBhdGhQYXJ0LnR5cGUgPT0gXCJwYXRoUGFydFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aFBhcnQubmFtZVxuICAgICAgICAgIH0gZWxzZSBpZiAocGF0aFBhcnQudHlwZSA9PSBcInZhcmlhYmxlXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBkaWdnKGFyZ3MsIGRpZ2cocGF0aFBhcnQsIFwiY291bnRcIikpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuaGFuZGxlZCBwYXRoIHBhcnQgdHlwZVwiKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oXCIvXCIpXG5cbiAgICAgIGlmIChyZXN0T3B0aW9ucyAmJiBPYmplY3Qua2V5cyhyZXN0T3B0aW9ucykubGVuZ3RoID4gMCkge1xuICAgICAgICB0cmFuc2xhdGVkUm91dGUgKz0gYD8ke3FzLnN0cmluZ2lmeShyZXN0T3B0aW9ucywge2VuY29kZXI6IHVybEVuY29kZX0pfWBcbiAgICAgIH1cblxuICAgICAgaWYgKHVybCkgcmV0dXJuIHRoaXMuYWRkSG9zdFRvUm91dGUoe2hvc3QsIHBvcnQsIHByb3RvY29sLCB0cmFuc2xhdGVkUm91dGV9KVxuXG4gICAgICByZXR1cm4gdHJhbnNsYXRlZFJvdXRlXG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVW5oYW5kbGVkIHN0YXRlXCIpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtIb3N0Um91dGVBcmdzfSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBhZGRIb3N0VG9Sb3V0ZSAoe2hvc3QsIHBvcnQsIHByb3RvY29sLCB0cmFuc2xhdGVkUm91dGV9KSB7XG4gICAgbGV0IGZ1bGxVcmwgPSBcIlwiXG5cbiAgICBjb25zdCBob3N0VG9Vc2UgPSBob3N0IHx8IChnbG9iYWxUaGlzLmxvY2F0aW9uID8gZ2xvYmFsVGhpcy5sb2NhdGlvbi5ob3N0IDogdW5kZWZpbmVkKVxuICAgIGNvbnN0IHBvcnRUb1VzZSA9IHBvcnQgfHwgKGdsb2JhbFRoaXMubG9jYXRpb24gPyBnbG9iYWxUaGlzLmxvY2F0aW9uLnBvcnQgOiB1bmRlZmluZWQpXG5cbiAgICBpZiAoIWhvc3RUb1VzZSkgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGRldGVjdCBob3N0XCIpXG5cbiAgICBpZiAocHJvdG9jb2wpIHtcbiAgICAgIGZ1bGxVcmwgKz0gYCR7cHJvdG9jb2x9Oi8vYFxuICAgIH0gZWxzZSBpZiAoZ2xvYmFsVGhpcy5sb2NhdGlvbiAmJiBnbG9iYWxUaGlzLmxvY2F0aW9uLnByb3RvY29sKSB7XG4gICAgICBmdWxsVXJsICs9IGAke2dsb2JhbFRoaXMubG9jYXRpb24ucHJvdG9jb2x9Ly9gXG4gICAgfSBlbHNlIHtcbiAgICAgIGZ1bGxVcmwgKz0gXCJodHRwczovL1wiXG4gICAgfVxuXG4gICAgZnVsbFVybCArPSBob3N0VG9Vc2VcblxuICAgIGNvbnN0IGlzSHR0cE5vbkRlZmF1bHRQb3J0ID0gcHJvdG9jb2wgPT0gXCJodHRwXCIgJiYgcG9ydFRvVXNlICE9IDgwXG4gICAgY29uc3QgaXNIdHRwc05vbkRlZmF1bHRQb3J0ID0gcHJvdG9jb2wgPT0gXCJodHRwc1wiICYmIHBvcnQgIT0gNDQzXG5cbiAgICBpZiAocG9ydFRvVXNlICYmIChpc0h0dHBOb25EZWZhdWx0UG9ydCB8fCBpc0h0dHBzTm9uRGVmYXVsdFBvcnQpKSB7XG4gICAgICBmdWxsVXJsICs9IGA6JHtwb3J0VG9Vc2V9YFxuICAgIH1cblxuICAgIGZ1bGxVcmwgKz0gdHJhbnNsYXRlZFJvdXRlXG5cbiAgICByZXR1cm4gZnVsbFVybFxuICB9XG59XG4iXX0=
@@ -41,7 +41,7 @@ export default memo(shapeComponent(class ApiMakerUtilsIcon extends BaseComponent
41
41
  };
42
42
  render() {
43
43
  const { dataSet, name, style, version, ...restProps } = this.props;
44
- const { stylesList } = useMergedStyle(style, "Text");
44
+ const { stylesList: inheritedStylesList } = useMergedStyle(null, "Text");
45
45
  let actualVersion = version;
46
46
  if (!actualVersion) {
47
47
  if (name in iconMap) {
@@ -63,32 +63,27 @@ export default memo(shapeComponent(class ApiMakerUtilsIcon extends BaseComponent
63
63
  actualVersion = "FontAwesome";
64
64
  }
65
65
  }
66
- // Only forward some styles like color
66
+ // Only forward some styles like color from inherited Text styles.
67
67
  const actualStylesList = useMemo(() => {
68
68
  const actualStylesList = [];
69
- const unsupportedStyleKeys = new Set();
70
- for (const style of stylesList) {
71
- const newStyle = {};
72
- let count = 0;
73
- const flattenedStyle = StyleSheet.flatten(style) || {};
74
- for (const key in flattenedStyle) {
75
- if (key == "color") {
76
- newStyle[key] = flattenedStyle[key];
77
- count++;
78
- }
79
- else {
80
- unsupportedStyleKeys.add(key);
81
- }
69
+ for (const inheritedStyle of inheritedStylesList) {
70
+ const flattenedStyle = StyleSheet.flatten(inheritedStyle) || {};
71
+ if ("color" in flattenedStyle) {
72
+ actualStylesList.push({ color: flattenedStyle.color });
82
73
  }
83
- if (count > 0) {
84
- actualStylesList.push(newStyle);
74
+ }
75
+ if (Array.isArray(style)) {
76
+ for (const propStyle of style) {
77
+ if (propStyle) {
78
+ actualStylesList.push(propStyle);
79
+ }
85
80
  }
86
81
  }
87
- if (unsupportedStyleKeys.size > 0) {
88
- console.warn("ApiMakerUtilsIcon received unsupported style keys:", Array.from(unsupportedStyleKeys).sort());
82
+ else if (style) {
83
+ actualStylesList.push(style);
89
84
  }
90
85
  return actualStylesList;
91
- }, [stylesList, style]);
86
+ }, [inheritedStylesList, style]);
92
87
  const actualDataSet = useMemo(() => Object.assign({ name, version: actualVersion }, dataSet), [actualVersion, dataSet, name]);
93
88
  if (actualVersion == "FontAwesome") {
94
89
  return _jsx(FontAwesomeIcon, { dataSet: actualDataSet, name: name, style: actualStylesList, ...restProps });
@@ -107,4 +102,4 @@ export default memo(shapeComponent(class ApiMakerUtilsIcon extends BaseComponent
107
102
  }
108
103
  }
109
104
  }));
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXRpbHMvaWNvbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdFQUF3RTtBQUN4RSxPQUFPLGFBQWEsTUFBTSxtQkFBbUIsQ0FBQTtBQUM3QyxPQUFPLGVBQWUsTUFBTSwwQ0FBMEMsQ0FBQTtBQUN0RSxPQUFPLGdCQUFnQixNQUFNLDJDQUEyQyxDQUFBO0FBQ3hFLE9BQU8sZ0JBQWdCLE1BQU0sMkNBQTJDLENBQUE7QUFDeEUsT0FBTyxpQkFBaUIsTUFBTSw0Q0FBNEMsQ0FBQTtBQUMxRSxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFBO0FBQzVELE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUE7QUFDOUQsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtBQUM5RCxNQUFNLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxDQUFBO0FBRWhFLE1BQU0sT0FBTyxHQUFHO0lBQ2QsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLGFBQWE7Q0FDdEIsQ0FBQTtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0saUJBQWtCLFNBQVEsYUFBYTtJQUM5RSxxQ0FB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QUUsS0FBSyxFQUFFLGdCQUFnQixLQUFNLFNBQVMsR0FBSSxDQUFBO1FBQzFHLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsYUFBYSxFQUFFLENBQUMsQ0FBQTtRQUN0RCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tbXVsdGktc3BhY2VzLCBwcmVmZXItb2JqZWN0LXNwcmVhZCwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IEZvbnRBd2Vzb21lSWNvbiBmcm9tIFwicmVhY3QtbmF0aXZlLXZlY3Rvci1pY29ucy9Gb250QXdlc29tZS5qc1wiXG5pbXBvcnQgRm9udEF3ZXNvbWU1SWNvbiBmcm9tIFwicmVhY3QtbmF0aXZlLXZlY3Rvci1pY29ucy9Gb250QXdlc29tZTUuanNcIlxuaW1wb3J0IEZvbnRBd2Vzb21lNkljb24gZnJvbSBcInJlYWN0LW5hdGl2ZS12ZWN0b3ItaWNvbnMvRm9udEF3ZXNvbWU2LmpzXCJcbmltcG9ydCBNYXRlcmlhbEljb25zSWNvbiBmcm9tIFwicmVhY3QtbmF0aXZlLXZlY3Rvci1pY29ucy9NYXRlcmlhbEljb25zLmpzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U3R5bGVTaGVldH0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB7dXNlTWVyZ2VkU3R5bGV9IGZyb20gXCIuL2RlZmF1bHQtc3R5bGVcIlxuXG5jb25zdCBGb250QXdlc29tZUdseXBoTWFwID0gRm9udEF3ZXNvbWVJY29uLmdldFJhd0dseXBoTWFwKClcbmNvbnN0IEZvbnRBd2Vzb21lNUdseXBoTWFwID0gRm9udEF3ZXNvbWU1SWNvbi5nZXRSYXdHbHlwaE1hcCgpXG5jb25zdCBGb250QXdlc29tZTZHbHlwaE1hcCA9IEZvbnRBd2Vzb21lNkljb24uZ2V0UmF3R2x5cGhNYXAoKVxuY29uc3QgTWF0ZXJpYWxJY29uc0dseXBoTWFwID0gTWF0ZXJpYWxJY29uc0ljb24uZ2V0UmF3R2x5cGhNYXAoKVxuXG5jb25zdCBpY29uTWFwID0ge1xuICBwZW5jaWw6IFwiRm9udEF3ZXNvbWVcIixcbiAgcmVtb3ZlOiBcIkZvbnRBd2Vzb21lXCIsXG4gIHNlYXJjaDogXCJGb250QXdlc29tZVwiXG59XG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQXBpTWFrZXJVdGlsc0ljb25Qcm9wc1xuICogQHByb3BlcnR5IHtzdHJpbmd8bnVtYmVyPX0gY29sb3JcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0PX0gZGF0YVNldFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyPX0gc2l6ZVxuICogQHByb3BlcnR5IHtpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuU3R5bGVQcm9wPGltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5UZXh0U3R5bGU+PX0gc3R5bGUgT25seSBgY29sb3JgIGlzIGZvcndhcmRlZC5cbiAqIEBwcm9wZXJ0eSB7KFwiRm9udEF3ZXNvbWVcInxcIkZvbnRBd2Vzb21lNVwifFwiRm9udEF3ZXNvbWU2XCJ8XCJNYXRlcmlhbEljb25zXCIpPX0gdmVyc2lvblxuICovXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVXRpbHNJY29uIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIC8qKiBAdHlwZSB7QXBpTWFrZXJVdGlsc0ljb25Qcm9wc30gKi9cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xvcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICAgIGRhdGFTZXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHNpemU6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vYmplY3QsIFByb3BUeXBlcy5hcnJheSwgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIHZlcnNpb246IFByb3BUeXBlcy5vbmVPZihbXCJGb250QXdlc29tZVwiLCBcIkZvbnRBd2Vzb21lNVwiLCBcIkZvbnRBd2Vzb21lNlwiLCBcIk1hdGVyaWFsSWNvbnNcIl0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2RhdGFTZXQsIG5hbWUsIHN0eWxlLCB2ZXJzaW9uLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtzdHlsZXNMaXN0fSA9IHVzZU1lcmdlZFN0eWxlKHN0eWxlLCBcIlRleHRcIilcbiAgICBsZXQgYWN0dWFsVmVyc2lvbiA9IHZlcnNpb25cblxuICAgIGlmICghYWN0dWFsVmVyc2lvbikge1xuICAgICAgaWYgKG5hbWUgaW4gaWNvbk1hcCkge1xuICAgICAgICBhY3R1YWxWZXJzaW9uID0gaWNvbk1hcFtuYW1lXVxuICAgICAgfSBlbHNlIGlmIChuYW1lIGluIEZvbnRBd2Vzb21lNkdseXBoTWFwKSB7XG4gICAgICAgIGFjdHVhbFZlcnNpb24gPSBcIkZvbnRBd2Vzb21lNlwiXG4gICAgICB9IGVsc2UgaWYgKG5hbWUgaW4gRm9udEF3ZXNvbWU1R2x5cGhNYXApIHtcbiAgICAgICAgYWN0dWFsVmVyc2lvbiA9IFwiRm9udEF3ZXNvbWU1XCJcbiAgICAgIH0gZWxzZSBpZiAobmFtZSBpbiBGb250QXdlc29tZUdseXBoTWFwKSB7XG4gICAgICAgIGFjdHVhbFZlcnNpb24gPSBcIkZvbnRBd2Vzb21lXCJcbiAgICAgIH0gZWxzZSBpZiAobmFtZSBpbiBNYXRlcmlhbEljb25zR2x5cGhNYXApIHtcbiAgICAgICAgYWN0dWFsVmVyc2lvbiA9ICBcIk1hdGVyaWFsSWNvbnNcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWN0dWFsVmVyc2lvbiA9IFwiRm9udEF3ZXNvbWVcIlxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9ubHkgZm9yd2FyZCBzb21lIHN0eWxlcyBsaWtlIGNvbG9yXG4gICAgY29uc3QgYWN0dWFsU3R5bGVzTGlzdCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgYWN0dWFsU3R5bGVzTGlzdCA9IFtdXG4gICAgICBjb25zdCB1bnN1cHBvcnRlZFN0eWxlS2V5cyA9IG5ldyBTZXQoKVxuXG4gICAgICBmb3IgKGNvbnN0IHN0eWxlIG9mIHN0eWxlc0xpc3QpIHtcbiAgICAgICAgY29uc3QgbmV3U3R5bGUgPSB7fVxuICAgICAgICBsZXQgY291bnQgPSAwXG4gICAgICAgIGNvbnN0IGZsYXR0ZW5lZFN0eWxlID0gU3R5bGVTaGVldC5mbGF0dGVuKHN0eWxlKSB8fCB7fVxuXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGZsYXR0ZW5lZFN0eWxlKSB7XG4gICAgICAgICAgaWYgKGtleSA9PSBcImNvbG9yXCIpIHtcbiAgICAgICAgICAgIG5ld1N0eWxlW2tleV0gPSBmbGF0dGVuZWRTdHlsZVtrZXldXG4gICAgICAgICAgICBjb3VudCsrXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVuc3VwcG9ydGVkU3R5bGVLZXlzLmFkZChrZXkpXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvdW50ID4gMCkge1xuICAgICAgICAgIGFjdHVhbFN0eWxlc0xpc3QucHVzaChuZXdTdHlsZSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodW5zdXBwb3J0ZWRTdHlsZUtleXMuc2l6ZSA+IDApIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgIFwiQXBpTWFrZXJVdGlsc0ljb24gcmVjZWl2ZWQgdW5zdXBwb3J0ZWQgc3R5bGUga2V5czpcIixcbiAgICAgICAgICBBcnJheS5mcm9tKHVuc3VwcG9ydGVkU3R5bGVLZXlzKS5zb3J0KClcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYWN0dWFsU3R5bGVzTGlzdFxuICAgIH0sIFtzdHlsZXNMaXN0LCBzdHlsZV0pXG5cbiAgICBjb25zdCBhY3R1YWxEYXRhU2V0ID0gdXNlTWVtbygoKSA9PiBPYmplY3QuYXNzaWduKHtuYW1lLCB2ZXJzaW9uOiBhY3R1YWxWZXJzaW9ufSwgZGF0YVNldCksIFthY3R1YWxWZXJzaW9uLCBkYXRhU2V0LCBuYW1lXSlcblxuICAgIGlmIChhY3R1YWxWZXJzaW9uID09IFwiRm9udEF3ZXNvbWVcIikge1xuICAgICAgcmV0dXJuIDxGb250QXdlc29tZUljb24gZGF0YVNldD17YWN0dWFsRGF0YVNldH0gbmFtZT17bmFtZX0gc3R5bGU9e2FjdHVhbFN0eWxlc0xpc3R9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgfSBlbHNlIGlmIChhY3R1YWxWZXJzaW9uID09IFwiRm9udEF3ZXNvbWU1XCIpIHtcbiAgICAgIHJldHVybiA8Rm9udEF3ZXNvbWU1SWNvbiBkYXRhU2V0PXthY3R1YWxEYXRhU2V0fSBuYW1lPXtuYW1lfSBzdHlsZT17YWN0dWFsU3R5bGVzTGlzdH0gey4uLnJlc3RQcm9wc30gLz5cbiAgICB9IGVsc2UgaWYgKGFjdHVhbFZlcnNpb24gPT0gXCJGb250QXdlc29tZTZcIikge1xuICAgICAgcmV0dXJuIDxGb250QXdlc29tZTZJY29uIGRhdGFTZXQ9e2FjdHVhbERhdGFTZXR9IG5hbWU9e25hbWV9IHN0eWxlPXthY3R1YWxTdHlsZXNMaXN0fSB7Li4ucmVzdFByb3BzfSAvPlxuICAgIH0gZWxzZSBpZiAoYWN0dWFsVmVyc2lvbiA9PSBcIk1hdGVyaWFsSWNvbnNcIikge1xuICAgICAgcmV0dXJuIDxNYXRlcmlhbEljb25zSWNvbiBkYXRhU2V0PXthY3R1YWxEYXRhU2V0fSBuYW1lPXtuYW1lfSBzdHlsZT17YWN0dWFsU3R5bGVzTGlzdH0gey4uLnJlc3RQcm9wc30gLz5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIHZlcnNpb246ICR7YWN0dWFsVmVyc2lvbn1gKVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsidXRpbHMvaWNvbi5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdFQUF3RTtBQUN4RSxPQUFPLGFBQWEsTUFBTSxtQkFBbUIsQ0FBQTtBQUM3QyxPQUFPLGVBQWUsTUFBTSwwQ0FBMEMsQ0FBQTtBQUN0RSxPQUFPLGdCQUFnQixNQUFNLDJDQUEyQyxDQUFBO0FBQ3hFLE9BQU8sZ0JBQWdCLE1BQU0sMkNBQTJDLENBQUE7QUFDeEUsT0FBTyxpQkFBaUIsTUFBTSw0Q0FBNEMsQ0FBQTtBQUMxRSxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN2QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFBO0FBQzVELE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUE7QUFDOUQsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtBQUM5RCxNQUFNLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxDQUFBO0FBRWhFLE1BQU0sT0FBTyxHQUFHO0lBQ2QsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLGFBQWE7SUFDckIsTUFBTSxFQUFFLGFBQWE7Q0FDdEIsQ0FBQTtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0saUJBQWtCLFNBQVEsYUFBYTtJQUM5RSxxQ0FB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LWRpc2FibGUgbm8tbXVsdGktc3BhY2VzLCBwcmVmZXItb2JqZWN0LXNwcmVhZCwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IEZvbnRBd2Vzb21lSWNvbiBmcm9tIFwicmVhY3QtbmF0aXZlLXZlY3Rvci1pY29ucy9Gb250QXdlc29tZS5qc1wiXG5pbXBvcnQgRm9udEF3ZXNvbWU1SWNvbiBmcm9tIFwicmVhY3QtbmF0aXZlLXZlY3Rvci1pY29ucy9Gb250QXdlc29tZTUuanNcIlxuaW1wb3J0IEZvbnRBd2Vzb21lNkljb24gZnJvbSBcInJlYWN0LW5hdGl2ZS12ZWN0b3ItaWNvbnMvRm9udEF3ZXNvbWU2LmpzXCJcbmltcG9ydCBNYXRlcmlhbEljb25zSWNvbiBmcm9tIFwicmVhY3QtbmF0aXZlLXZlY3Rvci1pY29ucy9NYXRlcmlhbEljb25zLmpzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7U3R5bGVTaGVldH0gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB7dXNlTWVyZ2VkU3R5bGV9IGZyb20gXCIuL2RlZmF1bHQtc3R5bGVcIlxuXG5jb25zdCBGb250QXdlc29tZUdseXBoTWFwID0gRm9udEF3ZXNvbWVJY29uLmdldFJhd0dseXBoTWFwKClcbmNvbnN0IEZvbnRBd2Vzb21lNUdseXBoTWFwID0gRm9udEF3ZXNvbWU1SWNvbi5nZXRSYXdHbHlwaE1hcCgpXG5jb25zdCBGb250QXdlc29tZTZHbHlwaE1hcCA9IEZvbnRBd2Vzb21lNkljb24uZ2V0UmF3R2x5cGhNYXAoKVxuY29uc3QgTWF0ZXJpYWxJY29uc0dseXBoTWFwID0gTWF0ZXJpYWxJY29uc0ljb24uZ2V0UmF3R2x5cGhNYXAoKVxuXG5jb25zdCBpY29uTWFwID0ge1xuICBwZW5jaWw6IFwiRm9udEF3ZXNvbWVcIixcbiAgcmVtb3ZlOiBcIkZvbnRBd2Vzb21lXCIsXG4gIHNlYXJjaDogXCJGb250QXdlc29tZVwiXG59XG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQXBpTWFrZXJVdGlsc0ljb25Qcm9wc1xuICogQHByb3BlcnR5IHtzdHJpbmd8bnVtYmVyPX0gY29sb3JcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0PX0gZGF0YVNldFxuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWVcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyPX0gc2l6ZVxuICogQHByb3BlcnR5IHtpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuU3R5bGVQcm9wPGltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5UZXh0U3R5bGU+PX0gc3R5bGUgT25seSBgY29sb3JgIGlzIGZvcndhcmRlZC5cbiAqIEBwcm9wZXJ0eSB7KFwiRm9udEF3ZXNvbWVcInxcIkZvbnRBd2Vzb21lNVwifFwiRm9udEF3ZXNvbWU2XCJ8XCJNYXRlcmlhbEljb25zXCIpPX0gdmVyc2lvblxuICovXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVXRpbHNJY29uIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIC8qKiBAdHlwZSB7QXBpTWFrZXJVdGlsc0ljb25Qcm9wc30gKi9cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjb2xvcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnN0cmluZ10pLFxuICAgIGRhdGFTZXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHNpemU6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgc3R5bGU6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vYmplY3QsIFByb3BUeXBlcy5hcnJheSwgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIHZlcnNpb246IFByb3BUeXBlcy5vbmVPZihbXCJGb250QXdlc29tZVwiLCBcIkZvbnRBd2Vzb21lNVwiLCBcIkZvbnRBd2Vzb21lNlwiLCBcIk1hdGVyaWFsSWNvbnNcIl0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2RhdGFTZXQsIG5hbWUsIHN0eWxlLCB2ZXJzaW9uLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtzdHlsZXNMaXN0OiBpbmhlcml0ZWRTdHlsZXNMaXN0fSA9IHVzZU1lcmdlZFN0eWxlKG51bGwsIFwiVGV4dFwiKVxuICAgIGxldCBhY3R1YWxWZXJzaW9uID0gdmVyc2lvblxuXG4gICAgaWYgKCFhY3R1YWxWZXJzaW9uKSB7XG4gICAgICBpZiAobmFtZSBpbiBpY29uTWFwKSB7XG4gICAgICAgIGFjdHVhbFZlcnNpb24gPSBpY29uTWFwW25hbWVdXG4gICAgICB9IGVsc2UgaWYgKG5hbWUgaW4gRm9udEF3ZXNvbWU2R2x5cGhNYXApIHtcbiAgICAgICAgYWN0dWFsVmVyc2lvbiA9IFwiRm9udEF3ZXNvbWU2XCJcbiAgICAgIH0gZWxzZSBpZiAobmFtZSBpbiBGb250QXdlc29tZTVHbHlwaE1hcCkge1xuICAgICAgICBhY3R1YWxWZXJzaW9uID0gXCJGb250QXdlc29tZTVcIlxuICAgICAgfSBlbHNlIGlmIChuYW1lIGluIEZvbnRBd2Vzb21lR2x5cGhNYXApIHtcbiAgICAgICAgYWN0dWFsVmVyc2lvbiA9IFwiRm9udEF3ZXNvbWVcIlxuICAgICAgfSBlbHNlIGlmIChuYW1lIGluIE1hdGVyaWFsSWNvbnNHbHlwaE1hcCkge1xuICAgICAgICBhY3R1YWxWZXJzaW9uID0gIFwiTWF0ZXJpYWxJY29uc1wiXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY3R1YWxWZXJzaW9uID0gXCJGb250QXdlc29tZVwiXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT25seSBmb3J3YXJkIHNvbWUgc3R5bGVzIGxpa2UgY29sb3IgZnJvbSBpbmhlcml0ZWQgVGV4dCBzdHlsZXMuXG4gICAgY29uc3QgYWN0dWFsU3R5bGVzTGlzdCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgYWN0dWFsU3R5bGVzTGlzdCA9IFtdXG5cbiAgICAgIGZvciAoY29uc3QgaW5oZXJpdGVkU3R5bGUgb2YgaW5oZXJpdGVkU3R5bGVzTGlzdCkge1xuICAgICAgICBjb25zdCBmbGF0dGVuZWRTdHlsZSA9IFN0eWxlU2hlZXQuZmxhdHRlbihpbmhlcml0ZWRTdHlsZSkgfHwge31cblxuICAgICAgICBpZiAoXCJjb2xvclwiIGluIGZsYXR0ZW5lZFN0eWxlKSB7XG4gICAgICAgICAgYWN0dWFsU3R5bGVzTGlzdC5wdXNoKHtjb2xvcjogZmxhdHRlbmVkU3R5bGUuY29sb3J9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHN0eWxlKSkge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3BTdHlsZSBvZiBzdHlsZSkge1xuICAgICAgICAgIGlmIChwcm9wU3R5bGUpIHtcbiAgICAgICAgICAgIGFjdHVhbFN0eWxlc0xpc3QucHVzaChwcm9wU3R5bGUpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHN0eWxlKSB7XG4gICAgICAgIGFjdHVhbFN0eWxlc0xpc3QucHVzaChzdHlsZSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjdHVhbFN0eWxlc0xpc3RcbiAgICB9LCBbaW5oZXJpdGVkU3R5bGVzTGlzdCwgc3R5bGVdKVxuXG4gICAgY29uc3QgYWN0dWFsRGF0YVNldCA9IHVzZU1lbW8oKCkgPT4gT2JqZWN0LmFzc2lnbih7bmFtZSwgdmVyc2lvbjogYWN0dWFsVmVyc2lvbn0sIGRhdGFTZXQpLCBbYWN0dWFsVmVyc2lvbiwgZGF0YVNldCwgbmFtZV0pXG5cbiAgICBpZiAoYWN0dWFsVmVyc2lvbiA9PSBcIkZvbnRBd2Vzb21lXCIpIHtcbiAgICAgIHJldHVybiA8Rm9udEF3ZXNvbWVJY29uIGRhdGFTZXQ9e2FjdHVhbERhdGFTZXR9IG5hbWU9e25hbWV9IHN0eWxlPXthY3R1YWxTdHlsZXNMaXN0fSB7Li4ucmVzdFByb3BzfSAvPlxuICAgIH0gZWxzZSBpZiAoYWN0dWFsVmVyc2lvbiA9PSBcIkZvbnRBd2Vzb21lNVwiKSB7XG4gICAgICByZXR1cm4gPEZvbnRBd2Vzb21lNUljb24gZGF0YVNldD17YWN0dWFsRGF0YVNldH0gbmFtZT17bmFtZX0gc3R5bGU9e2FjdHVhbFN0eWxlc0xpc3R9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgfSBlbHNlIGlmIChhY3R1YWxWZXJzaW9uID09IFwiRm9udEF3ZXNvbWU2XCIpIHtcbiAgICAgIHJldHVybiA8Rm9udEF3ZXNvbWU2SWNvbiBkYXRhU2V0PXthY3R1YWxEYXRhU2V0fSBuYW1lPXtuYW1lfSBzdHlsZT17YWN0dWFsU3R5bGVzTGlzdH0gey4uLnJlc3RQcm9wc30gLz5cbiAgICB9IGVsc2UgaWYgKGFjdHVhbFZlcnNpb24gPT0gXCJNYXRlcmlhbEljb25zXCIpIHtcbiAgICAgIHJldHVybiA8TWF0ZXJpYWxJY29uc0ljb24gZGF0YVNldD17YWN0dWFsRGF0YVNldH0gbmFtZT17bmFtZX0gc3R5bGU9e2FjdHVhbFN0eWxlc0xpc3R9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biB2ZXJzaW9uOiAke2FjdHVhbFZlcnNpb259YClcbiAgICB9XG4gIH1cbn0pKVxuIl19
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kaspernj/api-maker",
3
3
  "type": "module",
4
- "version": "1.0.2085",
4
+ "version": "1.0.2087",
5
5
  "description": "My new module",
6
6
  "files": [
7
7
  "build/**"
@@ -12,7 +12,7 @@
12
12
  "build": "rm -rf build && tsc || true",
13
13
  "clean": "expo-module clean",
14
14
  "lint": "expo-module lint",
15
- "test": "expo-module test",
15
+ "test": "NODE_OPTIONS=--experimental-vm-modules expo-module test",
16
16
  "prepare": "npm run clean && npm run build",
17
17
  "prepublishOnly": "expo-module prepublishOnly && npm run build",
18
18
  "open:ios": "xed example/ios",
@@ -62,7 +62,7 @@
62
62
  "spark-md5": "^3.0.2",
63
63
  "stacktrace-parser": "^0.1.10",
64
64
  "strftime": ">= 0.10.0",
65
- "uniqunize": "^1.0.1",
65
+ "uniqunize": "^1.0.3",
66
66
  "url-parse": "^1.5.10",
67
67
  "wake-event": ">= 0.0.1"
68
68
  },
@@ -75,7 +75,7 @@
75
75
  "babel-jest": "~30.2.0",
76
76
  "eslint": "^9.23.0",
77
77
  "eslint-config-expo": "~9.2.0",
78
- "eslint-plugin-jsdoc": "^50.0.0",
78
+ "eslint-plugin-jsdoc": "^62.0.0",
79
79
  "eslint-plugin-jest": "^29.0.1",
80
80
  "eslint-plugin-react": "^7.23.2",
81
81
  "expo": "~53.0.25",