@stylexjs/shared 0.2.0-beta.15 → 0.2.0-beta.17
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/convert-to-className.d.ts +1 -1
- package/lib/convert-to-className.js +6 -22
- package/lib/convert-to-className.js.flow +1 -1
- package/lib/generate-css-rule.d.ts +1 -1
- package/lib/generate-css-rule.js +3 -14
- package/lib/generate-css-rule.js.flow +1 -1
- package/lib/hash.d.ts +2 -2
- package/lib/hash.js +9 -33
- package/lib/hash.js.flow +1 -3
- package/lib/index.d.ts +9 -9
- package/lib/index.js +0 -14
- package/lib/index.js.flow +9 -9
- package/lib/messages.d.ts +26 -26
- package/lib/messages.js +26 -36
- package/lib/messages.js.flow +26 -26
- package/lib/physical-rtl/generate-ltr.js +39 -67
- package/lib/physical-rtl/generate-ltr.js.flow +1 -1
- package/lib/physical-rtl/generate-rtl.d.ts +1 -2
- package/lib/physical-rtl/generate-rtl.js +57 -89
- package/lib/physical-rtl/generate-rtl.js.flow +1 -2
- package/lib/preprocess-rules/PreRule.d.ts +3 -3
- package/lib/preprocess-rules/PreRule.js +3 -17
- package/lib/preprocess-rules/PreRule.js.flow +3 -3
- package/lib/preprocess-rules/application-order.d.ts +8 -5
- package/lib/preprocess-rules/application-order.js +121 -160
- package/lib/preprocess-rules/application-order.js.flow +6 -5
- package/lib/preprocess-rules/basic-validation.d.ts +1 -1
- package/lib/preprocess-rules/basic-validation.js +6 -15
- package/lib/preprocess-rules/basic-validation.js.flow +1 -1
- package/lib/preprocess-rules/flatten-raw-style-obj.d.ts +2 -2
- package/lib/preprocess-rules/flatten-raw-style-obj.js +14 -43
- package/lib/preprocess-rules/flatten-raw-style-obj.js.flow +2 -2
- package/lib/preprocess-rules/index.d.ts +2 -2
- package/lib/preprocess-rules/index.js +6 -15
- package/lib/preprocess-rules/index.js.flow +2 -2
- package/lib/preprocess-rules/legacy-expand-shorthands.d.ts +3 -2
- package/lib/preprocess-rules/legacy-expand-shorthands.js +14 -33
- package/lib/preprocess-rules/legacy-expand-shorthands.js.flow +2 -2
- package/lib/preprocess-rules/property-specificity.d.ts +8 -5
- package/lib/preprocess-rules/property-specificity.js +54 -76
- package/lib/preprocess-rules/property-specificity.js.flow +6 -5
- package/lib/stylex-create-vars.d.ts +17 -8
- package/lib/stylex-create-vars.js +30 -17
- package/lib/stylex-create-vars.js.flow +10 -4
- package/lib/stylex-create.d.ts +2 -2
- package/lib/stylex-create.js +1 -20
- package/lib/stylex-create.js.flow +1 -1
- package/lib/stylex-first-that-works.js +0 -10
- package/lib/stylex-include.js +0 -10
- package/lib/stylex-keyframes.d.ts +1 -1
- package/lib/stylex-keyframes.js +7 -27
- package/lib/stylex-keyframes.js.flow +1 -1
- package/lib/stylex-override-vars.d.ts +11 -4
- package/lib/stylex-override-vars.js +32 -18
- package/lib/stylex-override-vars.js.flow +3 -3
- package/lib/transform-value.js +11 -29
- package/lib/transform-value.js.flow +1 -1
- package/lib/utils/Rule.d.ts +2 -2
- package/lib/utils/Rule.js +0 -21
- package/lib/utils/Rule.js.flow +2 -2
- package/lib/utils/dashify.js +1 -9
- package/lib/utils/default-options.d.ts +1 -1
- package/lib/utils/default-options.js +2 -23
- package/lib/utils/default-options.js.flow +1 -1
- package/lib/utils/file-based-identifier.js +1 -9
- package/lib/utils/genCSSRule.d.ts +1 -1
- package/lib/utils/genCSSRule.js +6 -16
- package/lib/utils/genCSSRule.js.flow +1 -1
- package/lib/utils/normalize-value.js +1 -13
- package/lib/utils/normalize-value.js.flow +1 -1
- package/lib/utils/normalizers/detect-unclosed-fns.d.ts +1 -1
- package/lib/utils/normalizers/detect-unclosed-fns.js +2 -14
- package/lib/utils/normalizers/detect-unclosed-fns.js.flow +1 -1
- package/lib/utils/normalizers/font-size-px-to-rem.d.ts +1 -1
- package/lib/utils/normalizers/font-size-px-to-rem.js +4 -19
- package/lib/utils/normalizers/font-size-px-to-rem.js.flow +1 -1
- package/lib/utils/normalizers/leading-zero.d.ts +1 -1
- package/lib/utils/normalizers/leading-zero.js +3 -15
- package/lib/utils/normalizers/leading-zero.js.flow +1 -1
- package/lib/utils/normalizers/quotes.d.ts +1 -1
- package/lib/utils/normalizers/quotes.js +4 -17
- package/lib/utils/normalizers/quotes.js.flow +1 -1
- package/lib/utils/normalizers/timings.d.ts +1 -1
- package/lib/utils/normalizers/timings.js +4 -18
- package/lib/utils/normalizers/timings.js.flow +1 -1
- package/lib/utils/normalizers/whitespace.d.ts +1 -1
- package/lib/utils/normalizers/whitespace.js +12 -27
- package/lib/utils/normalizers/whitespace.js.flow +1 -1
- package/lib/utils/normalizers/zero-dimensions.d.ts +1 -1
- package/lib/utils/normalizers/zero-dimensions.js +8 -23
- package/lib/utils/normalizers/zero-dimensions.js.flow +1 -1
- package/lib/utils/object-utils.d.ts +28 -20
- package/lib/utils/object-utils.js +2 -15
- package/lib/utils/object-utils.js.flow +23 -27
- package/lib/utils/property-priorities.js +68 -83
- package/lib/utils/split-css-value.d.ts +1 -1
- package/lib/utils/split-css-value.js +8 -22
- package/lib/utils/split-css-value.js.flow +1 -1
- package/lib/validate.js +2 -11
- package/package.json +2 -3
@@ -1,14 +1,4 @@
|
|
1
|
-
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
*
|
9
|
-
*/
|
10
|
-
|
11
|
-
'use strict';
|
1
|
+
"use strict";
|
12
2
|
|
13
3
|
Object.defineProperty(exports, "__esModule", {
|
14
4
|
value: true
|
@@ -23,8 +13,6 @@ var _zeroDimensions = _interopRequireDefault(require("./normalizers/zero-dimensi
|
|
23
13
|
var _detectUnclosedFns = _interopRequireDefault(require("./normalizers/detect-unclosed-fns"));
|
24
14
|
var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser"));
|
25
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
26
|
-
// `Timings` should be before `LeadingZero`, because it
|
27
|
-
// changes 500ms to 0.5s, then `LeadingZero` makes it .5s
|
28
16
|
const normalizers = [_detectUnclosedFns.default, _whitespace.default, _timings.default, _zeroDimensions.default, _leadingZero.default, _quotes.default, _fontSizePxToRem.default];
|
29
17
|
function normalizeValue(value, key) {
|
30
18
|
if (value == null) {
|
@@ -1,13 +1,4 @@
|
|
1
|
-
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
*/
|
9
|
-
|
10
|
-
'use strict';
|
1
|
+
"use strict";
|
11
2
|
|
12
3
|
Object.defineProperty(exports, "__esModule", {
|
13
4
|
value: true
|
@@ -16,12 +7,9 @@ exports.default = detectUnclosedFns;
|
|
16
7
|
var messages = _interopRequireWildcard(require("../../messages"));
|
17
8
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
18
9
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
19
|
-
/**
|
20
|
-
* Remove leading zeros from numbers
|
21
|
-
*/
|
22
10
|
function detectUnclosedFns(ast, _) {
|
23
11
|
ast.walk(node => {
|
24
|
-
if (node.type ===
|
12
|
+
if (node.type === "function" && node.unclosed) {
|
25
13
|
throw new Error(messages.LINT_UNCLOSED_FUNCTION);
|
26
14
|
}
|
27
15
|
});
|
@@ -1,13 +1,4 @@
|
|
1
|
-
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
*/
|
9
|
-
|
10
|
-
'use strict';
|
1
|
+
"use strict";
|
11
2
|
|
12
3
|
Object.defineProperty(exports, "__esModule", {
|
13
4
|
value: true
|
@@ -16,22 +7,16 @@ exports.default = convertFontSizeToRem;
|
|
16
7
|
var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser"));
|
17
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
9
|
const ROOT_FONT_SIZE = 16;
|
19
|
-
|
20
|
-
/**
|
21
|
-
* Convert font sizes from absolute unit `px` to relative unit `rem`.
|
22
|
-
* This will allow developers to continue thinking and using what's familiar
|
23
|
-
* while we output font sizes that are adjustable
|
24
|
-
*/
|
25
10
|
function convertFontSizeToRem(ast, key) {
|
26
|
-
if (key !==
|
11
|
+
if (key !== "fontSize") {
|
27
12
|
return ast;
|
28
13
|
}
|
29
14
|
ast.walk(node => {
|
30
|
-
if (node.type !==
|
15
|
+
if (node.type !== "word") {
|
31
16
|
return;
|
32
17
|
}
|
33
18
|
const dimension = _postcssValueParser.default.unit(node.value);
|
34
|
-
if (dimension && dimension.unit ===
|
19
|
+
if (dimension && dimension.unit === "px") {
|
35
20
|
node.value = `${parseFloat(dimension.number) / ROOT_FONT_SIZE}rem`;
|
36
21
|
}
|
37
22
|
});
|
@@ -1,13 +1,4 @@
|
|
1
|
-
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
*/
|
9
|
-
|
10
|
-
'use strict';
|
1
|
+
"use strict";
|
11
2
|
|
12
3
|
Object.defineProperty(exports, "__esModule", {
|
13
4
|
value: true
|
@@ -15,12 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
15
6
|
exports.default = normalizeLeadingZero;
|
16
7
|
var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser"));
|
17
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
|
-
/**
|
19
|
-
* Remove leading zeros from numbers
|
20
|
-
*/
|
21
9
|
function normalizeLeadingZero(ast, _) {
|
22
10
|
ast.walk(node => {
|
23
|
-
if (node.type !==
|
11
|
+
if (node.type !== "word") {
|
24
12
|
return;
|
25
13
|
}
|
26
14
|
const value = Number.parseFloat(node.value);
|
@@ -29,7 +17,7 @@ function normalizeLeadingZero(ast, _) {
|
|
29
17
|
}
|
30
18
|
const dimension = _postcssValueParser.default.unit(node.value);
|
31
19
|
if (value < 1 && value >= 0) {
|
32
|
-
node.value = value.toString().replace(
|
20
|
+
node.value = value.toString().replace("0.", ".") + (dimension ? dimension.unit : "");
|
33
21
|
}
|
34
22
|
});
|
35
23
|
return ast;
|
@@ -1,29 +1,16 @@
|
|
1
|
-
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
*
|
9
|
-
*/
|
1
|
+
"use strict";
|
10
2
|
|
11
|
-
'use strict';
|
12
|
-
|
13
|
-
/**
|
14
|
-
* Make empty strings use consistent double quotes
|
15
|
-
*/
|
16
3
|
Object.defineProperty(exports, "__esModule", {
|
17
4
|
value: true
|
18
5
|
});
|
19
6
|
exports.default = normalizeQuotes;
|
20
7
|
function normalizeQuotes(ast, _) {
|
21
8
|
ast.walk(node => {
|
22
|
-
if (node.type !==
|
9
|
+
if (node.type !== "string") {
|
23
10
|
return;
|
24
11
|
}
|
25
|
-
if (node.value ===
|
26
|
-
node.quote =
|
12
|
+
if (node.value === "") {
|
13
|
+
node.quote = "\"";
|
27
14
|
}
|
28
15
|
});
|
29
16
|
return ast;
|
@@ -1,14 +1,4 @@
|
|
1
|
-
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
*
|
9
|
-
*/
|
10
|
-
|
11
|
-
'use strict';
|
1
|
+
"use strict";
|
12
2
|
|
13
3
|
Object.defineProperty(exports, "__esModule", {
|
14
4
|
value: true
|
@@ -16,13 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
16
6
|
exports.default = normalizeTimings;
|
17
7
|
var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser"));
|
18
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
19
|
-
/**
|
20
|
-
* Turn millisecond values to seconds (shorter), except when < 10ms
|
21
|
-
*/
|
22
|
-
|
23
9
|
function normalizeTimings(ast, _) {
|
24
10
|
ast.walk(node => {
|
25
|
-
if (node.type !==
|
11
|
+
if (node.type !== "word") {
|
26
12
|
return;
|
27
13
|
}
|
28
14
|
const value = Number.parseFloat(node.value);
|
@@ -30,10 +16,10 @@ function normalizeTimings(ast, _) {
|
|
30
16
|
return;
|
31
17
|
}
|
32
18
|
const dimension = _postcssValueParser.default.unit(node.value);
|
33
|
-
if (!dimension || dimension.unit !==
|
19
|
+
if (!dimension || dimension.unit !== "ms" || value < 10) {
|
34
20
|
return;
|
35
21
|
}
|
36
|
-
node.value = value / 1000 +
|
22
|
+
node.value = value / 1000 + "s";
|
37
23
|
});
|
38
24
|
return ast;
|
39
25
|
}
|
@@ -1,49 +1,34 @@
|
|
1
|
-
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
*
|
9
|
-
*/
|
1
|
+
"use strict";
|
10
2
|
|
11
|
-
'use strict';
|
12
|
-
|
13
|
-
/**
|
14
|
-
* Use single spaces and remove spaces when not needed: around functions,
|
15
|
-
* commas. But preserve spece around + and - as they are required in calc()
|
16
|
-
*/
|
17
3
|
Object.defineProperty(exports, "__esModule", {
|
18
4
|
value: true
|
19
5
|
});
|
20
6
|
exports.default = normalizeWhitespace;
|
21
7
|
function normalizeWhitespace(ast, _) {
|
22
|
-
|
23
|
-
if (ast.nodes[0].type === 'space') {
|
8
|
+
if (ast.nodes[0].type === "space") {
|
24
9
|
ast.nodes.shift();
|
25
10
|
}
|
26
|
-
if (ast.nodes[ast.nodes.length - 1].type ===
|
11
|
+
if (ast.nodes[ast.nodes.length - 1].type === "space") {
|
27
12
|
ast.nodes.pop();
|
28
13
|
}
|
29
14
|
ast.walk((node, idx) => {
|
30
15
|
switch (node.type) {
|
31
|
-
case
|
16
|
+
case "space":
|
32
17
|
{
|
33
|
-
node.value =
|
18
|
+
node.value = " ";
|
34
19
|
break;
|
35
20
|
}
|
36
|
-
case
|
37
|
-
case
|
21
|
+
case "div":
|
22
|
+
case "function":
|
38
23
|
{
|
39
|
-
node.before =
|
40
|
-
node.after =
|
24
|
+
node.before = "";
|
25
|
+
node.after = "";
|
41
26
|
break;
|
42
27
|
}
|
43
|
-
case
|
28
|
+
case "word":
|
44
29
|
{
|
45
|
-
if (node.value ===
|
46
|
-
if (ast.nodes[idx - 1] && ast.nodes[idx - 1].type ===
|
30
|
+
if (node.value === "!important") {
|
31
|
+
if (ast.nodes[idx - 1] && ast.nodes[idx - 1].type === "space") {
|
47
32
|
ast.nodes.splice(idx - 1, 1);
|
48
33
|
}
|
49
34
|
}
|
@@ -1,13 +1,4 @@
|
|
1
|
-
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
3
|
-
*
|
4
|
-
* This source code is licensed under the MIT license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*
|
7
|
-
*
|
8
|
-
*/
|
9
|
-
|
10
|
-
'use strict';
|
1
|
+
"use strict";
|
11
2
|
|
12
3
|
Object.defineProperty(exports, "__esModule", {
|
13
4
|
value: true
|
@@ -15,29 +6,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
15
6
|
exports.default = normalizeZeroDimensions;
|
16
7
|
var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser"));
|
17
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
18
|
-
const angles = [
|
19
|
-
const timings = [
|
20
|
-
|
21
|
-
/**
|
22
|
-
* Remove units in zero values, except when required: in angles and timings,
|
23
|
-
* in which case make them consistent 0deg and 0s.
|
24
|
-
*/
|
25
|
-
|
9
|
+
const angles = ["deg", "grad", "turn", "rad"];
|
10
|
+
const timings = ["ms", "s"];
|
26
11
|
function normalizeZeroDimensions(ast, _) {
|
27
12
|
ast.walk(node => {
|
28
|
-
if (node.type !==
|
13
|
+
if (node.type !== "word") {
|
29
14
|
return;
|
30
15
|
}
|
31
16
|
const dimension = _postcssValueParser.default.unit(node.value);
|
32
|
-
if (!dimension || dimension.number !==
|
17
|
+
if (!dimension || dimension.number !== "0") {
|
33
18
|
return;
|
34
19
|
}
|
35
20
|
if (angles.indexOf(dimension.unit) !== -1) {
|
36
|
-
node.value =
|
21
|
+
node.value = "0deg";
|
37
22
|
} else if (timings.indexOf(dimension.unit) !== -1) {
|
38
|
-
node.value =
|
23
|
+
node.value = "0s";
|
39
24
|
} else {
|
40
|
-
node.value =
|
25
|
+
node.value = "0";
|
41
26
|
}
|
42
27
|
});
|
43
28
|
return ast;
|
@@ -9,39 +9,47 @@
|
|
9
9
|
|
10
10
|
import type { CompiledStyles } from '../common-types';
|
11
11
|
import { IncludedStyles } from '../stylex-include';
|
12
|
-
export declare function isPlainObject(obj: unknown):
|
12
|
+
export declare function isPlainObject(obj: unknown): void;
|
13
13
|
export declare function flattenObject(obj: CompiledStyles): {
|
14
14
|
readonly [$$Key$$: string]: null | string | IncludedStyles;
|
15
15
|
};
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
16
|
+
type _ObjectEntries<Obj extends { readonly [$$Key$$: string]: unknown }> =
|
17
|
+
/**
|
18
|
+
* > 23 | [Key in keyof Obj]: [Key, Obj[Key]],
|
19
|
+
* | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Unsupported feature: Translating "object type with mapped type property" is currently not supported.
|
20
|
+
**/
|
21
|
+
any;
|
22
|
+
type ObjectEntries<Obj extends { readonly [$$Key$$: string]: unknown }> =
|
23
|
+
_ObjectEntries<Obj>[keyof _ObjectEntries<Obj>];
|
24
|
+
export declare function objEntries<
|
25
|
+
Obj extends { readonly [$$Key$$: string]: unknown },
|
26
|
+
>(obj: Obj): ReadonlyArray<ObjectEntries<Obj>>;
|
27
|
+
export declare function objValues<
|
28
|
+
Obj extends { readonly [$$Key$$: string]: unknown },
|
29
|
+
>(obj: Obj): ReadonlyArray<Obj[keyof Obj]>;
|
22
30
|
export declare function objFromEntries<K extends string | number, V>(
|
23
|
-
entries: ReadonlyArray<Readonly<[K, V]
|
31
|
+
entries: ReadonlyArray<Readonly<[K, V]>>,
|
24
32
|
): { [$$Key$$: K]: V };
|
25
33
|
export declare function objMapKeys<
|
26
34
|
V,
|
27
|
-
K1 extends string
|
28
|
-
K2 extends string
|
35
|
+
K1 extends string = string,
|
36
|
+
K2 extends string = string,
|
29
37
|
>(
|
30
38
|
obj: { readonly [$$Key$$: K1]: V },
|
31
|
-
mapper: ($$PARAM_0$$: K1) => K2
|
39
|
+
mapper: ($$PARAM_0$$: K1) => K2,
|
32
40
|
): { readonly [$$Key$$: K2]: V };
|
33
41
|
export declare function objMapEntry<
|
34
42
|
V,
|
35
43
|
V2,
|
36
|
-
K1 extends string
|
37
|
-
K2 extends string
|
44
|
+
K1 extends string = string,
|
45
|
+
K2 extends string = string,
|
38
46
|
>(
|
39
47
|
obj: { readonly [$$Key$$: K1]: V },
|
40
|
-
mapper: ($$PARAM_0$$: [K1, V]) => [K2, V2]
|
48
|
+
mapper: ($$PARAM_0$$: [K1, V]) => [K2, V2],
|
41
49
|
): { readonly [$$Key$$: K2]: V2 };
|
42
|
-
export declare function objMap<V, V2, K extends string
|
50
|
+
export declare function objMap<V, V2, K extends string = string>(
|
43
51
|
obj: { readonly [$$Key$$: K]: V },
|
44
|
-
mapper: ($$PARAM_0$$: V, $$PARAM_1$$: K) => V2
|
52
|
+
mapper: ($$PARAM_0$$: V, $$PARAM_1$$: K) => V2,
|
45
53
|
): { readonly [$$Key$$: K]: V2 };
|
46
54
|
export declare class Pipe<T> {
|
47
55
|
value: T;
|
@@ -50,12 +58,12 @@ export declare class Pipe<T> {
|
|
50
58
|
done(): T;
|
51
59
|
static create(val: T): Pipe<T>;
|
52
60
|
}
|
53
|
-
export declare
|
61
|
+
export declare const arraySort: <T>(
|
54
62
|
arr: ReadonlyArray<T>,
|
55
|
-
fn?: ($$PARAM_0$$: T, $$PARAM_1$$: T) => number
|
63
|
+
fn?: ($$PARAM_0$$: T, $$PARAM_1$$: T) => number,
|
56
64
|
) => ReadonlyArray<T>;
|
57
|
-
export declare
|
65
|
+
export declare const arrayEquals: <T>(
|
58
66
|
arr1: ReadonlyArray<T>,
|
59
67
|
arr2: ReadonlyArray<T>,
|
60
|
-
equals: ($$PARAM_0$$: T, $$PARAM_1$$: T) => boolean
|
68
|
+
equals: ($$PARAM_0$$: T, $$PARAM_1$$: T) => boolean,
|
61
69
|
) => boolean;
|
@@ -13,24 +13,13 @@ exports.objMapEntry = objMapEntry;
|
|
13
13
|
exports.objMapKeys = objMapKeys;
|
14
14
|
exports.objValues = objValues;
|
15
15
|
var _stylexInclude = require("../stylex-include");
|
16
|
-
/**
|
17
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
18
|
-
*
|
19
|
-
* This source code is licensed under the MIT license found in the
|
20
|
-
* LICENSE file in the root directory of this source tree.
|
21
|
-
*
|
22
|
-
*
|
23
|
-
*/
|
24
|
-
|
25
|
-
// A bunch of object utils with better Flow types
|
26
|
-
|
27
16
|
function isPlainObject(obj) {
|
28
|
-
return typeof obj ===
|
17
|
+
return typeof obj === "object" && obj != null && !Array.isArray(obj) && obj?.constructor === Object;
|
29
18
|
}
|
30
19
|
function flattenObject(obj) {
|
31
20
|
const result = {};
|
32
21
|
for (const [key, value] of objEntries(obj)) {
|
33
|
-
if (typeof value ===
|
22
|
+
if (typeof value === "string" || value == null) {
|
34
23
|
result[key] = value;
|
35
24
|
} else if (value instanceof _stylexInclude.IncludedStyles) {
|
36
25
|
result[key] = value;
|
@@ -95,8 +84,6 @@ class Pipe {
|
|
95
84
|
return new Pipe(val);
|
96
85
|
}
|
97
86
|
}
|
98
|
-
|
99
|
-
// Function that sorts an array without mutating it and returns a new array
|
100
87
|
exports.Pipe = Pipe;
|
101
88
|
const arraySort = (arr, fn) => [...arr].sort(fn);
|
102
89
|
exports.arraySort = arraySort;
|