@visactor/vutils 0.18.0-alpha.0 → 0.18.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/cjs/color/Color.d.ts +162 -1
  2. package/cjs/color/Color.js +216 -9
  3. package/cjs/color/Color.js.map +1 -1
  4. package/cjs/color/index.d.ts +1 -4
  5. package/cjs/color/index.js +9 -9
  6. package/cjs/color/index.js.map +1 -1
  7. package/cjs/color/interpolate.d.ts +1 -1
  8. package/cjs/color/interpolate.js +2 -2
  9. package/cjs/color/interpolate.js.map +1 -1
  10. package/cjs/common/ascending.js +1 -2
  11. package/cjs/common/debounce.js +2 -1
  12. package/cjs/common/isArrayLike.js +1 -2
  13. package/cjs/common/isNull.js +2 -1
  14. package/cjs/common/isShallowEqual.js +1 -2
  15. package/cjs/common/isString.js +1 -1
  16. package/cjs/common/isType.js +1 -1
  17. package/cjs/common/isUndefined.js +1 -1
  18. package/cjs/common/isValid.js +1 -1
  19. package/cjs/common/isValidNumber.js +1 -1
  20. package/cjs/common/isValidUrl.js +1 -1
  21. package/cjs/common/lowerFirst.js +1 -1
  22. package/cjs/data-structure/bounds.js +1 -1
  23. package/cjs/data-structure/hashTable.d.ts +35 -0
  24. package/cjs/data-structure/hashTable.js +115 -0
  25. package/cjs/data-structure/hashTable.js.map +1 -0
  26. package/cjs/data-structure/index.d.ts +1 -0
  27. package/cjs/data-structure/index.js +3 -3
  28. package/cjs/data-structure/index.js.map +1 -1
  29. package/cjs/data-structure/matrix.js +1 -1
  30. package/cjs/data-structure/point.d.ts +1 -1
  31. package/cjs/data-structure/point.js +6 -7
  32. package/cjs/data-structure/point.js.map +1 -1
  33. package/cjs/format/number/formatDecimal.d.ts +2 -0
  34. package/cjs/format/number/formatDecimal.js +18 -0
  35. package/cjs/format/number/formatDecimal.js.map +1 -0
  36. package/cjs/format/number/formatGroup.d.ts +1 -0
  37. package/cjs/format/number/formatGroup.js +17 -0
  38. package/cjs/format/number/formatGroup.js.map +1 -0
  39. package/cjs/format/number/formatPrefixAuto.d.ts +2 -0
  40. package/cjs/format/number/formatPrefixAuto.js +18 -0
  41. package/cjs/format/number/formatPrefixAuto.js.map +1 -0
  42. package/cjs/format/number/formatRounded.d.ts +1 -0
  43. package/cjs/format/number/formatRounded.js +17 -0
  44. package/cjs/format/number/formatRounded.js.map +1 -0
  45. package/cjs/format/number/formatTrim.d.ts +1 -0
  46. package/cjs/format/number/formatTrim.js +25 -0
  47. package/cjs/format/number/formatTrim.js.map +1 -0
  48. package/cjs/format/number/index.d.ts +2 -0
  49. package/cjs/format/number/index.js +21 -0
  50. package/cjs/format/number/index.js.map +1 -0
  51. package/cjs/format/number/number.d.ts +53 -0
  52. package/cjs/format/number/number.js +121 -0
  53. package/cjs/format/number/number.js.map +1 -0
  54. package/cjs/format/number/specifier.d.ts +28 -0
  55. package/cjs/format/number/specifier.js +41 -0
  56. package/cjs/format/number/specifier.js.map +1 -0
  57. package/cjs/format/time.d.ts +79 -0
  58. package/cjs/format/time.js +204 -0
  59. package/cjs/format/time.js.map +1 -0
  60. package/cjs/graphics/algorithm/index.d.ts +1 -0
  61. package/cjs/graphics/algorithm/index.js +2 -1
  62. package/cjs/graphics/algorithm/index.js.map +1 -1
  63. package/cjs/graphics/graph-util.d.ts +23 -0
  64. package/cjs/graphics/graph-util.js +47 -0
  65. package/cjs/graphics/graph-util.js.map +1 -0
  66. package/cjs/graphics/index.d.ts +1 -1
  67. package/cjs/graphics/index.js +2 -2
  68. package/cjs/graphics/index.js.map +1 -1
  69. package/cjs/graphics/text/measure/textMeasure.js +1 -1
  70. package/cjs/graphics/text/measure/textMeasure.js.map +1 -1
  71. package/cjs/index.d.ts +3 -0
  72. package/cjs/index.js +8 -6
  73. package/cjs/index.js.map +1 -1
  74. package/cjs/lru.d.ts +25 -0
  75. package/cjs/lru.js +45 -0
  76. package/cjs/lru.js.map +1 -0
  77. package/dist/index.js +1140 -139
  78. package/dist/index.min.js +1 -1
  79. package/es/color/Color.d.ts +162 -1
  80. package/es/color/Color.js +205 -8
  81. package/es/color/Color.js.map +1 -1
  82. package/es/color/index.d.ts +1 -4
  83. package/es/color/index.js +1 -7
  84. package/es/color/index.js.map +1 -1
  85. package/es/color/interpolate.d.ts +1 -1
  86. package/es/color/interpolate.js +1 -1
  87. package/es/color/interpolate.js.map +1 -1
  88. package/es/common/ascending.js +1 -2
  89. package/es/common/debounce.js +2 -1
  90. package/es/common/isArrayLike.js +1 -2
  91. package/es/common/isNull.js +2 -1
  92. package/es/common/isShallowEqual.js +1 -2
  93. package/es/common/isString.js +1 -1
  94. package/es/common/isType.js +1 -1
  95. package/es/common/isUndefined.js +1 -1
  96. package/es/common/isValid.js +1 -1
  97. package/es/common/isValidNumber.js +1 -1
  98. package/es/common/isValidUrl.js +1 -1
  99. package/es/common/lowerFirst.js +1 -1
  100. package/es/data-structure/bounds.js +1 -1
  101. package/es/data-structure/hashTable.d.ts +35 -0
  102. package/es/data-structure/hashTable.js +105 -0
  103. package/es/data-structure/hashTable.js.map +1 -0
  104. package/es/data-structure/index.d.ts +1 -0
  105. package/es/data-structure/index.js +3 -1
  106. package/es/data-structure/index.js.map +1 -1
  107. package/es/data-structure/matrix.js +1 -1
  108. package/es/data-structure/point.d.ts +1 -1
  109. package/es/data-structure/point.js +4 -5
  110. package/es/data-structure/point.js.map +1 -1
  111. package/es/format/number/formatDecimal.d.ts +2 -0
  112. package/es/format/number/formatDecimal.js +11 -0
  113. package/es/format/number/formatDecimal.js.map +1 -0
  114. package/es/format/number/formatGroup.d.ts +1 -0
  115. package/es/format/number/formatGroup.js +11 -0
  116. package/es/format/number/formatGroup.js.map +1 -0
  117. package/es/format/number/formatPrefixAuto.d.ts +2 -0
  118. package/es/format/number/formatPrefixAuto.js +11 -0
  119. package/es/format/number/formatPrefixAuto.js.map +1 -0
  120. package/es/format/number/formatRounded.d.ts +1 -0
  121. package/es/format/number/formatRounded.js +9 -0
  122. package/es/format/number/formatRounded.js.map +1 -0
  123. package/es/format/number/formatTrim.d.ts +1 -0
  124. package/es/format/number/formatTrim.js +19 -0
  125. package/es/format/number/formatTrim.js.map +1 -0
  126. package/es/format/number/index.d.ts +2 -0
  127. package/es/format/number/index.js +4 -0
  128. package/es/format/number/index.js.map +1 -0
  129. package/es/format/number/number.d.ts +53 -0
  130. package/es/format/number/number.js +125 -0
  131. package/es/format/number/number.js.map +1 -0
  132. package/es/format/number/specifier.d.ts +28 -0
  133. package/es/format/number/specifier.js +34 -0
  134. package/es/format/number/specifier.js.map +1 -0
  135. package/es/format/time.d.ts +79 -0
  136. package/es/format/time.js +196 -0
  137. package/es/format/time.js.map +1 -0
  138. package/es/graphics/algorithm/index.d.ts +1 -0
  139. package/es/graphics/algorithm/index.js +2 -0
  140. package/es/graphics/algorithm/index.js.map +1 -1
  141. package/es/graphics/graph-util.d.ts +23 -0
  142. package/es/graphics/graph-util.js +39 -0
  143. package/es/graphics/graph-util.js.map +1 -0
  144. package/es/graphics/index.d.ts +1 -1
  145. package/es/graphics/index.js +2 -2
  146. package/es/graphics/index.js.map +1 -1
  147. package/es/graphics/text/measure/textMeasure.js +1 -1
  148. package/es/graphics/text/measure/textMeasure.js.map +1 -1
  149. package/es/index.d.ts +3 -0
  150. package/es/index.js +6 -0
  151. package/es/index.js.map +1 -1
  152. package/es/lru.d.ts +25 -0
  153. package/es/lru.js +37 -0
  154. package/es/lru.js.map +1 -0
  155. package/package.json +3 -3
  156. package/cjs/color/defaultColors.d.ts +0 -150
  157. package/cjs/color/defaultColors.js +0 -155
  158. package/cjs/color/defaultColors.js.map +0 -1
  159. package/cjs/color/numberToHex.d.ts +0 -1
  160. package/cjs/color/numberToHex.js +0 -10
  161. package/cjs/color/numberToHex.js.map +0 -1
  162. package/cjs/color/numberToRgb.d.ts +0 -3
  163. package/cjs/color/numberToRgb.js +0 -20
  164. package/cjs/color/numberToRgb.js.map +0 -1
  165. package/cjs/color/parseColorString.d.ts +0 -3
  166. package/cjs/color/parseColorString.js +0 -38
  167. package/cjs/color/parseColorString.js.map +0 -1
  168. package/cjs/color/rgb.d.ts +0 -11
  169. package/cjs/color/rgb.js +0 -37
  170. package/cjs/color/rgb.js.map +0 -1
  171. package/cjs/graphics/distance.d.ts +0 -4
  172. package/cjs/graphics/distance.js +0 -22
  173. package/cjs/graphics/distance.js.map +0 -1
  174. package/es/color/defaultColors.d.ts +0 -150
  175. package/es/color/defaultColors.js +0 -151
  176. package/es/color/defaultColors.js.map +0 -1
  177. package/es/color/numberToHex.d.ts +0 -1
  178. package/es/color/numberToHex.js +0 -4
  179. package/es/color/numberToHex.js.map +0 -1
  180. package/es/color/numberToRgb.d.ts +0 -3
  181. package/es/color/numberToRgb.js +0 -12
  182. package/es/color/numberToRgb.js.map +0 -1
  183. package/es/color/parseColorString.d.ts +0 -3
  184. package/es/color/parseColorString.js +0 -34
  185. package/es/color/parseColorString.js.map +0 -1
  186. package/es/color/rgb.d.ts +0 -11
  187. package/es/color/rgb.js +0 -26
  188. package/es/color/rgb.js.map +0 -1
  189. package/es/graphics/distance.d.ts +0 -4
  190. package/es/graphics/distance.js +0 -14
  191. package/es/graphics/distance.js.map +0 -1
