@modular-component/core 0.1.1 → 0.1.3
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/CHANGELOG.md +12 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +6 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -1
- package/src/types.ts +11 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @modular-component/core
|
|
2
2
|
|
|
3
|
+
## 0.1.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- d5c9031: Add children as direct argument, inheriting props.children
|
|
8
|
+
|
|
9
|
+
## 0.1.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- e95e0ad: Move to using Symbols for transform map
|
|
14
|
+
|
|
3
15
|
## 0.1.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ function ModularFactory(methods) {
|
|
|
17
17
|
Component.asHook = ((field) => (props) => {
|
|
18
18
|
// Prepare the shared arguments object, prefilling it with the props
|
|
19
19
|
// and an empty render result
|
|
20
|
-
let args = { props, render: null };
|
|
20
|
+
let args = { props, children: props.children, render: null };
|
|
21
21
|
// Run each stage in order, replacing the arguments by the response
|
|
22
22
|
// from the last stage
|
|
23
23
|
for (const stage of stages) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,SAAS,cAAc,CAA+B,OAAgB;IAKpE,OAAO;QACL,KAAK,EAAE,CACL,SAAuC,EAAE,EACzC,EAAE;YACF,OAAO,CAAa,WAAoB,EAAE,EAAE;gBAC1C,2EAA2E;gBAC3E,gEAAgE;gBAChE,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC3B,oEAAoE;oBACpE,6BAA6B;oBAC7B,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,EAAE,CAAA;oBACvC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;oBAEhC,OAAQ,IAAoC,CAAC,MAAM,IAAI,IAAI,CAAA;gBAC7D,CAAC,CAAyC,CAAA;gBAE1C,yCAAyC;gBACzC,SAAS,CAAC,WAAW,GAAG,WAAW,CAAA;gBAEnC,qEAAqE;gBACrE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,KAAY,EAAE,EAAE;oBACtD,oEAAoE;oBACpE,6BAA6B;oBAC7B,IAAI,IAAI,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export declare type MethodEntry = {
|
|
|
13
13
|
restrict?: unknown;
|
|
14
14
|
multiple?: boolean;
|
|
15
15
|
empty?: boolean;
|
|
16
|
+
symbol?: symbol;
|
|
16
17
|
};
|
|
17
18
|
export declare type MethodRecord = Record<MethodName, MethodEntry>;
|
|
18
19
|
declare type AppendStage<List extends StageList, Stage extends MethodName, Value extends unknown, Prev extends StageEntry = GetStage<List, Stage>> = [
|
|
@@ -49,12 +50,15 @@ declare type ComputeArgs<Stages extends StageList, Limit extends string, Union =
|
|
|
49
50
|
[key in keyof V]: V[key];
|
|
50
51
|
} : never : U[key];
|
|
51
52
|
} : never;
|
|
52
|
-
declare type TransformArg<Value,
|
|
53
|
+
declare type TransformArg<Value, Symbol> = Symbol extends keyof ModularStageTransform<Value> ? ModularStageTransform<Value>[Symbol] : Value;
|
|
53
54
|
declare type MapArgs<Stages extends StageList, Limit extends string, Methods extends MethodRecord, Props, Args = ComputeArgs<Stages, Limit>> = UnionToIntersection<{
|
|
54
55
|
props: Props;
|
|
56
|
+
children: Props extends {
|
|
57
|
+
children: infer U;
|
|
58
|
+
} ? U : never;
|
|
55
59
|
} | {
|
|
56
60
|
[key in keyof Methods]: key extends keyof Args ? Methods[key] extends MethodEntry ? {
|
|
57
|
-
[k in Methods[key]['field']]: TransformArg<Args[key], key>;
|
|
61
|
+
[k in Methods[key]['field']]: TransformArg<Args[key], Methods[key]['symbol']>;
|
|
58
62
|
} : never : never;
|
|
59
63
|
}[keyof Methods]> extends infer U ? {
|
|
60
64
|
[key in keyof U]: U[key] extends Record<string, unknown> ? U[key] extends infer V ? {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -31,7 +31,7 @@ function ModularFactory<Methods extends MethodRecord>(methods: Methods) {
|
|
|
31
31
|
Component.asHook = ((field: string) => (props: Props) => {
|
|
32
32
|
// Prepare the shared arguments object, prefilling it with the props
|
|
33
33
|
// and an empty render result
|
|
34
|
-
let args = { props, render: null }
|
|
34
|
+
let args = { props, children: (props as { children?: unknown }).children, render: null }
|
|
35
35
|
|
|
36
36
|
// Run each stage in order, replacing the arguments by the response
|
|
37
37
|
// from the last stage
|
package/src/types.ts
CHANGED
|
@@ -19,6 +19,7 @@ export type MethodEntry = {
|
|
|
19
19
|
restrict?: unknown
|
|
20
20
|
multiple?: boolean
|
|
21
21
|
empty?: boolean
|
|
22
|
+
symbol?: symbol
|
|
22
23
|
}
|
|
23
24
|
export type MethodRecord = Record<MethodName, MethodEntry>
|
|
24
25
|
|
|
@@ -94,8 +95,11 @@ type ComputeArgs<
|
|
|
94
95
|
|
|
95
96
|
// Check if a custom transform exists for the given argument, and apply
|
|
96
97
|
// it to the current value if there is
|
|
97
|
-
type TransformArg<
|
|
98
|
-
|
|
98
|
+
type TransformArg<
|
|
99
|
+
Value,
|
|
100
|
+
Symbol
|
|
101
|
+
> = Symbol extends keyof ModularStageTransform<Value>
|
|
102
|
+
? ModularStageTransform<Value>[Symbol]
|
|
99
103
|
: Value
|
|
100
104
|
|
|
101
105
|
// Map all computed arguments against the methods map to convert
|
|
@@ -109,14 +113,17 @@ type MapArgs<
|
|
|
109
113
|
Args = ComputeArgs<Stages, Limit>,
|
|
110
114
|
> = UnionToIntersection<
|
|
111
115
|
// Start by injecting the original props
|
|
112
|
-
| { props: Props }
|
|
116
|
+
| { props: Props, children: Props extends { children: infer U } ? U : never }
|
|
113
117
|
// Map over all configured methods
|
|
114
118
|
| {
|
|
115
119
|
[key in keyof Methods]: key extends keyof Args // Check if an arg exists for the given method
|
|
116
120
|
? Methods[key] extends MethodEntry
|
|
117
121
|
? {
|
|
118
122
|
// Extract the field name from the method
|
|
119
|
-
[k in Methods[key]['field']]: TransformArg<
|
|
123
|
+
[k in Methods[key]['field']]: TransformArg<
|
|
124
|
+
Args[key],
|
|
125
|
+
Methods[key]['symbol']
|
|
126
|
+
>
|
|
120
127
|
}
|
|
121
128
|
: never
|
|
122
129
|
: // Set to never if the arg does not exist
|