@knapsack/spec-utils 4.92.25--canary.79968bf.0 → 4.92.25--canary.cf909ae.0
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.
- package/dist/analyze-symbol.d.ts +8 -1
- package/dist/analyze-symbol.d.ts.map +1 -1
- package/dist/analyze-symbol.js +58 -0
- package/dist/analyze-symbol.js.map +1 -1
- package/dist/analyze-type.d.ts.map +1 -1
- package/dist/analyze-type.js +5 -8
- package/dist/analyze-type.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.js +0 -2
- package/dist/utils.js.map +1 -1
- package/package.json +10 -10
package/dist/analyze-symbol.d.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
|
-
import { type SymbolInfo } from './types.js';
|
|
2
|
+
import { type SymbolDeclaringInterface, type SymbolInfo } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Returns where the property was declared. `isReactDomInterface` is `true`
|
|
5
|
+
* only when **every** declaration of the symbol lives inside a React DOM
|
|
6
|
+
* interface — so a user-overridden prop (declared on the user's own interface
|
|
7
|
+
* alongside an inherited one) is treated as user-defined and preserved.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getDeclaringInterface(symbol: ts.Symbol): SymbolDeclaringInterface | undefined;
|
|
3
10
|
export declare function analyzeSymbol({ symbol, checker, symbolsVisited, depth, maxDepth, }: {
|
|
4
11
|
symbol: ts.Symbol;
|
|
5
12
|
checker: ts.TypeChecker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-symbol.d.ts","sourceRoot":"","sources":["../src/analyze-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,
|
|
1
|
+
{"version":3,"file":"analyze-symbol.d.ts","sourceRoot":"","sources":["../src/analyze-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;AA6CpB;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,EAAE,CAAC,MAAM,GAChB,wBAAwB,GAAG,SAAS,CAWtC;AAED,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,OAAO,EACP,cAA0B,EAC1B,KAAS,EACT,QAAY,GACb,EAAE;IACD,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC;IAClB,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC;IACxB,wCAAwC;IACxC,cAAc,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAChC,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,UAAU,CA4Qb"}
|
package/dist/analyze-symbol.js
CHANGED
|
@@ -1,6 +1,63 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
2
|
import { analyzeType } from './analyze-type.js';
|
|
3
3
|
import { getSetFlags } from './utils.js';
|
|
4
|
+
/**
|
|
5
|
+
* React DOM type interfaces whose properties are flattened into a component's
|
|
6
|
+
* inferred prop list. Used to detect inherited DOM-attribute props so
|
|
7
|
+
* renderers can filter them out (the 150+ `aria-*`/`on*`/element-attr deluge).
|
|
8
|
+
*
|
|
9
|
+
* Keep in sync with `@types/react`'s exported interfaces. Not exhaustive of
|
|
10
|
+
* every element variant — anything ending in `HTMLAttributes` is also matched.
|
|
11
|
+
*/
|
|
12
|
+
const REACT_DOM_INTERFACE_NAMES = new Set([
|
|
13
|
+
'AriaAttributes',
|
|
14
|
+
'DOMAttributes',
|
|
15
|
+
'HTMLAttributes',
|
|
16
|
+
'AllHTMLAttributes',
|
|
17
|
+
'SVGAttributes',
|
|
18
|
+
'WebViewHTMLAttributes',
|
|
19
|
+
'Attributes',
|
|
20
|
+
'ClassAttributes',
|
|
21
|
+
'RefAttributes',
|
|
22
|
+
'DataHTMLAttributes',
|
|
23
|
+
'DetailedHTMLProps',
|
|
24
|
+
]);
|
|
25
|
+
function isReactDomInterfaceName(name) {
|
|
26
|
+
if (!name)
|
|
27
|
+
return false;
|
|
28
|
+
if (REACT_DOM_INTERFACE_NAMES.has(name))
|
|
29
|
+
return true;
|
|
30
|
+
// ButtonHTMLAttributes, AnchorHTMLAttributes, InputHTMLAttributes, etc.
|
|
31
|
+
return name.endsWith('HTMLAttributes');
|
|
32
|
+
}
|
|
33
|
+
function findDeclaringInterfaceName(declaration) {
|
|
34
|
+
let node = declaration?.parent;
|
|
35
|
+
while (node) {
|
|
36
|
+
if (ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node)) {
|
|
37
|
+
return node.name?.getText();
|
|
38
|
+
}
|
|
39
|
+
node = node.parent;
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Returns where the property was declared. `isReactDomInterface` is `true`
|
|
45
|
+
* only when **every** declaration of the symbol lives inside a React DOM
|
|
46
|
+
* interface — so a user-overridden prop (declared on the user's own interface
|
|
47
|
+
* alongside an inherited one) is treated as user-defined and preserved.
|
|
48
|
+
*/
|
|
49
|
+
export function getDeclaringInterface(symbol) {
|
|
50
|
+
const declarations = symbol.declarations ?? [];
|
|
51
|
+
if (declarations.length === 0)
|
|
52
|
+
return undefined;
|
|
53
|
+
const interfaceNames = declarations.map(findDeclaringInterfaceName);
|
|
54
|
+
// Pick the first non-undefined name for display.
|
|
55
|
+
const interfaceName = interfaceNames.find(Boolean);
|
|
56
|
+
if (!interfaceName)
|
|
57
|
+
return undefined;
|
|
58
|
+
const isReactDomInterface = interfaceNames.every((n) => isReactDomInterfaceName(n));
|
|
59
|
+
return { interfaceName, isReactDomInterface };
|
|
60
|
+
}
|
|
4
61
|
export function analyzeSymbol({ symbol, checker, symbolsVisited = new Set(), depth = 0, maxDepth = 6, }) {
|
|
5
62
|
// Early termination if max depth reached
|
|
6
63
|
if (depth >= maxDepth) {
|
|
@@ -91,6 +148,7 @@ export function analyzeSymbol({ symbol, checker, symbolsVisited = new Set(), dep
|
|
|
91
148
|
}
|
|
92
149
|
: undefined,
|
|
93
150
|
name: symbol.getName(),
|
|
151
|
+
declaredIn: getDeclaringInterface(symbol),
|
|
94
152
|
};
|
|
95
153
|
// Data I have seen in debugger, but am not sure how to safely access:
|
|
96
154
|
// type.members - reliably indicates an "object" by providing a Map of Symbols of its properties. The check for Object below is not as reliable since everything in JS is an object.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-symbol.js","sourceRoot":"","sources":["../src/analyze-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze-symbol.js","sourceRoot":"","sources":["../src/analyze-symbol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-type.d.ts","sourceRoot":"","sources":["../src/analyze-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"analyze-type.d.ts","sourceRoot":"","sources":["../src/analyze-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,YAAY,CAAC;AA6CpB;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,UAAU,EACV,YAA0C,EAC1C,KAAS;AACT;;;GAGG;AACH,QAAY,GACb,EAAE;IACD,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,QAAQ,CA2RX"}
|
package/dist/analyze-type.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
|
+
import { getDeclaringInterface } from './analyze-symbol.js';
|
|
2
3
|
import { getSetFlags } from './utils.js';
|
|
3
4
|
// Cache for type IDs to improve performance
|
|
4
5
|
const typeIdMap = new WeakMap();
|
|
@@ -14,9 +15,7 @@ function getTypeId(type, checker) {
|
|
|
14
15
|
}
|
|
15
16
|
// Generate a new ID based on the type's string representation
|
|
16
17
|
// This ensures identical types get the same ID
|
|
17
|
-
const typeString = checker.typeToString(type, undefined,
|
|
18
|
-
// eslint-disable-next-line no-bitwise
|
|
19
|
-
ts.TypeFormatFlags.NoTruncation);
|
|
18
|
+
const typeString = checker.typeToString(type, undefined, ts.TypeFormatFlags.NoTruncation);
|
|
20
19
|
// Add some additional information to help distinguish types
|
|
21
20
|
// that might have the same string representation
|
|
22
21
|
const idComponents = [typeString];
|
|
@@ -46,9 +45,7 @@ maxDepth = 3, }) {
|
|
|
46
45
|
if (visitedTypes.has(typeId)) {
|
|
47
46
|
return visitedTypes.get(typeId);
|
|
48
47
|
}
|
|
49
|
-
const tsRawType = checker.typeToString(type, undefined,
|
|
50
|
-
// eslint-disable-next-line no-bitwise
|
|
51
|
-
ts.TypeFormatFlags.MultilineObjectLiterals |
|
|
48
|
+
const tsRawType = checker.typeToString(type, undefined, ts.TypeFormatFlags.MultilineObjectLiterals |
|
|
52
49
|
ts.TypeFormatFlags.NoTruncation);
|
|
53
50
|
const typeFlags = getSetFlags({
|
|
54
51
|
flags: type.flags,
|
|
@@ -157,7 +154,6 @@ maxDepth = 3, }) {
|
|
|
157
154
|
const propAnalysis = analyzeType({
|
|
158
155
|
type: propType,
|
|
159
156
|
checker,
|
|
160
|
-
// eslint-disable-next-line no-bitwise
|
|
161
157
|
isOptional: !!(prop.flags & ts.SymbolFlags.Optional),
|
|
162
158
|
visitedTypes,
|
|
163
159
|
depth: depth + 1,
|
|
@@ -172,6 +168,7 @@ maxDepth = 3, }) {
|
|
|
172
168
|
enumObject: ts.SymbolFlags,
|
|
173
169
|
}),
|
|
174
170
|
},
|
|
171
|
+
declaredIn: getDeclaringInterface(prop),
|
|
175
172
|
};
|
|
176
173
|
}
|
|
177
174
|
}
|
|
@@ -240,7 +237,6 @@ maxDepth = 3, }) {
|
|
|
240
237
|
const propAnalysis = analyzeType({
|
|
241
238
|
type: propType,
|
|
242
239
|
checker,
|
|
243
|
-
// eslint-disable-next-line no-bitwise
|
|
244
240
|
isOptional: !!(prop.flags & ts.SymbolFlags.Optional),
|
|
245
241
|
visitedTypes,
|
|
246
242
|
depth: depth + 1,
|
|
@@ -255,6 +251,7 @@ maxDepth = 3, }) {
|
|
|
255
251
|
enumObject: ts.SymbolFlags,
|
|
256
252
|
}),
|
|
257
253
|
},
|
|
254
|
+
declaredIn: getDeclaringInterface(prop),
|
|
258
255
|
};
|
|
259
256
|
}
|
|
260
257
|
}
|
package/dist/analyze-type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-type.js","sourceRoot":"","sources":["../src/analyze-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,4CAA4C;AAC5C,MAAM,SAAS,GAAG,IAAI,OAAO,EAAmB,CAAC;AAEjD;;;GAGG;AACH,SAAS,SAAS,CAAC,IAAa,EAAE,OAAuB;IACvD,+CAA+C;IAC/C,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,8DAA8D;IAC9D,+CAA+C;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CACrC,IAAI,EACJ,SAAS
|
|
1
|
+
{"version":3,"file":"analyze-type.js","sourceRoot":"","sources":["../src/analyze-type.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { getTsConfigCompilerOptions } from './get-ts-config.js';
|
|
2
2
|
export { resolveTsModule } from './resolve.js';
|
|
3
3
|
export { analyzeExport, analyzeExports } from './analyze-exports.js';
|
|
4
|
-
export type { TypeInfo, SymbolInfo } from './types.js';
|
|
4
|
+
export type { TypeInfo, SymbolInfo, SymbolDeclaringInterface, } from './types.js';
|
|
5
5
|
export { convertToSpec } from './convert-to-spec.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrE,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrE,YAAY,EACV,QAAQ,EACR,UAAU,EACV,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMrE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -42,6 +42,17 @@ export type TypeInfo = ({
|
|
|
42
42
|
} & TypeInfoCommon) | ({
|
|
43
43
|
type: 'misc';
|
|
44
44
|
} & TypeInfoCommon);
|
|
45
|
+
export type SymbolDeclaringInterface = {
|
|
46
|
+
/** Name of the interface/type-alias that declares this symbol, if any. */
|
|
47
|
+
interfaceName?: string;
|
|
48
|
+
/**
|
|
49
|
+
* True when every declaration of this symbol lives inside a known React DOM
|
|
50
|
+
* type interface (`HTMLAttributes`, `*HTMLAttributes`, `DOMAttributes`,
|
|
51
|
+
* `AriaAttributes`, `SVGAttributes`, etc.). Used by renderers to filter the
|
|
52
|
+
* inherited DOM-attribute deluge from inferred specs.
|
|
53
|
+
*/
|
|
54
|
+
isReactDomInterface: boolean;
|
|
55
|
+
};
|
|
45
56
|
export type SymbolInfo = {
|
|
46
57
|
name: string;
|
|
47
58
|
jsDoc?: {
|
|
@@ -57,5 +68,10 @@ export type SymbolInfo = {
|
|
|
57
68
|
type?: ts.Type;
|
|
58
69
|
symbolFlags: Array<keyof typeof ts.SymbolFlags>;
|
|
59
70
|
};
|
|
71
|
+
/**
|
|
72
|
+
* Where this symbol is declared. Populated only for properties of object
|
|
73
|
+
* types (i.e. component props). Absent for synthetic or unresolvable symbols.
|
|
74
|
+
*/
|
|
75
|
+
declaredIn?: SymbolDeclaringInterface;
|
|
60
76
|
};
|
|
61
77
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE;QACV,SAAS,EAAE,KAAK,CAAC,MAAM,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;KAChB,CAAC;CACH,CAAC;AACF,MAAM,MAAM,QAAQ,GAChB,CAAC;IACC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACvC,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;CACjB,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACxC,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC7B,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,qBAAqB,EAAE,QAAQ,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC;CACvB,GAAG,cAAc,CAAC,GACnB,CAAC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG,cAAc,CAAC,GACtC,CAAC;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG,cAAc,CAAC,GAClC,CAAC;IACC,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,cAAc,CAAC,CAAC;AAExB,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnD,CAAC;IACF,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE;QACV,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;QACf,WAAW,EAAE,KAAK,CAAC,MAAM,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;KACjD,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE;QACV,SAAS,EAAE,KAAK,CAAC,MAAM,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;KAChB,CAAC;CACH,CAAC;AACF,MAAM,MAAM,QAAQ,GAChB,CAAC;IACC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACvC,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;CACjB,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACxC,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC7B,GAAG,cAAc,CAAC,GACnB,CAAC;IACC,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACvC,qBAAqB,EAAE,UAAU,EAAE,CAAC;IACpC,qBAAqB,EAAE,QAAQ,CAAC;IAChC,SAAS,EAAE,UAAU,CAAC;CACvB,GAAG,cAAc,CAAC,GACnB,CAAC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG,cAAc,CAAC,GACtC,CAAC;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG,cAAc,CAAC,GAClC,CAAC;IACC,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,cAAc,CAAC,CAAC;AAExB,MAAM,MAAM,wBAAwB,GAAG;IACrC,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACnD,CAAC;IACF,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE;QACV,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;QACf,WAAW,EAAE,KAAK,CAAC,MAAM,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;KACjD,CAAC;IACF;;;OAGG;IACH,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC,CAAC"}
|
package/dist/utils.js
CHANGED
|
@@ -27,11 +27,9 @@ export function getSetFlags({ flags, enumObject, }) {
|
|
|
27
27
|
return Object.entries(enumObject)
|
|
28
28
|
.filter(([, value]) => {
|
|
29
29
|
// Only consider power of 2 values (single flags)
|
|
30
|
-
// eslint-disable-next-line no-bitwise
|
|
31
30
|
if ((value & (value - 1)) !== 0)
|
|
32
31
|
return false;
|
|
33
32
|
// Check if the flag is set
|
|
34
|
-
// eslint-disable-next-line no-bitwise
|
|
35
33
|
return (flags & value) !== 0;
|
|
36
34
|
})
|
|
37
35
|
.map(([key]) => key);
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAoC,EAC7D,KAAK,EACL,UAAU,GAUX;IACC;;;;;;;;;OASG;IACH,OAAQ,MAAM,CAAC,OAAO,CAAC,UAAU,CAA8B;SAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,iDAAiD;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAoC,EAC7D,KAAK,EACL,UAAU,GAUX;IACC;;;;;;;;;OASG;IACH,OAAQ,MAAM,CAAC,OAAO,CAAC,UAAU,CAA8B;SAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,iDAAiD;QAEjD,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC9C,2BAA2B;QAE3B,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAkB,EAClB,IAAO;IAEP,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,wBAAwB,IAAI,WAAW,QAAQ,CAAC,IAAI,GAAG,CAAC;QACpE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knapsack/spec-utils",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "4.92.25--canary.
|
|
4
|
+
"version": "4.92.25--canary.cf909ae.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
@@ -20,19 +20,19 @@
|
|
|
20
20
|
"test": "vitest run"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@knapsack/utils": "4.92.25--canary.
|
|
23
|
+
"@knapsack/utils": "4.92.25--canary.cf909ae.0",
|
|
24
24
|
"json-stable-stringify": "^1.3.0",
|
|
25
25
|
"quick-lru": "^7.3.0",
|
|
26
26
|
"typescript": "^5.9.3"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@knapsack/angular-sandbox-components": "4.92.25--canary.
|
|
30
|
-
"@knapsack/eslint-config-starter": "4.92.25--canary.
|
|
31
|
-
"@knapsack/file-utils": "4.92.25--canary.
|
|
32
|
-
"@knapsack/prettier-config": "4.92.25--canary.
|
|
33
|
-
"@knapsack/sandbox-components": "4.92.25--canary.
|
|
34
|
-
"@knapsack/types": "4.92.25--canary.
|
|
35
|
-
"@knapsack/typescript-config-starter": "4.92.25--canary.
|
|
29
|
+
"@knapsack/angular-sandbox-components": "4.92.25--canary.cf909ae.0",
|
|
30
|
+
"@knapsack/eslint-config-starter": "4.92.25--canary.cf909ae.0",
|
|
31
|
+
"@knapsack/file-utils": "4.92.25--canary.cf909ae.0",
|
|
32
|
+
"@knapsack/prettier-config": "4.92.25--canary.cf909ae.0",
|
|
33
|
+
"@knapsack/sandbox-components": "4.92.25--canary.cf909ae.0",
|
|
34
|
+
"@knapsack/types": "4.92.25--canary.cf909ae.0",
|
|
35
|
+
"@knapsack/typescript-config-starter": "4.92.25--canary.cf909ae.0",
|
|
36
36
|
"@mui/material": "^5.18.0",
|
|
37
37
|
"@types/node": "^22.19.11",
|
|
38
38
|
"eslint": "^9.20.0",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"directory": "apps/client/libs/spec-utils",
|
|
48
48
|
"type": "git"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "cf909ae3229d6ad70144d7b3112cb8c709095d7a"
|
|
51
51
|
}
|