package/es/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import EventEmitter from 'eventemitter3';
2
2
  export { EventEmitter };
3
3
  export * from './common';
4
4
  export * from './data-structure';
5
+ export * from './lru';
5
6
  export * from './math';
6
7
  export * from './angle';
7
8
  export * as ColorUtil from './color';
@@ -13,3 +14,5 @@ export * from './time';
13
14
  export * from './dom';
14
15
  export * from './geo';
15
16
  export * from './color';
17
+ export * from './format/time';
18
+ export * from './format/number';
package/es/index.js CHANGED
@@ -6,6 +6,8 @@ export * from "./common";
6
6
 
7
7
  export * from "./data-structure";
8
8
 
9
+ export * from "./lru";
10
+
9
11
  export * from "./math";
10
12
 
11
13
  export * from "./angle";
@@ -29,4 +31,8 @@ export * from "./dom";
29
31
  export * from "./geo";
30
32
 
31
33
  export * from "./color";
34
+
35
+ export * from "./format/time";
36
+
37
+ export * from "./format/number";
32
38
  //# sourceMappingURL=index.js.map
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAQzC,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,cAAc,UAAU,CAAC;AAGzB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,QAAQ,CAAC;AAGvB,cAAc,SAAS,CAAC;6BAIG,SAAS;wBAAxB,SAAS;AAGrB,cAAc,YAAY,CAAC;AAG3B,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAE1B,cAAc,QAAQ,CAAC;AAGvB,cAAc,OAAO,CAAC;AAEtB,cAAc,OAAO,CAAC;AAEtB,cAAc,SAAS,CAAC","file":"index.js","sourcesContent":["import EventEmitter from 'eventemitter3';\n\n/**\n * A high performance event emitter\n * @see {@link https://github.com/primus/eventemitter3}\n * @memberof PIXI.utils\n * @class EventEmitter\n */\nexport { EventEmitter };\n\nexport * from './common';\n\n// data structure\nexport * from './data-structure';\n\n// math\nexport * from './math';\n\n// angle\nexport * from './angle';\n\n// color\n// TODO: 后续删除这个导出,避免引入不需要的内容\nexport * as ColorUtil from './color';\n\n// methods about graphics\nexport * from './graphics';\n\n// type\nexport * from './type';\n\n// log\nexport * from './logger';\n\n// padding\nexport * from './padding';\n\nexport * from './time';\n\n// dom\nexport * from './dom';\n\nexport * from './geo';\n\nexport * from './color';\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAQzC,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,cAAc,UAAU,CAAC;AAGzB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,OAAO,CAAC;AAGtB,cAAc,QAAQ,CAAC;AAGvB,cAAc,SAAS,CAAC;6BAIG,SAAS;wBAAxB,SAAS;AAGrB,cAAc,YAAY,CAAC;AAG3B,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAE1B,cAAc,QAAQ,CAAC;AAGvB,cAAc,OAAO,CAAC;AAEtB,cAAc,OAAO,CAAC;AAEtB,cAAc,SAAS,CAAC;AAExB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC","file":"index.js","sourcesContent":["import EventEmitter from 'eventemitter3';\n\n/**\n * A high performance event emitter\n * @see {@link https://github.com/primus/eventemitter3}\n * @memberof PIXI.utils\n * @class EventEmitter\n */\nexport { EventEmitter };\n\nexport * from './common';\n\n// data structure\nexport * from './data-structure';\n\n// algorithm\nexport * from './lru';\n\n// math\nexport * from './math';\n\n// angle\nexport * from './angle';\n\n// color\n// TODO: 后续删除这个导出,避免引入不需要的内容\nexport * as ColorUtil from './color';\n\n// methods about graphics\nexport * from './graphics';\n\n// type\nexport * from './type';\n\n// log\nexport * from './logger';\n\n// padding\nexport * from './padding';\n\nexport * from './time';\n\n// dom\nexport * from './dom';\n\nexport * from './geo';\n\nexport * from './color';\n\nexport * from './format/time';\nexport * from './format/number';\n"]}
package/es/lru.d.ts ADDED
@@ -0,0 +1,25 @@
1
+ interface Threshold {
2
+ CLEAN_THRESHOLD?: number;
3
+ L_TIME?: number;
4
+ R_COUNT?: number;
5
+ R_TIMESTAMP_MAX_SIZE?: number;
6
+ }
7
+ export declare class LRU {
8
+ private CLEAN_THRESHOLD;
9
+ private L_TIME;
10
+ private R_COUNT;
11
+ private R_TIMESTAMP_MAX_SIZE;
12
+ clearCache<TK, TV extends {
13
+ timestamp: number[];
14
+ }>(cache: Map<TK, TV>, params: Threshold): number;
15
+ addLimitedTimestamp<T extends {
16
+ timestamp: number[];
17
+ }>(cacheItem: T, t: number, params: Threshold): void;
18
+ clearTimeStamp<TK, TV extends {
19
+ timestamp: number[];
20
+ }>(cache: Map<TK, TV>, params: Threshold): void;
21
+ clearItemTimestamp<T extends {
22
+ timestamp: number[];
23
+ }>(cacheItem: T, params: Threshold): void;
24
+ }
25
+ export {};
package/es/lru.js ADDED
@@ -0,0 +1,37 @@
1
+ export class LRU {
2
+ constructor() {
3
+ this.CLEAN_THRESHOLD = 1e3, this.L_TIME = 1e3, this.R_COUNT = 1, this.R_TIMESTAMP_MAX_SIZE = 20;
4
+ }
5
+ clearCache(cache, params) {
6
+ const {CLEAN_THRESHOLD: CLEAN_THRESHOLD = this.CLEAN_THRESHOLD, L_TIME: L_TIME = this.L_TIME, R_COUNT: R_COUNT = this.R_COUNT} = params;
7
+ if (cache.size < CLEAN_THRESHOLD) return 0;
8
+ let clearNum = 0;
9
+ const clear = key => {
10
+ clearNum++, cache.delete(key);
11
+ }, now = Date.now();
12
+ return cache.forEach(((item, key) => {
13
+ if (item.timestamp.length < R_COUNT) return clear(key);
14
+ let useCount = 0;
15
+ for (;now - item.timestamp[item.timestamp.length - 1 - useCount] < L_TIME && (useCount++,
16
+ !(useCount >= R_COUNT)); ) ;
17
+ if (useCount < R_COUNT) return clear(key);
18
+ for (;now - item.timestamp[0] > L_TIME; ) item.timestamp.shift();
19
+ })), clearNum;
20
+ }
21
+ addLimitedTimestamp(cacheItem, t, params) {
22
+ const {R_TIMESTAMP_MAX_SIZE: R_TIMESTAMP_MAX_SIZE = this.R_TIMESTAMP_MAX_SIZE} = params;
23
+ cacheItem.timestamp.length > R_TIMESTAMP_MAX_SIZE && cacheItem.timestamp.shift(),
24
+ cacheItem.timestamp.push(t);
25
+ }
26
+ clearTimeStamp(cache, params) {
27
+ const {L_TIME: L_TIME = this.L_TIME} = params, now = Date.now();
28
+ cache.forEach((item => {
29
+ for (;now - item.timestamp[0] > L_TIME; ) item.timestamp.shift();
30
+ }));
31
+ }
32
+ clearItemTimestamp(cacheItem, params) {
33
+ const {L_TIME: L_TIME = this.L_TIME} = params, now = Date.now();
34
+ for (;now - cacheItem.timestamp[0] > L_TIME; ) cacheItem.timestamp.shift();
35
+ }
36
+ }
37
+ //# sourceMappingURL=lru.js.map
package/es/lru.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lru.ts"],"names":[],"mappings":"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","file":"lru.js","sourcesContent":["interface Threshold {\n CLEAN_THRESHOLD?: number;\n L_TIME?: number;\n R_COUNT?: number;\n R_TIMESTAMP_MAX_SIZE?: number;\n}\n// LRU清除\nexport class LRU {\n private CLEAN_THRESHOLD = 1e3;\n private L_TIME = 1000; // 1000ms以内\n private R_COUNT = 1; // 使用次数为0\n private R_TIMESTAMP_MAX_SIZE = 20; // timestamp最大长度\n\n clearCache<TK, TV extends { timestamp: number[] }>(cache: Map<TK, TV>, params: Threshold): number {\n const { CLEAN_THRESHOLD = this.CLEAN_THRESHOLD, L_TIME = this.L_TIME, R_COUNT = this.R_COUNT } = params;\n if (cache.size < CLEAN_THRESHOLD) {\n return 0;\n }\n // 开始清理,清理最近1000ms内使用次数为0的缓存\n let clearNum = 0;\n const clear = (key: TK) => {\n clearNum++;\n cache.delete(key);\n };\n const now = Date.now();\n cache.forEach((item, key) => {\n if (item.timestamp.length < R_COUNT) {\n return clear(key);\n } // 最近使用次数小于R_COUNT,清除\n let useCount = 0;\n while (now - item.timestamp[item.timestamp.length - 1 - useCount] < L_TIME) {\n useCount++;\n if (useCount >= R_COUNT) {\n break;\n }\n }\n if (useCount < R_COUNT) {\n return clear(key);\n } // 最近L_TIME以内使用次数小于R_COUNT,清除\n // 清除L_TIME以外的key,避免数组过长\n while (now - item.timestamp[0] > L_TIME) {\n item.timestamp.shift();\n }\n return;\n });\n return clearNum;\n }\n\n addLimitedTimestamp<T extends { timestamp: number[] }>(cacheItem: T, t: number, params: Threshold) {\n const { R_TIMESTAMP_MAX_SIZE = this.R_TIMESTAMP_MAX_SIZE } = params;\n if (cacheItem.timestamp.length > R_TIMESTAMP_MAX_SIZE) {\n // cacheItem.timestamp[cacheItem.timestamp.length-1] =\n cacheItem.timestamp.shift();\n }\n cacheItem.timestamp.push(t);\n }\n\n clearTimeStamp<TK, TV extends { timestamp: number[] }>(cache: Map<TK, TV>, params: Threshold) {\n const { L_TIME = this.L_TIME } = params;\n const now = Date.now();\n cache.forEach(item => {\n while (now - item.timestamp[0] > L_TIME) {\n item.timestamp.shift();\n }\n });\n }\n\n clearItemTimestamp<T extends { timestamp: number[] }>(cacheItem: T, params: Threshold) {\n const { L_TIME = this.L_TIME } = params;\n const now = Date.now();\n while (now - cacheItem.timestamp[0] > L_TIME) {\n cacheItem.timestamp.shift();\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vutils",
3
- "version": "0.18.0-alpha.0",
3
+ "version": "0.18.0-alpha.2",
4
4
  "main": "cjs/index.js",
