@effijs/props-manager 2.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/cjs/Builder/Common.d.ts +9 -0
  2. package/dist/cjs/Builder/Common.d.ts.map +1 -0
  3. package/dist/cjs/Builder/Common.js +17 -0
  4. package/dist/cjs/Builder/Common.js.map +1 -0
  5. package/dist/cjs/Builder/Parse.d.ts +10 -0
  6. package/dist/cjs/Builder/Parse.d.ts.map +1 -0
  7. package/dist/cjs/Builder/Parse.js +34 -0
  8. package/dist/cjs/Builder/Parse.js.map +1 -0
  9. package/dist/cjs/Builder/Pattern.d.ts +11 -0
  10. package/dist/cjs/Builder/Pattern.d.ts.map +1 -0
  11. package/dist/cjs/Builder/Pattern.js +37 -0
  12. package/dist/cjs/Builder/Pattern.js.map +1 -0
  13. package/dist/cjs/Builder/Prop.d.ts +11 -0
  14. package/dist/cjs/Builder/Prop.d.ts.map +1 -0
  15. package/dist/cjs/Builder/Prop.js +47 -0
  16. package/dist/cjs/Builder/Prop.js.map +1 -0
  17. package/dist/cjs/Builder/Provider.d.ts +13 -0
  18. package/dist/cjs/Builder/Provider.d.ts.map +1 -0
  19. package/dist/cjs/Builder/Provider.js +34 -0
  20. package/dist/cjs/Builder/Provider.js.map +1 -0
  21. package/dist/cjs/Builder/Static.d.ts +9 -0
  22. package/dist/cjs/Builder/Static.d.ts.map +1 -0
  23. package/dist/cjs/Builder/Static.js +15 -0
  24. package/dist/cjs/Builder/Static.js.map +1 -0
  25. package/dist/cjs/Builder/index.d.ts +21 -0
  26. package/dist/cjs/Builder/index.d.ts.map +1 -0
  27. package/dist/cjs/Builder/index.js +32 -0
  28. package/dist/cjs/Builder/index.js.map +1 -0
  29. package/dist/cjs/Builder/types.d.ts +1 -0
  30. package/dist/cjs/Builder/types.d.ts.map +1 -0
  31. package/dist/cjs/Builder/types.js +2 -0
  32. package/dist/cjs/Builder/types.js.map +1 -0
  33. package/dist/cjs/DataProvider.d.ts +12 -0
  34. package/dist/cjs/DataProvider.d.ts.map +1 -0
  35. package/dist/cjs/DataProvider.js +40 -0
  36. package/dist/cjs/DataProvider.js.map +1 -0
  37. package/dist/cjs/PropertyManager.d.ts +32 -0
  38. package/dist/cjs/PropertyManager.d.ts.map +1 -0
  39. package/dist/cjs/PropertyManager.js +212 -0
  40. package/dist/cjs/PropertyManager.js.map +1 -0
  41. package/dist/cjs/index.d.ts +4 -0
  42. package/dist/cjs/index.d.ts.map +1 -0
  43. package/dist/cjs/index.js +13 -0
  44. package/dist/cjs/index.js.map +1 -0
  45. package/dist/cjs/react/PMMemo.d.ts +7 -0
  46. package/dist/cjs/react/PMMemo.d.ts.map +1 -0
  47. package/dist/cjs/react/PMMemo.js +11 -0
  48. package/dist/cjs/react/PMMemo.js.map +1 -0
  49. package/dist/cjs/react/PMMemo.spec.d.ts +2 -0
  50. package/dist/cjs/react/PMMemo.spec.d.ts.map +1 -0
  51. package/dist/cjs/react/PMMemo.spec.js +35 -0
  52. package/dist/cjs/react/PMMemo.spec.js.map +1 -0
  53. package/dist/cjs/types.d.ts +27 -0
  54. package/dist/cjs/types.d.ts.map +1 -0
  55. package/dist/cjs/types.js +3 -0
  56. package/dist/cjs/types.js.map +1 -0
  57. package/dist/cjs/utils.d.ts +7 -0
  58. package/dist/cjs/utils.d.ts.map +1 -0
  59. package/dist/cjs/utils.js +71 -0
  60. package/dist/cjs/utils.js.map +1 -0
  61. package/dist/esm/Builder/Common.d.ts +9 -0
  62. package/dist/esm/Builder/Common.d.ts.map +1 -0
  63. package/dist/esm/Builder/Common.js +13 -0
  64. package/dist/esm/Builder/Common.js.map +1 -0
  65. package/dist/esm/Builder/Parse.d.ts +10 -0
  66. package/dist/esm/Builder/Parse.d.ts.map +1 -0
  67. package/dist/esm/Builder/Parse.js +30 -0
  68. package/dist/esm/Builder/Parse.js.map +1 -0
  69. package/dist/esm/Builder/Pattern.d.ts +11 -0
  70. package/dist/esm/Builder/Pattern.d.ts.map +1 -0
  71. package/dist/esm/Builder/Pattern.js +33 -0
  72. package/dist/esm/Builder/Pattern.js.map +1 -0
  73. package/dist/esm/Builder/Prop.d.ts +11 -0
  74. package/dist/esm/Builder/Prop.d.ts.map +1 -0
  75. package/dist/esm/Builder/Prop.js +43 -0
  76. package/dist/esm/Builder/Prop.js.map +1 -0
  77. package/dist/esm/Builder/Provider.d.ts +13 -0
  78. package/dist/esm/Builder/Provider.d.ts.map +1 -0
  79. package/dist/esm/Builder/Provider.js +30 -0
  80. package/dist/esm/Builder/Provider.js.map +1 -0
  81. package/dist/esm/Builder/Static.d.ts +9 -0
  82. package/dist/esm/Builder/Static.d.ts.map +1 -0
  83. package/dist/esm/Builder/Static.js +11 -0
  84. package/dist/esm/Builder/Static.js.map +1 -0
  85. package/dist/esm/Builder/index.d.ts +21 -0
  86. package/dist/esm/Builder/index.d.ts.map +1 -0
  87. package/dist/esm/Builder/index.js +29 -0
  88. package/dist/esm/Builder/index.js.map +1 -0
  89. package/dist/esm/Builder/types.d.ts +1 -0
  90. package/dist/esm/Builder/types.d.ts.map +1 -0
  91. package/dist/esm/Builder/types.js +2 -0
  92. package/dist/esm/Builder/types.js.map +1 -0
  93. package/dist/esm/DataProvider.d.ts +12 -0
  94. package/dist/esm/DataProvider.d.ts.map +1 -0
  95. package/dist/esm/DataProvider.js +36 -0
  96. package/dist/esm/DataProvider.js.map +1 -0
  97. package/dist/esm/PropertyManager.d.ts +32 -0
  98. package/dist/esm/PropertyManager.d.ts.map +1 -0
  99. package/dist/esm/PropertyManager.js +208 -0
  100. package/dist/esm/PropertyManager.js.map +1 -0
  101. package/dist/esm/index.d.ts +4 -0
  102. package/dist/esm/index.d.ts.map +1 -0
  103. package/dist/esm/index.js +3 -0
  104. package/dist/esm/index.js.map +1 -0
  105. package/dist/esm/react/PMMemo.d.ts +7 -0
  106. package/dist/esm/react/PMMemo.d.ts.map +1 -0
  107. package/dist/esm/react/PMMemo.js +9 -0
  108. package/dist/esm/react/PMMemo.js.map +1 -0
  109. package/dist/esm/react/PMMemo.spec.d.ts +2 -0
  110. package/dist/esm/react/PMMemo.spec.d.ts.map +1 -0
  111. package/dist/esm/react/PMMemo.spec.js +30 -0
  112. package/dist/esm/react/PMMemo.spec.js.map +1 -0
  113. package/dist/esm/types.d.ts +27 -0
  114. package/dist/esm/types.d.ts.map +1 -0
  115. package/dist/esm/types.js +2 -0
  116. package/dist/esm/types.js.map +1 -0
  117. package/dist/esm/utils.d.ts +7 -0
  118. package/dist/esm/utils.d.ts.map +1 -0
  119. package/dist/esm/utils.js +63 -0
  120. package/dist/esm/utils.js.map +1 -0
  121. package/dist/types/Builder/Common.d.ts +9 -0
  122. package/dist/types/Builder/Common.d.ts.map +1 -0
  123. package/dist/types/Builder/Parse.d.ts +10 -0
  124. package/dist/types/Builder/Parse.d.ts.map +1 -0
  125. package/dist/types/Builder/Pattern.d.ts +11 -0
  126. package/dist/types/Builder/Pattern.d.ts.map +1 -0
  127. package/dist/types/Builder/Prop.d.ts +11 -0
  128. package/dist/types/Builder/Prop.d.ts.map +1 -0
  129. package/dist/types/Builder/Provider.d.ts +13 -0
  130. package/dist/types/Builder/Provider.d.ts.map +1 -0
  131. package/dist/types/Builder/Static.d.ts +9 -0
  132. package/dist/types/Builder/Static.d.ts.map +1 -0
  133. package/dist/types/Builder/index.d.ts +21 -0
  134. package/dist/types/Builder/index.d.ts.map +1 -0
  135. package/dist/types/Builder/types.d.ts +1 -0
  136. package/dist/types/Builder/types.d.ts.map +1 -0
  137. package/dist/types/DataProvider.d.ts +12 -0
  138. package/dist/types/DataProvider.d.ts.map +1 -0
  139. package/dist/types/PropertyManager.d.ts +32 -0
  140. package/dist/types/PropertyManager.d.ts.map +1 -0
  141. package/dist/types/index.d.ts +4 -0
  142. package/dist/types/index.d.ts.map +1 -0
  143. package/dist/types/react/PMMemo.d.ts +7 -0
  144. package/dist/types/react/PMMemo.d.ts.map +1 -0
  145. package/dist/types/react/PMMemo.spec.d.ts +2 -0
  146. package/dist/types/react/PMMemo.spec.d.ts.map +1 -0
  147. package/dist/types/types.d.ts +27 -0
  148. package/dist/types/types.d.ts.map +1 -0
  149. package/dist/types/utils.d.ts +7 -0
  150. package/dist/types/utils.d.ts.map +1 -0
  151. package/package.json +81 -0
