@nordcraft/core 1.0.89 → 1.0.90
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,6 +1,14 @@
|
|
|
1
1
|
import { generateAlphabeticName, hash } from './hash';
|
|
2
|
+
// Classnames are reused a lot, and JS hashing is expensive, so there is benefit in caching them in a native hashmap.
|
|
3
|
+
const CLASSNAME_LOOKUP = new Map();
|
|
2
4
|
export const getClassName = (object) => {
|
|
3
|
-
|
|
5
|
+
const stringified = JSON.stringify(object);
|
|
6
|
+
if (CLASSNAME_LOOKUP.has(stringified)) {
|
|
7
|
+
return CLASSNAME_LOOKUP.get(stringified);
|
|
8
|
+
}
|
|
9
|
+
const className = generateAlphabeticName(hash(stringified));
|
|
10
|
+
CLASSNAME_LOOKUP.set(stringified, className);
|
|
11
|
+
return className;
|
|
4
12
|
};
|
|
5
13
|
export const toValidClassName = (input, escapeSpecialCharacters = false) => {
|
|
6
14
|
// Replace invalid characters with hyphens
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"className.js","sourceRoot":"","sources":["../../src/styling/className.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAErD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAW,EAAE,EAAE,CAAC;IAC3C,
|
|
1
|
+
{"version":3,"file":"className.js","sourceRoot":"","sources":["../../src/styling/className.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAErD,qHAAqH;AACrH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAA;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAW,EAAE,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC1C,IAAI,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,OAAO,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAE,CAAA;IAC3C,CAAC;IACD,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAA;IAC3D,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAC5C,OAAO,SAAS,CAAA;AAAA,CACjB,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,KAAa,EACb,uBAAuB,GAAG,KAAK,EAC/B,EAAE,CAAC;IACH,0CAA0C;IAC1C,IAAI,SAAS,GAAG,KAAK;QACnB,yCAAyC;SACxC,IAAI,EAAE;QACP,kCAAkC;SACjC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAEvB,IAAI,uBAAuB,EAAE,CAAC;QAC5B,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,CAAA;IAC3E,CAAC;IAED,yEAAyE;IACzE,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACjC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAA;IAC7B,CAAC;IAED,OAAO,SAAS,CAAA;AAAA,CACjB,CAAA"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { isDefined } from './util';
|
|
2
2
|
export const isObject = (input) => typeof input === 'object' && input !== null;
|
|
3
|
-
export const mapObject = (object, f) =>
|
|
3
|
+
export const mapObject = (object, f) => {
|
|
4
|
+
const result = {};
|
|
5
|
+
for (const key in object) {
|
|
6
|
+
const [k, v] = f([key, object[key]]);
|
|
7
|
+
result[k] = v;
|
|
8
|
+
}
|
|
9
|
+
return result;
|
|
10
|
+
};
|
|
4
11
|
export const mapValues = (object, f) => mapObject(object, ([key, value]) => [key, f(value)]);
|
|
5
12
|
/**
|
|
6
13
|
* Deletes potentially nested keys from an object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/utils/collections.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAU,EAAgC,EAAE,CACnE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AAE7C,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAyB,EACzB,CAAoC,EAChB,EAAE,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/utils/collections.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/styling/className.ts
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { generateAlphabeticName, hash } from './hash'
|
|
2
2
|
|
|
3
|
+
// Classnames are reused a lot, and JS hashing is expensive, so there is benefit in caching them in a native hashmap.
|
|
4
|
+
const CLASSNAME_LOOKUP = new Map<string, string>()
|
|
3
5
|
export const getClassName = (object: any) => {
|
|
4
|
-
|
|
6
|
+
const stringified = JSON.stringify(object)
|
|
7
|
+
if (CLASSNAME_LOOKUP.has(stringified)) {
|
|
8
|
+
return CLASSNAME_LOOKUP.get(stringified)!
|
|
9
|
+
}
|
|
10
|
+
const className = generateAlphabeticName(hash(stringified))
|
|
11
|
+
CLASSNAME_LOOKUP.set(stringified, className)
|
|
12
|
+
return className
|
|
5
13
|
}
|
|
6
14
|
|
|
7
15
|
export const toValidClassName = (
|
package/src/utils/collections.ts
CHANGED
|
@@ -7,7 +7,14 @@ export const isObject = (input: any): input is Record<string, any> =>
|
|
|
7
7
|
export const mapObject = <T, T2>(
|
|
8
8
|
object: Record<string, T>,
|
|
9
9
|
f: (kv: [string, T]) => [string, T2],
|
|
10
|
-
): Record<string, T2> =>
|
|
10
|
+
): Record<string, T2> => {
|
|
11
|
+
const result: Record<string, T2> = {}
|
|
12
|
+
for (const key in object) {
|
|
13
|
+
const [k, v] = f([key, object[key] as T])
|
|
14
|
+
result[k] = v
|
|
15
|
+
}
|
|
16
|
+
return result
|
|
17
|
+
}
|
|
11
18
|
|
|
12
19
|
export const mapValues = <T, T2>(
|
|
13
20
|
object: Record<string, T>,
|