5
5
  "module": "es/index.js",
6
6
  "types": "es/index.d.ts",
@@ -28,9 +28,9 @@
28
28
  "typescript": "4.9.5",
29
29
  "@types/node": "*",
30
30
  "@internal/bundler": "0.0.1",
31
- "@internal/eslint-config": "0.0.1",
32
31
  "@internal/ts-config": "0.0.1",
33
- "@internal/jest-config": "0.0.1"
32
+ "@internal/jest-config": "0.0.1",
33
+ "@internal/eslint-config": "0.0.1"
34
34
  },
35
35
  "dependencies": {
36
36
  "eventemitter3": "^4.0.7",
@@ -1,150 +0,0 @@
1
- export declare const DEFAULT_COLORS: {
2
- aliceblue: number;
3
- antiquewhite: number;
4
- aqua: number;
5
- aquamarine: number;
6
- azure: number;
7
- beige: number;
8
- bisque: number;
9
- black: number;
10
- blanchedalmond: number;
11
- blue: number;
12
- blueviolet: number;
13
- brown: number;
14
- burlywood: number;
15
- cadetblue: number;
16
- chartreuse: number;
17
- chocolate: number;
18
- coral: number;
19
- cornflowerblue: number;
20
- cornsilk: number;
21
- crimson: number;
22
- cyan: number;
23
- darkblue: number;
24
- darkcyan: number;
25
- darkgoldenrod: number;
26
- darkgray: number;
27
- darkgreen: number;
28
- darkgrey: number;
29
- darkkhaki: number;
30
- darkmagenta: number;
31
- darkolivegreen: number;
32
- darkorange: number;
33
- darkorchid: number;
34
- darkred: number;
35
- darksalmon: number;
36
- darkseagreen: number;
37
- darkslateblue: number;
38
- darkslategray: number;
39
- darkslategrey: number;
40
- darkturquoise: number;
41
- darkviolet: number;
42
- deeppink: number;
43
- deepskyblue: number;
44
- dimgray: number;
45
- dimgrey: number;
46
- dodgerblue: number;
47
- firebrick: number;
48
- floralwhite: number;
49
- forestgreen: number;
50
- fuchsia: number;
51
- gainsboro: number;
52
- ghostwhite: number;
53
- gold: number;
54
- goldenrod: number;
55
- gray: number;
56
- green: number;
57
- greenyellow: number;
58
- grey: number;
59
- honeydew: number;
60
- hotpink: number;
61
- indianred: number;
62
- indigo: number;
63
- ivory: number;
64
- khaki: number;
65
- lavender: number;
66
- lavenderblush: number;
67
- lawngreen: number;
68
- lemonchiffon: number;
69
- lightblue: number;
70
- lightcoral: number;
71
- lightcyan: number;
72
- lightgoldenrodyellow: number;
73
- lightgray: number;
74
- lightgreen: number;
75
- lightgrey: number;
76
- lightpink: number;
77
- lightsalmon: number;
78
- lightseagreen: number;
79
- lightskyblue: number;
80
- lightslategray: number;
81
- lightslategrey: number;
82
- lightsteelblue: number;
83
- lightyellow: number;
84
- lime: number;
85
- limegreen: number;
86
- linen: number;
87
- magenta: number;
88
- maroon: number;
89
- mediumaquamarine: number;
90
- mediumblue: number;
91
- mediumorchid: number;
92
- mediumpurple: number;
93
- mediumseagreen: number;
94
- mediumslateblue: number;
95
- mediumspringgreen: number;
96
- mediumturquoise: number;
97
- mediumvioletred: number;
98
- midnightblue: number;
99
- mintcream: number;
100
- mistyrose: number;
101
- moccasin: number;
102
- navajowhite: number;
103
- navy: number;
104
- oldlace: number;
105
- olive: number;
106
- olivedrab: number;
107
- orange: number;
108
- orangered: number;
109
- orchid: number;
110
- palegoldenrod: number;
111
- palegreen: number;
112
- paleturquoise: number;
113
- palevioletred: number;
114
- papayawhip: number;
115
- peachpuff: number;
116
- peru: number;
117
- pink: number;
118
- plum: number;
119
- powderblue: number;
120
- purple: number;
121
- rebeccapurple: number;
122
- red: number;
123
- rosybrown: number;
124
- royalblue: number;
125
- saddlebrown: number;
126
- salmon: number;
127
- sandybrown: number;
128
- seagreen: number;
129
- seashell: number;
130
- sienna: number;
131
- silver: number;
132
- skyblue: number;
133
- slateblue: number;
134
- slategray: number;
135
- slategrey: number;
136
- snow: number;
137
- springgreen: number;
138
- steelblue: number;
139
- tan: number;
140
- teal: number;
141
- thistle: number;
142
- tomato: number;
143
- turquoise: number;
144
- violet: number;
145
- wheat: number;
146
- white: number;
147
- whitesmoke: number;
148
- yellow: number;
149
- yellowgreen: number;
150
- };
@@ -1,155 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.DEFAULT_COLORS = void 0, exports.DEFAULT_COLORS = {
6
- aliceblue: 15792383,
7
- antiquewhite: 16444375,
8
- aqua: 65535,
9
- aquamarine: 8388564,
10
- azure: 15794175,
11
- beige: 16119260,
12
- bisque: 16770244,
13
- black: 0,
14
- blanchedalmond: 16772045,
15
- blue: 255,
16
- blueviolet: 9055202,
17
- brown: 10824234,
18
- burlywood: 14596231,
19
- cadetblue: 6266528,
20
- chartreuse: 8388352,
21
- chocolate: 13789470,
22
- coral: 16744272,
23
- cornflowerblue: 6591981,
24
- cornsilk: 16775388,
25
- crimson: 14423100,
26
- cyan: 65535,
27
- darkblue: 139,
28
- darkcyan: 35723,
29
- darkgoldenrod: 12092939,
30
- darkgray: 11119017,
31
- darkgreen: 25600,
32
- darkgrey: 11119017,
33
- darkkhaki: 12433259,
34
- darkmagenta: 9109643,
35
- darkolivegreen: 5597999,
36
- darkorange: 16747520,
37
- darkorchid: 10040012,
38
- darkred: 9109504,
39
- darksalmon: 15308410,
40
- darkseagreen: 9419919,
41
- darkslateblue: 4734347,
42
- darkslategray: 3100495,
43
- darkslategrey: 3100495,
44
- darkturquoise: 52945,
45
- darkviolet: 9699539,
46
- deeppink: 16716947,
47
- deepskyblue: 49151,
48
- dimgray: 6908265,
49
- dimgrey: 6908265,
50
- dodgerblue: 2003199,
51
- firebrick: 11674146,
52
- floralwhite: 16775920,
53
- forestgreen: 2263842,
54
- fuchsia: 16711935,
55
- gainsboro: 14474460,
56
- ghostwhite: 16316671,
57
- gold: 16766720,
58
- goldenrod: 14329120,
59
- gray: 8421504,
60
- green: 32768,
61
- greenyellow: 11403055,
62
- grey: 8421504,
63
- honeydew: 15794160,
64
- hotpink: 16738740,
65
- indianred: 13458524,
66
- indigo: 4915330,
67
- ivory: 16777200,
68
- khaki: 15787660,
69
- lavender: 15132410,
70
- lavenderblush: 16773365,
71
- lawngreen: 8190976,
72
- lemonchiffon: 16775885,
73
- lightblue: 11393254,
74
- lightcoral: 15761536,
75
- lightcyan: 14745599,
76
- lightgoldenrodyellow: 16448210,
77
- lightgray: 13882323,
78
- lightgreen: 9498256,
79
- lightgrey: 13882323,
80
- lightpink: 16758465,
81
- lightsalmon: 16752762,
82
- lightseagreen: 2142890,
83
- lightskyblue: 8900346,
84
- lightslategray: 7833753,
85
- lightslategrey: 7833753,
86
- lightsteelblue: 11584734,
87
- lightyellow: 16777184,
88
- lime: 65280,
89
- limegreen: 3329330,
90
- linen: 16445670,
91
- magenta: 16711935,
92
- maroon: 8388608,
93
- mediumaquamarine: 6737322,
94
- mediumblue: 205,
95
- mediumorchid: 12211667,
96
- mediumpurple: 9662683,
97
- mediumseagreen: 3978097,
98
- mediumslateblue: 8087790,
99
- mediumspringgreen: 64154,
100
- mediumturquoise: 4772300,
101
- mediumvioletred: 13047173,
102
- midnightblue: 1644912,
103
- mintcream: 16121850,
104
- mistyrose: 16770273,
105
- moccasin: 16770229,
106
- navajowhite: 16768685,
107
- navy: 128,
108
- oldlace: 16643558,
109
- olive: 8421376,
110
- olivedrab: 7048739,
111
- orange: 16753920,
112
- orangered: 16729344,
113
- orchid: 14315734,
114
- palegoldenrod: 15657130,
115
- palegreen: 10025880,
116
- paleturquoise: 11529966,
117
- palevioletred: 14381203,
118
- papayawhip: 16773077,
119
- peachpuff: 16767673,
120
- peru: 13468991,
121
- pink: 16761035,
122
- plum: 14524637,
123
- powderblue: 11591910,
124
- purple: 8388736,
125
- rebeccapurple: 6697881,
126
- red: 16711680,
127
- rosybrown: 12357519,
128
- royalblue: 4286945,
129
- saddlebrown: 9127187,
130
- salmon: 16416882,
131
- sandybrown: 16032864,
132
- seagreen: 3050327,
133
- seashell: 16774638,
134
- sienna: 10506797,
135
- silver: 12632256,
136
- skyblue: 8900331,
137
- slateblue: 6970061,
138
- slategray: 7372944,
139
- slategrey: 7372944,
140
- snow: 16775930,
141
- springgreen: 65407,
142
- steelblue: 4620980,
143
- tan: 13808780,
144
- teal: 32896,
145
- thistle: 14204888,
146
- tomato: 16737095,
147
- turquoise: 4251856,
148
- violet: 15631086,
149
- wheat: 16113331,
150
- white: 16777215,
151
- whitesmoke: 16119285,
152
- yellow: 16776960,
153
- yellowgreen: 10145074
154
- };
155
- //# sourceMappingURL=defaultColors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/color/defaultColors.ts"],"names":[],"mappings":"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","file":"defaultColors.js","sourcesContent":["export const DEFAULT_COLORS = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n"]}
@@ -1 +0,0 @@
1
- export declare function hex(value: number): string;
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- function hex(value) {
4
- return ((value = Math.max(0, Math.min(255, Math.round(value) || 0))) < 16 ? "0" : "") + value.toString(16);
5
- }
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: !0
9
- }), exports.hex = void 0, exports.hex = hex;
10
- //# sourceMappingURL=numberToHex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/color/numberToHex.ts"],"names":[],"mappings":";;;AAAA,SAAgB,GAAG,CAAC,KAAa;IAC/B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACtD,CAAC;AAHD,kBAGC","file":"numberToHex.js","sourcesContent":["export function hex(value: number) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? '0' : '') + value.toString(16);\n}\n"]}
@@ -1,3 +0,0 @@
1
- import { RGB } from './rgb';
2
- export declare function rgb(value: number | number[]): RGB;
3
- export declare function rgba(value: number | number[]): RGB;
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.rgba = exports.rgb = void 0;
6
-
7
- const common_1 = require("../common"), rgb_1 = require("./rgb");
8
-
9
- function rgb(value) {
10
- return (0, common_1.isNumber)(value) ? new rgb_1.RGB(value >> 16, value >> 8 & 255, 255 & value, 1) : (0,
11
- common_1.isArray)(value) ? new rgb_1.RGB(value[0], value[1], value[2]) : new rgb_1.RGB(255, 255, 255);
12
- }
13
-
14
- function rgba(value) {
15
- return (0, common_1.isNumber)(value) ? new rgb_1.RGB(value >>> 24, value >>> 16 & 255, value >>> 8 & 255, 255 & value) : (0,
16
- common_1.isArray)(value) ? new rgb_1.RGB(value[0], value[1], value[2], value[3]) : new rgb_1.RGB(255, 255, 255, 1);
17
- }
18
-
19
- exports.rgb = rgb, exports.rgba = rgba;
20
- //# sourceMappingURL=numberToRgb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/color/numberToRgb.ts"],"names":[],"mappings":";;;AAAA,sCAA8C;AAC9C,+BAA4B;AAQ5B,SAAgB,GAAG,CAAC,KAAwB;IAC1C,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QACnB,OAAO,IAAI,SAAG,CAAE,KAAgB,IAAI,EAAE,EAAE,CAAE,KAAgB,IAAI,CAAC,CAAC,GAAG,IAAI,EAAG,KAAgB,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;KACvG;SAAM,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;QACzB,OAAO,IAAI,SAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9C;IAGD,OAAO,IAAI,SAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC;AATD,kBASC;AAQD,SAAgB,IAAI,CAAC,KAAwB;IAC3C,IAAI,IAAA,iBAAQ,EAAC,KAAK,CAAC,EAAE;QACnB,OAAO,IAAI,SAAG,CACX,KAAgB,KAAK,EAAE,EACxB,CAAE,KAAgB,KAAK,EAAE,CAAC,GAAG,IAAI,EACjC,CAAE,KAAgB,KAAK,CAAC,CAAC,GAAG,IAAI,EAC/B,KAAgB,GAAG,IAAI,CACzB,CAAC;KACH;SAAM,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;QACzB,OAAO,IAAI,SAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KACxD;IACD,OAAO,IAAI,SAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACnC,CAAC;AAZD,oBAYC","file":"numberToRgb.js","sourcesContent":["import { isArray, isNumber } from '../common';\nimport { RGB } from './rgb';\n\n/**\n * Converts hexadecimal number or decimal number array into RGB\n * like 0xffffff or [255,255,255]\n * @param value\n * @returns instance of RGB\n */\nexport function rgb(value: number | number[]): RGB {\n if (isNumber(value)) {\n return new RGB((value as number) >> 16, ((value as number) >> 8) & 0xff, (value as number) & 0xff, 1);\n } else if (isArray(value)) {\n return new RGB(value[0], value[1], value[2]);\n }\n\n // default return\n return new RGB(255, 255, 255);\n}\n\n/**\n * Converts hexadecimal number or decimal number array into RGB\n * like 0xffffff00 or [255,255,255,0]\n * @param value\n * @returns instance of RGB\n */\nexport function rgba(value: number | number[]): RGB {\n if (isNumber(value)) {\n return new RGB(\n (value as number) >>> 24,\n ((value as number) >>> 16) & 0xff,\n ((value as number) >>> 8) & 0xff,\n (value as number) & 0xff\n );\n } else if (isArray(value)) {\n return new RGB(value[0], value[1], value[2], value[3]);\n }\n return new RGB(255, 255, 255, 1);\n}\n"]}
@@ -1,3 +0,0 @@
1
- import { RGB } from './rgb';
2
- export declare const REG_HEX: RegExp;
3
- export declare function parseColorString(color: string): RGB;
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- var __importDefault = this && this.__importDefault || function(mod) {
4
- return mod && mod.__esModule ? mod : {
5
- default: mod
6
- };
7
- };
8
-
9
- Object.defineProperty(exports, "__esModule", {
10
- value: !0
11
- }), exports.parseColorString = exports.REG_HEX = void 0;
12
-
13
- const common_1 = require("../common"), rgb_1 = require("./rgb"), defaultColors_1 = require("./defaultColors"), hslToRgb_1 = __importDefault(require("./hslToRgb")), numberToRgb_1 = require("./numberToRgb"), DEFAULT_COLORS_OPACITY = {
14
- transparent: 4294967040
15
- };
16
-
17
- function parseColorString(color) {
18
- if ((0, common_1.isValid)(DEFAULT_COLORS_OPACITY[color])) return (0, numberToRgb_1.rgba)(DEFAULT_COLORS_OPACITY[color]);
19
- if ((0, common_1.isValid)(defaultColors_1.DEFAULT_COLORS[color])) return (0, numberToRgb_1.rgb)(defaultColors_1.DEFAULT_COLORS[color]);
20
- const formatValue = `${color}`.trim().toLowerCase(), isHex = exports.REG_HEX.exec(formatValue);
21
- if (isHex) {
22
- const hex = parseInt(isHex[1], 16), hexLength = isHex[1].length;
23
- return 3 === hexLength ? new rgb_1.RGB((hex >> 8 & 15) + ((hex >> 8 & 15) << 4), (hex >> 4 & 15) + ((hex >> 4 & 15) << 4), (15 & hex) + ((15 & hex) << 4), 1) : 6 === hexLength ? (0,
24
- numberToRgb_1.rgb)(hex) : 8 === hexLength ? new rgb_1.RGB(hex >> 24 & 255, hex >> 16 & 255, hex >> 8 & 255, (255 & hex) / 255) : void 0;
25
- }
26
- if (/^(rgb|RGB|rgba|RGBA)/.test(formatValue)) {
27
- const aColor = formatValue.replace(/(?:\(|\)|rgba|RGBA|rgb|RGB)*/g, "").split(",");
28
- return new rgb_1.RGB(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10), parseFloat(aColor[3]));
29
- }
30
- if (/^(hsl|HSL|hsla|HSLA)/.test(formatValue)) {
31
- const aColor = formatValue.replace(/(?:\(|\)|hsla|HSLA|hsl|HSL)*/g, "").split(","), rgb = (0,
32
- hslToRgb_1.default)(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10));
33
- return new rgb_1.RGB(rgb.r, rgb.g, rgb.b, parseFloat(aColor[3]));
34
- }
35
- }
36
-
37
- exports.REG_HEX = /^#([0-9a-f]{3,8})$/, exports.parseColorString = parseColorString;
38
- //# sourceMappingURL=parseColorString.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/color/parseColorString.ts"],"names":[],"mappings":"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","file":"parseColorString.js","sourcesContent":["import { isValid } from '../common';\nimport { RGB } from './rgb';\nimport { DEFAULT_COLORS } from './defaultColors';\nimport hslToRgb from './hslToRgb';\nimport { rgb, rgba } from './numberToRgb';\n\nconst DEFAULT_COLORS_OPACITY = {\n transparent: 0xffffff00\n};\n\nexport const REG_HEX = /^#([0-9a-f]{3,8})$/;\n\nexport function parseColorString(color: string) {\n // case0: transparent\n if (isValid(DEFAULT_COLORS_OPACITY[color])) {\n return rgba(DEFAULT_COLORS_OPACITY[color]);\n }\n\n // case1: 简写 ['blue','red']\n if (isValid(DEFAULT_COLORS[color])) {\n return rgb(DEFAULT_COLORS[color]);\n }\n const formatValue = `${color}`.trim().toLowerCase();\n const isHex = REG_HEX.exec(formatValue);\n\n // case2: 16进制\n if (isHex) {\n const hex = parseInt(isHex[1], 16);\n const hexLength = isHex[1].length;\n // #fff\n if (hexLength === 3) {\n return new RGB(\n ((hex >> 8) & 0xf) + (((hex >> 8) & 0xf) << 4),\n ((hex >> 4) & 0xf) + (((hex >> 4) & 0xf) << 4),\n (hex & 0xf) + ((hex & 0xf) << 4),\n 1\n );\n }\n // #ffffff\n if (hexLength === 6) {\n return rgb(hex);\n }\n // #ffffffaa\n else if (hexLength === 8) {\n return new RGB((hex >> 24) & 0xff, (hex >> 16) & 0xff, (hex >> 8) & 0xff, (hex & 0xff) / 0xff);\n }\n\n return;\n }\n\n // case3 : rgb\n if (/^(rgb|RGB|rgba|RGBA)/.test(formatValue)) {\n const aColor = formatValue.replace(/(?:\\(|\\)|rgba|RGBA|rgb|RGB)*/g, '').split(',');\n return new RGB(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10), parseFloat(aColor[3]));\n }\n\n // case4: hsl\n if (/^(hsl|HSL|hsla|HSLA)/.test(formatValue)) {\n const aColor = formatValue.replace(/(?:\\(|\\)|hsla|HSLA|hsl|HSL)*/g, '').split(',');\n const rgb = hslToRgb(parseInt(aColor[0], 10), parseInt(aColor[1], 10), parseInt(aColor[2], 10));\n\n return new RGB(rgb.r, rgb.g, rgb.b, parseFloat(aColor[3]));\n }\n\n return;\n}\n"]}
@@ -1,11 +0,0 @@
1
- export declare class RGB {
2
- r: number;
3
- g: number;
4
- b: number;
5
- opacity: number;
6
- constructor(r: number, g: number, b: number, opacity?: number);
7
- formatHex(): string;
8
- formatRgb(): string;
9
- formatHsl(): string;
10
- toString(): string;
11
- }
package/cjs/color/rgb.js DELETED
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- var __importDefault = this && this.__importDefault || function(mod) {
4
- return mod && mod.__esModule ? mod : {
5
- default: mod
6
- };
7
- };
8
-
9
- Object.defineProperty(exports, "__esModule", {
10
- value: !0
11
- }), exports.RGB = void 0;
12
-
13
- const common_1 = require("../common"), numberToHex_1 = require("./numberToHex"), rgbToHsl_1 = __importDefault(require("./rgbToHsl"));
14
-
15
- class RGB {
16
- constructor(r, g, b, opacity) {
17
- this.r = isNaN(+r) ? 255 : Math.max(0, Math.min(255, +r)), this.g = isNaN(+g) ? 255 : Math.max(0, Math.min(255, +g)),
18
- this.b = isNaN(+b) ? 255 : Math.max(0, Math.min(255, +b)), (0, common_1.isValid)(opacity) ? this.opacity = isNaN(+opacity) ? 1 : Math.max(0, Math.min(1, +opacity)) : this.opacity = 1;
19
- }
20
- formatHex() {
21
- return `#${(0, numberToHex_1.hex)(this.r) + (0, numberToHex_1.hex)(this.g) + (0,
22
- numberToHex_1.hex)(this.b) + (1 === this.opacity ? "" : (0, numberToHex_1.hex)(255 * this.opacity))}`;
23
- }
24
- formatRgb() {
25
- const opacity = this.opacity;
26
- return `${1 === opacity ? "rgb(" : "rgba("}${this.r},${this.g},${this.b}${1 === opacity ? ")" : `,${opacity})`}`;
27
- }
28
- formatHsl() {
29
- const opacity = this.opacity, {h: h, s: s, l: l} = (0, rgbToHsl_1.default)(this.r, this.g, this.b);
30
- return `${1 === opacity ? "hsl(" : "hsla("}${h},${s}%,${l}%${1 === opacity ? ")" : `,${opacity})`}`;
31
- }
32
- toString() {
33
- return this.formatHex();
34
- }
35
- }
36
-
37
- exports.RGB = RGB;
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/color/rgb.ts"],"names":[],"mappings":";;;;;;AAAA,sCAAoC;AACpC,+CAAoC;AACpC,0DAAkC;AAElC,MAAa,GAAG;IAKd,YAAY,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,OAAgB;QAC3D,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,IAAI,IAAA,gBAAO,EAAC,OAAO,CAAC,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAE,OAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAE,OAAkB,CAAC,CAAC,CAAC;SACjG;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;SAClB;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,IAAA,iBAAG,EAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAA,iBAAG,EAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAA,iBAAG,EAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,iBAAG,EAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;IAC7G,CAAC;IACD,SAAS;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC;IACnH,CAAC;IAED,SAAS;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAErD,OAAO,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC;IACtG,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF;AAnCD,kBAmCC","file":"rgb.js","sourcesContent":["import { isValid } from '../common';\nimport { hex } from './numberToHex';\nimport rgbToHsl from './rgbToHsl';\n\nexport class RGB {\n r: number;\n g: number;\n b: number;\n opacity: number;\n constructor(r: number, g: number, b: number, opacity?: number) {\n this.r = isNaN(+r) ? 255 : Math.max(0, Math.min(255, +r));\n this.g = isNaN(+g) ? 255 : Math.max(0, Math.min(255, +g));\n this.b = isNaN(+b) ? 255 : Math.max(0, Math.min(255, +b));\n\n if (isValid(opacity)) {\n this.opacity = isNaN(+(opacity as number)) ? 1 : Math.max(0, Math.min(1, +(opacity as number)));\n } else {\n this.opacity = 1;\n }\n }\n // 转为16进制\n formatHex() {\n return `#${hex(this.r) + hex(this.g) + hex(this.b) + (this.opacity === 1 ? '' : hex(this.opacity * 255))}`;\n }\n formatRgb() {\n const opacity = this.opacity;\n return `${opacity === 1 ? 'rgb(' : 'rgba('}${this.r},${this.g},${this.b}${opacity === 1 ? ')' : `,${opacity})`}`;\n }\n\n formatHsl() {\n const opacity = this.opacity;\n const { h, s, l } = rgbToHsl(this.r, this.g, this.b);\n\n return `${opacity === 1 ? 'hsl(' : 'hsla('}${h},${s}%,${l}%${opacity === 1 ? ')' : `,${opacity})`}`;\n }\n // 转为16进制\n toString() {\n return this.formatHex();\n }\n}\n"]}
@@ -1,4 +0,0 @@
1
- import type { IPoint, IPointLike } from '../data-structure';
2
- export declare function distancePP(p1: IPoint, p2: IPointLike): number;
3
- export declare function distanceNN(x: number, y: number, x1: number, y1: number): number;
4
- export declare function distancePN(point: IPointLike, x: number, y: number): number;
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: !0
5
- }), exports.distancePN = exports.distanceNN = exports.distancePP = void 0;
6
-
7
- const math_1 = require("../math");
8
-
9
- function distancePP(p1, p2) {
10
- return (0, math_1.sqrt)((0, math_1.pow)(p1.x - p2.x, 2) + (0, math_1.pow)(p1.y - p2.y, 2));
11
- }
12
-
13
- function distanceNN(x, y, x1, y1) {
14
- return (0, math_1.sqrt)((0, math_1.pow)(x - x1, 2) + (0, math_1.pow)(y - y1, 2));
15
- }
16
-
17
- function distancePN(point, x, y) {
18
- return (0, math_1.sqrt)((0, math_1.pow)(x - point.x, 2) + (0, math_1.pow)(y - point.y, 2));
19
- }
20
-
21
- exports.distancePP = distancePP, exports.distanceNN = distanceNN, exports.distancePN = distancePN;
22
- //# sourceMappingURL=distance.js.map