@@ -0,0 +1,9 @@
1
+ export declare abstract class Builder {
2
+ protected readonly keys: Set<string>;
3
+ protected constructor(keys: string[]);
4
+ getKeys(): Set<string>;
5
+ providerDependentName(): string | false;
6
+ clean(): void;
7
+ abstract extract(props: Map<string, unknown>): Record<string, unknown>;
8
+ }
9
+ //# sourceMappingURL=Common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Common.d.ts","sourceRoot":"","sources":["../../../src/Builder/Common.ts"],"names":[],"mappings":"AAEA,8BAAsB,OAAO;IAC3B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAErC,SAAS,aAAa,IAAI,EAAE,MAAM,EAAE;IAIpC,OAAO;IAIP,qBAAqB,IAAI,MAAM,GAAG,KAAK;IAIvC,KAAK;IAEL,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CACvE"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Builder = void 0;
4
+ class Builder {
5
+ constructor(keys) {
6
+ this.keys = new Set(keys);
7
+ }
8
+ getKeys() {
9
+ return this.keys;
10
+ }
11
+ providerDependentName() {
12
+ return false;
13
+ }
14
+ clean() { }
15
+ }
16
+ exports.Builder = Builder;
17
+ //# sourceMappingURL=Common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../src/Builder/Common.ts"],"names":[],"mappings":";;;AAEA,MAAsB,OAAO;IAG3B,YAAsB,IAAc;QAClC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,qBAAqB;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,KAAI,CAAC;CAGX;AAlBD,0BAkBC"}
@@ -0,0 +1,10 @@
1
+ import { Builder } from './Common';
2
+ import type { TPattern, TProps } from '../types';
3
+ export declare class Parser extends Builder {
4
+ private pattern;
5
+ private toData;
6
+ private data;
7
+ constructor(pattern: TPattern, toData: (value: string) => Record<string, any>);
8
+ extract(props: TProps): Record<string, unknown>;
9
+ }
10
+ //# sourceMappingURL=Parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Parse.d.ts","sourceRoot":"","sources":["../../../src/Builder/Parse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEjD,qBAAa,MAAO,SAAQ,OAAO;IAI/B,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,IAAI,CAA8C;gBAGhD,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IASxD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAehD"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Parser = void 0;
4
+ const ramda_1 = require("ramda");
5
+ const Common_1 = require("./Common");
6
+ class Parser extends Common_1.Builder {
7
+ constructor(pattern, toData) {
8
+ if (!pattern.endsWith('-')) {
9
+ throw new Error('Pattern should ends with "-"');
10
+ }
11
+ super([pattern]);
12
+ this.pattern = pattern;
13
+ this.toData = toData;
14
+ this.data = new Map();
15
+ }
16
+ extract(props) {
17
+ let res = {};
18
+ for (const [key, value] of props) {
19
+ if (this.keys.has(key)) {
20
+ res = (0, ramda_1.mergeDeepRight)(res, this.data.get(key));
21
+ }
22
+ else if (value && key.startsWith(this.pattern)) {
23
+ const value = key.replace(this.pattern, '');
24
+ const data = this.toData(value);
25
+ this.keys.add(key);
26
+ this.data.set(key, data);
27
+ res = (0, ramda_1.mergeDeepRight)(res, data);
28
+ }
29
+ }
30
+ return res;
31
+ }
32
+ }
33
+ exports.Parser = Parser;
34
+ //# sourceMappingURL=Parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Parse.js","sourceRoot":"","sources":["../../../src/Builder/Parse.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AACvC,qCAAmC;AAGnC,MAAa,MAAO,SAAQ,gBAAO;IAGjC,YACU,OAAiB,EACjB,MAA8C;QAEtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAPT,YAAO,GAAP,OAAO,CAAU;QACjB,WAAM,GAAN,MAAM,CAAwC;QAJhD,SAAI,GAAG,IAAI,GAAG,EAAmC,CAAC;IAW1D,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,GAAG,GAAG,IAAA,sBAAc,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAA4B,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACzB,GAAG,GAAG,IAAA,sBAAc,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA7BD,wBA6BC"}
@@ -0,0 +1,11 @@
1
+ import { Builder } from './Common';
2
+ import type { TPattern, TPatternValue, TPatternExtractor, TProps } from '../types';
3
+ export declare class Pattern extends Builder {
4
+ private pattern;
5
+ private data;
6
+ private values;
7
+ constructor(pattern: TPattern, values: TPatternValue);
8
+ key(pattern: TPattern, extractor: TPatternExtractor): this;
9
+ extract(props: TProps): Record<string, unknown>;
10
+ }
11
+ //# sourceMappingURL=Pattern.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pattern.d.ts","sourceRoot":"","sources":["../../../src/Builder/Pattern.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEnF,qBAAa,OAAQ,SAAQ,OAAO;IAMhC,OAAO,CAAC,OAAO;IALjB,OAAO,CAAC,IAAI,CAA8C;IAE1D,OAAO,CAAC,MAAM,CAA8B;gBAGlC,OAAO,EAAE,QAAQ,EACzB,MAAM,EAAE,aAAa;IAMvB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB;IAcnD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAShD"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Pattern = void 0;
4
+ const ramda_1 = require("ramda");
5
+ const Common_1 = require("./Common");
6
+ class Pattern extends Common_1.Builder {
7
+ constructor(pattern, values) {
8
+ super([]);
9
+ this.pattern = pattern;
10
+ this.data = new Map();
11
+ this.values = Object.entries(values);
12
+ }
13
+ key(pattern, extractor) {
14
+ this.values.forEach(([replacer, value]) => {
15
+ const key = pattern.replace(this.pattern, replacer);
16
+ this.keys.add(key);
17
+ if (typeof extractor === 'string') {
18
+ this.data.set(key, { [extractor]: value });
19
+ }
20
+ else if (typeof extractor === 'function') {
21
+ this.data.set(key, extractor(value));
22
+ }
23
+ });
24
+ return this;
25
+ }
26
+ extract(props) {
27
+ let res = {};
28
+ for (const [key, value] of props) {
29
+ if (value && this.keys.has(key)) {
30
+ res = (0, ramda_1.mergeDeepRight)(res, this.data.get(key));
31
+ }
32
+ }
33
+ return res;
34
+ }
35
+ }
36
+ exports.Pattern = Pattern;
37
+ //# sourceMappingURL=Pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pattern.js","sourceRoot":"","sources":["../../../src/Builder/Pattern.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AACvC,qCAAmC;AAGnC,MAAa,OAAQ,SAAQ,gBAAO;IAKlC,YACU,OAAiB,EACzB,MAAqB;QAErB,KAAK,CAAC,EAAE,CAAC,CAAC;QAHF,YAAO,GAAP,OAAO,CAAU;QALnB,SAAI,GAAG,IAAI,GAAG,EAAmC,CAAC;QASxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,GAAG,CAAC,OAAiB,EAAE,SAA4B;QACjD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAEnB,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YACjC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,GAAG,GAAG,IAAA,sBAAc,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAA4B,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AApCD,0BAoCC"}
@@ -0,0 +1,11 @@
1
+ import type { THandle, TObject, TOptions, TProps } from '../types';
2
+ import { Builder } from './Common';
3
+ export declare class Prop extends Builder {
4
+ private readonly options;
5
+ private readonly obj?;
6
+ private readonly handle?;
7
+ private readonly key?;
8
+ constructor(keys: string[], extractor?: THandle | TObject | string | undefined, options?: TOptions);
9
+ extract(props: TProps): TObject;
10
+ }
11
+ //# sourceMappingURL=Prop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prop.d.ts","sourceRoot":"","sources":["../../../src/Builder/Prop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMnC,qBAAa,IAAK,SAAQ,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IAEnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAU;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAU;IAElC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAS;gBAG5B,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,EAClD,OAAO,CAAC,EAAE,QAAQ;IAapB,OAAO,CAAC,KAAK,EAAE,MAAM;CA4BtB"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Prop = void 0;
4
+ const Common_1 = require("./Common");
5
+ const OPTIONS = {
6
+ nullWhenFirstKeyNull: true,
7
+ };
8
+ class Prop extends Common_1.Builder {
9
+ constructor(keys, extractor, options) {
10
+ super(keys);
11
+ this.options = { ...OPTIONS, ...(options || {}) };
12
+ if (typeof extractor === 'function') {
13
+ this.handle = extractor;
14
+ }
15
+ else if (typeof extractor === 'object' && extractor !== null) {
16
+ this.obj = extractor;
17
+ }
18
+ else if (typeof extractor === 'string') {
19
+ this.key = extractor;
20
+ }
21
+ }
22
+ extract(props) {
23
+ if (this.options.nullWhenFirstKeyNull) {
24
+ if (!props.get(this.keys.values().next().value)) {
25
+ return {};
26
+ }
27
+ }
28
+ if (this.handle) {
29
+ return this.handle(Object.fromEntries(props));
30
+ }
31
+ else if (this.obj) {
32
+ return this.obj;
33
+ }
34
+ else if (this.key) {
35
+ return Object.fromEntries([[this.key, props.get(this.keys.values().next().value)]]);
36
+ }
37
+ const res = {};
38
+ for (const key of this.keys) {
39
+ if (props.has(key)) {
40
+ res[key] = props.get(key);
41
+ }
42
+ }
43
+ return res;
44
+ }
45
+ }
46
+ exports.Prop = Prop;
47
+ //# sourceMappingURL=Prop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prop.js","sourceRoot":"","sources":["../../../src/Builder/Prop.ts"],"names":[],"mappings":";;;AACA,qCAAmC;AAEnC,MAAM,OAAO,GAAa;IACxB,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AAEF,MAAa,IAAK,SAAQ,gBAAO;IAS/B,YACE,IAAc,EACd,SAAkD,EAClD,OAAkB;QAElB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,SAAoB,CAAC;QACrC,CAAC;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC/D,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,CAAC;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC,EAAE,CAAC;gBAC1D,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QAID,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,GAAG,GAAG,EAA6B,CAAC;QAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAID,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AArDD,oBAqDC"}
@@ -0,0 +1,13 @@
1
+ import { Builder } from './Common';
2
+ export declare class Provider extends Builder {
3
+ private name;
4
+ private handle;
5
+ private builder;
6
+ constructor(name: string, handle: (data: any) => Builder);
7
+ private getBuilder;
8
+ clean(): void;
9
+ getKeys(): Set<string>;
10
+ providerDependentName(): string;
11
+ extract(props: Map<string, unknown>): Record<string, unknown>;
12
+ }
13
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../src/Builder/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,qBAAa,QAAS,SAAQ,OAAO;IAIjC,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,MAAM;IAJhB,OAAO,CAAC,OAAO,CAAsB;gBAG3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO;IAKxC,OAAO,CAAC,UAAU;IAOlB,KAAK;IAIL,OAAO;IAKP,qBAAqB;IAIrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;CAIpC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Provider = void 0;
4
+ const Common_1 = require("./Common");
5
+ const DataProvider_1 = require("../DataProvider");
6
+ class Provider extends Common_1.Builder {
7
+ constructor(name, handle) {
8
+ super([]);
9
+ this.name = name;
10
+ this.handle = handle;
11
+ }
12
+ getBuilder() {
13
+ if (!this.builder) {
14
+ this.builder = this.handle(DataProvider_1.DataProvider.get(this.name));
15
+ }
16
+ return this.builder;
17
+ }
18
+ clean() {
19
+ this.builder = undefined;
20
+ }
21
+ getKeys() {
22
+ const builder = this.getBuilder();
23
+ return builder.getKeys();
24
+ }
25
+ providerDependentName() {
26
+ return this.name;
27
+ }
28
+ extract(props) {
29
+ const builder = this.getBuilder();
30
+ return builder.extract(props);
31
+ }
32
+ }
33
+ exports.Provider = Provider;
34
+ //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../src/Builder/Provider.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AACnC,kDAA+C;AAE/C,MAAa,QAAS,SAAQ,gBAAO;IAGnC,YACU,IAAY,EACZ,MAA8B;QAEtC,KAAK,CAAC,EAAE,CAAC,CAAC;QAHF,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAwB;IAGxC,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,2BAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,KAA2B;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CACF;AAlCD,4BAkCC"}
@@ -0,0 +1,9 @@
1
+ import { Builder } from './Common';
2
+ export declare class Static extends Builder {
3
+ private data;
4
+ constructor(data: {
5
+ [p: string]: unknown;
6
+ });
7
+ extract(): Record<string, unknown>;
8
+ }
9
+ //# sourceMappingURL=Static.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Static.d.ts","sourceRoot":"","sources":["../../../src/Builder/Static.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,qBAAa,MAAO,SAAQ,OAAO;IACrB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IAIlD,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGnC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Static = void 0;
4
+ const Common_1 = require("./Common");
5
+ class Static extends Common_1.Builder {
6
+ constructor(data) {
7
+ super(['*']);
8
+ this.data = data;
9
+ }
10
+ extract() {
11
+ return this.data;
12
+ }
13
+ }
14
+ exports.Static = Static;
15
+ //# sourceMappingURL=Static.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Static.js","sourceRoot":"","sources":["../../../src/Builder/Static.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AAEnC,MAAa,MAAO,SAAQ,gBAAO;IACjC,YAAoB,IAA8B;QAChD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QADK,SAAI,GAAJ,IAAI,CAA0B;IAElD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AARD,wBAQC"}
@@ -0,0 +1,21 @@
1
+ import { Builder as CommonBuilder } from './Common';
2
+ import { Prop as PropBuilder } from './Prop';
3
+ import type { THandle, TObject, TOptions, TChild, TPattern } from '../types';
4
+ import { Pattern as PatternBuilder } from './Pattern';
5
+ import { Static as StaticBuilder } from './Static';
6
+ import { PropertyManager } from '../PropertyManager';
7
+ import { Provider as ProviderBuilder } from './Provider';
8
+ import { Parser as ParseBuilder } from './Parse';
9
+ declare class Builder {
10
+ static Prop(key: string, property: string, options?: TOptions): PropBuilder;
11
+ static Prop(key: string, object?: TObject, options?: TOptions): PropBuilder;
12
+ static Prop(key: string | string[], handle?: THandle, options?: TOptions): PropBuilder;
13
+ static Pattern(pattern: string, values: Record<string, string | number>): PatternBuilder;
14
+ static Static(data: TObject): StaticBuilder;
15
+ static Child(name: string): TChild<PropertyManager>;
16
+ static Provider(name: string, handle: (data: any) => CommonBuilder): ProviderBuilder;
17
+ static Parse(pattern: TPattern, toData: (value: string) => Record<string, any>): ParseBuilder;
18
+ }
19
+ export declare const Prop: typeof Builder.Prop, Pattern: typeof Builder.Pattern, Static: typeof Builder.Static, Child: typeof Builder.Child, Provider: typeof Builder.Provider, Parse: typeof Builder.Parse;
20
+ export {};
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAEjD,cAAM,OAAO;IACX,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW;IAC3E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW;IAC3E,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW;IAUtF,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,cAAc;IAIxF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa;IAI3C,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;IAInD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,aAAa,GAAG,eAAe;IAIpF,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,YAAY;CAG9F;AAED,eAAO,MAAQ,IAAI,uBAAE,OAAO,0BAAE,MAAM,yBAAE,KAAK,wBAAE,QAAQ,2BAAE,KAAK,sBAAY,CAAC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Parse = exports.Provider = exports.Child = exports.Static = exports.Pattern = exports.Prop = void 0;
4
+ const Prop_1 = require("./Prop");
5
+ const Pattern_1 = require("./Pattern");
6
+ const Static_1 = require("./Static");
7
+ const PropertyManager_1 = require("../PropertyManager");
8
+ const Provider_1 = require("./Provider");
9
+ const Parse_1 = require("./Parse");
10
+ class Builder {
11
+ static Prop(key, extractor, options) {
12
+ const keys = Array.isArray(key) ? key : [key];
13
+ return new Prop_1.Prop(keys, extractor, options);
14
+ }
15
+ static Pattern(pattern, values) {
16
+ return new Pattern_1.Pattern(pattern, values);
17
+ }
18
+ static Static(data) {
19
+ return new Static_1.Static(data);
20
+ }
21
+ static Child(name) {
22
+ return new PropertyManager_1.PropertyManager(name);
23
+ }
24
+ static Provider(name, handle) {
25
+ return new Provider_1.Provider(name, handle);
26
+ }
27
+ static Parse(pattern, toData) {
28
+ return new Parse_1.Parser(pattern, toData);
29
+ }
30
+ }
31
+ exports.Prop = Builder.Prop, exports.Pattern = Builder.Pattern, exports.Static = Builder.Static, exports.Child = Builder.Child, exports.Provider = Builder.Provider, exports.Parse = Builder.Parse;
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Builder/index.ts"],"names":[],"mappings":";;;AACA,iCAA6C;AAE7C,uCAAsD;AACtD,qCAAmD;AACnD,wDAAqD;AACrD,yCAAyD;AACzD,mCAAiD;AAEjD,MAAM,OAAO;IAIX,MAAM,CAAC,IAAI,CACT,GAAsB,EACtB,SAAsC,EACtC,OAAkB;QAElB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9C,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,MAAuC;QACrE,OAAO,IAAI,iBAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,IAAa;QACzB,OAAO,IAAI,eAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,OAAO,IAAI,iCAAe,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAY,EAAE,MAAoC;QAChE,OAAO,IAAI,mBAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAiB,EAAE,MAA8C;QAC5E,OAAO,IAAI,cAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;CACF;AAEc,YAAI,GAA8C,OAAO,OAAnD,eAAO,GAAqC,OAAO,UAA1C,cAAM,GAA6B,OAAO,SAAlC,aAAK,GAAsB,OAAO,QAA3B,gBAAQ,GAAY,OAAO,WAAjB,aAAK,GAAK,OAAO,OAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/Builder/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/Builder/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export declare class DataProvider {
2
+ private getter;
3
+ private static providers;
4
+ static has(name: string): boolean;
5
+ static get(name: string): Record<string, unknown>;
6
+ static add(name: string, getter: () => Record<string, unknown>, unsubscribe?: (() => void) | undefined): DataProvider | undefined;
7
+ private unsubscribe;
8
+ constructor(getter: () => Record<string, unknown>, unsubscribe?: (() => void) | undefined);
9
+ private update;
10
+ get(): Record<string, unknown>;
11
+ }
12
+ //# sourceMappingURL=DataProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataProvider.d.ts","sourceRoot":"","sources":["../../src/DataProvider.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IAoCrB,OAAO,CAAC,MAAM;IAnChB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAmC;IAE3D,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM;IAIvB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM;IAUvB,MAAM,CAAC,GAAG,CACR,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,WAAW,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IAaxC,OAAO,CAAC,WAAW,CAA2B;gBAGpC,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7C,WAAW,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IAKxC,OAAO,CAAC,MAAM;IAMd,GAAG;CAGJ"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataProvider = void 0;
4
+ class DataProvider {
5
+ static has(name) {
6
+ return DataProvider.providers.has(name);
7
+ }
8
+ static get(name) {
9
+ if (!this.providers.has(name)) {
10
+ return {};
11
+ }
12
+ return this.providers.get(name).get();
13
+ }
14
+ static add(name, getter, unsubscribe) {
15
+ if (this.providers.has(name)) {
16
+ const provider = this.providers.get(name);
17
+ provider.update(getter, unsubscribe);
18
+ return provider;
19
+ }
20
+ const provider = new DataProvider(getter, unsubscribe);
21
+ this.providers.set(name, provider);
22
+ return provider;
23
+ }
24
+ constructor(getter, unsubscribe) {
25
+ this.getter = getter;
26
+ this.unsubscribe = unsubscribe;
27
+ }
28
+ update(getter, unsubscribe) {
29
+ var _a;
30
+ (_a = this.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(this);
31
+ this.unsubscribe = unsubscribe;
32
+ this.getter = getter;
33
+ }
34
+ get() {
35
+ return this.getter();
36
+ }
37
+ }
38
+ exports.DataProvider = DataProvider;
39
+ DataProvider.providers = new Map();
40
+ //# sourceMappingURL=DataProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataProvider.js","sourceRoot":"","sources":["../../src/DataProvider.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IAGvB,MAAM,CAAC,GAAG,CAAC,IAAY;QACrB,OAAO,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,IAAY;QACrB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAI9B,OAAO,EAA6B,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,GAAG,CACR,IAAY,EACZ,MAAqC,EACrC,WAAsC;QAEtC,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,QAAS,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACtC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAID,YACU,MAAqC,EAC7C,WAAsC;QAD9B,WAAM,GAAN,MAAM,CAA+B;QAG7C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEO,MAAM,CAAC,MAAqC,EAAE,WAAqC;;QACzF,MAAA,IAAI,CAAC,WAAW,oDAAI,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;;AAlDH,oCAmDC;AAlDgB,sBAAS,GAAG,IAAI,GAAG,EAAwB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { Builder } from './Builder/Common';
2
+ import type { TGetResult, TChild } from './types';
3
+ import { DataProvider } from './DataProvider';
4
+ export declare class PropertyManager {
5
+ readonly name: string;
6
+ private static instances;
7
+ private static getInstance;
8
+ private readonly properties;
9
+ private builders;
10
+ private extendManagers;
11
+ private childNodes;
12
+ private providerDependentNames;
13
+ private initialized;
14
+ constructor(name: string);
15
+ static create(name: string): PropertyManager;
16
+ private registrar;
17
+ private register;
18
+ private init;
19
+ extends(...managers: string[]): PropertyManager;
20
+ styles(...builders: Builder[]): this;
21
+ props(...builders: Builder[]): this;
22
+ child(...nodes: TChild<PropertyManager>[]): this;
23
+ getForEntity(type: 'styles' | 'props', props: Map<string, unknown>): Record<string, unknown>;
24
+ get({ style: overrideStyle, ...props }: Record<string, unknown>, isInherited?: boolean): TGetResult;
25
+ static registerProvider(name: string, getter: () => Record<string, unknown>, subscribe?: (onChange: () => void) => () => void): DataProvider | undefined;
26
+ private static update;
27
+ private update;
28
+ private notify;
29
+ private subscriptions;
30
+ subscribe(onChange: () => void): () => void;
31
+ }
32
+ //# sourceMappingURL=PropertyManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyManager.d.ts","sourceRoot":"","sources":["../../src/PropertyManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,eAAe;aAkCE,IAAI,EAAE,MAAM;IAjCxC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAsC;IAE9D,OAAO,CAAC,MAAM,CAAC,WAAW;IAe1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAIzB;IAEF,OAAO,CAAC,QAAQ,CAA8C;IAE9D,OAAO,CAAC,cAAc,CAA0B;IAEhD,OAAO,CAAC,UAAU,CAA2C;IAE7D,OAAO,CAAC,sBAAsB,CAAqB;IAEnD,OAAO,CAAC,WAAW,CAAS;gBAEA,IAAI,EAAE,MAAM;IAExC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe;IAM5C,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,eAAe;IAO/C,MAAM,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE;IAK7B,KAAK,CAAC,GAAG,QAAQ,EAAE,OAAO,EAAE;IAK5B,KAAK,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE;IAQzC,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAclE,GAAG,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,UAAQ;IA8EpF,MAAM,CAAC,gBAAgB,CACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI;IASlD,OAAO,CAAC,MAAM,CAAC,MAAM;IA4CrB,OAAO,CAAC,MAAM;IAad,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,aAAa,CAAyB;IAE9C,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI;CAqG/B"}