@modular-component/core 0.1.0 → 0.1.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @modular-component/core
2
2
 
3
+ ## 0.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - e95e0ad: Move to using Symbols for transform map
8
+
9
+ ## 0.1.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 6b2a1ab: Fix atStage function for multiple-mode stages: now correctly takes the last occurrence as typings suggest.
14
+
3
15
  ## 0.1.0
4
16
 
5
17
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGvE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAsH3E,eAAO,MAAM,cAAc;uDA7Gb,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,gCAEF,MAAM;;;;;;;6DAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;iEAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;qEAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;yEAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;6EAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;iFAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;qFAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;yFAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;6FAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;kGAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,mCAEF,MAAM;;;;;;;;;;;;;;;;;;;;;;CAgHnC,CAAA;AAEX,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEvE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAc,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGvE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AA4H3E,eAAO,MAAM,cAAc;uDAnHb,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,gCAEF,MAAM;;;;;;;6DAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;iEAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;qEAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;yEAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;6EAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;iFAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;qFAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;yFAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;6FAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,kCAEF,MAAM;;;;;;;;;;;;kGAFhC,KAAK,UAAU,EAAE,QAAQ,CAAC,EAAE,mCAEF,MAAM;;;;;;;;;;;;;;;;;;;;;;CAsHnC,CAAA;AAEX,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEvE"}
package/dist/index.js CHANGED
@@ -38,7 +38,13 @@ function ModularFactory(methods) {
38
38
  // Add a function for rewinding the component up to a certain stage
39
39
  Component.atStage = ((stage) => {
40
40
  // Find the needed stage
41
- const stageIndex = stages.findIndex((record) => record.key === stage);
41
+ const stageIndex = (stages
42
+ // Map all stages to an [index, stage] tuple
43
+ .map((record, index) => [index, record])
44
+ // Remove all tuples not matching our stage
45
+ .filter(([, record]) => record.key === stage)
46
+ // Get the index of the very last one, or -1 if none are remaining
47
+ .pop() || [-1])[0];
42
48
  // If the stage cannot be found, create a brand new, empty component
43
49
  if (stageIndex === -1) {
44
50
  return ModularFactory(methods).build()(displayName);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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;oBAElC,mEAAmE;oBACnE,sBAAsB;oBACtB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;wBAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAiB,CAAC,CAAA;wBAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAA;wBAC5B,MAAM,YAAY,GAChB,MAAM,CAAC,SAAS;4BAChB,CAAC,GAAG,EAAE,CACJ,OAAO,QAAQ,KAAK,UAAU;gCAC5B,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;gCACvB,CAAC,CAAC,QAAQ,CAAC,CAAA;wBAEjB,IAAI,GAAG;4BACL,GAAG,IAAI;4BACP,CAAC,MAAM,CAAC,KAA0B,CAAC,EAAE,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC;yBAClE,CAAA;qBACF;oBAED,2BAA2B;oBAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;gBACxD,CAAC,CAA8D,CAAA;gBAE/D,mEAAmE;gBACnE,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,KAAiB,EAAE,EAAE;oBACzC,wBAAwB;oBACxB,MAAM,UAAU,GAAG,CAAC,MAAM;wBACxB,4CAA4C;yBAC3C,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;wBACjD,2CAA2C;yBAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC;wBAC7C,kEAAkE;yBACjE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAEpB,oEAAoE;oBACpE,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;wBACrB,OAAO,cAAc,CAAU,OAAO,CAAC,CAAC,KAAK,EAAE,CAAQ,WAAW,CAAC,CAAA;qBACpE;oBAED,iEAAiE;oBACjE,OAAO,cAAc,CAAU,OAAO,CAAC,CAAC,KAAK,CAC3C,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAChC,CAAQ,WAAW,CAAC,CAAA;gBACvB,CAAC,CAA+D,CAAA;gBAEhE,oDAAoD;gBACpD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;oBACtC,SAAS,CAAC,MAA4B,CAAC,GAAG,CAAC,CAAC,KAAc,EAAE,EAAE;wBAC5D,wBAAwB;wBACxB,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,MAAoB,EAAE,KAAK,EAAE,CAAA;wBAElD,yDAAyD;wBACzD,IAAI,OAAO,CAAC,MAAoB,CAAC,CAAC,QAAQ,EAAE;4BAC1C,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CACtD,WAAW,CACZ,CAAA;yBACF;wBAED,oEAAoE;wBACpE,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAA;wBAEzD,yDAAyD;wBACzD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;4BACd,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,CAAA;4BAC9B,UAAU,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;4BACzB,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAC9C,WAAW,CACZ,CAAA;yBACF;wBAED,kDAAkD;wBAClD,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CACtD,WAAW,CACZ,CAAA;oBACH,CAAC,CAIoB,CAAA;gBACvB,CAAC,CAAC,CAAA;gBAEF,OAAO,SAAS,CAAA;YAClB,CAAC,CAAA;QACH,CAAC;QACD,MAAM,EAAE,CAAgC,QAAkB,EAAE,EAAE;YAC5D,OAAO,cAAc,CAAqB;gBACxC,GAAG,OAAO;gBACV,GAAG,QAAQ;aACZ,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC;IAC3C,UAAU,EAAE;QACV,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,EAAmC;KAC9C;CACO,CAAC,CAAA;AAEX,MAAM,UAAU,kBAAkB,CAAyB,MAAS;IAClE,OAAO,MAAM,CAAA;AACf,CAAC"}
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,12 @@ 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, Key> = Key extends keyof ModularStageTransform<Value> ? ModularStageTransform<Value>[Key] : 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;
55
56
  } | {
56
57
  [key in keyof Methods]: key extends keyof Args ? Methods[key] extends MethodEntry ? {
57
- [k in Methods[key]['field']]: TransformArg<Args[key], key>;
58
+ [k in Methods[key]['field']]: TransformArg<Args[key], Methods[key]['symbol']>;
58
59
  } : never : never;
59
60
  }[keyof Methods]> extends infer U ? {
60
61
  [key in keyof U]: U[key] extends Record<string, unknown> ? U[key] extends infer V ? {
@@ -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
@@ -7,7 +7,7 @@
7
7
  "Factory",
8
8
  "Test"
9
9
  ],
10
- "version": "0.1.0",
10
+ "version": "0.1.2",
11
11
  "type": "module",
12
12
  "license": "MIT",
13
13
  "publishConfig": {
package/src/index.ts CHANGED
@@ -58,7 +58,13 @@ function ModularFactory<Methods extends MethodRecord>(methods: Methods) {
58
58
  // Add a function for rewinding the component up to a certain stage
59
59
  Component.atStage = ((stage: MethodName) => {
60
60
  // Find the needed stage
61
- const stageIndex = stages.findIndex((record) => record.key === stage)
61
+ const stageIndex = (stages
62
+ // Map all stages to an [index, stage] tuple
63
+ .map((record, index) => [index, record] as const)
64
+ // Remove all tuples not matching our stage
65
+ .filter(([, record]) => record.key === stage)
66
+ // Get the index of the very last one, or -1 if none are remaining
67
+ .pop() || [-1])[0]
62
68
 
63
69
  // If the stage cannot be found, create a brand new, empty component
64
70
  if (stageIndex === -1) {
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<Value, Key> = Key extends keyof ModularStageTransform<Value>
98
- ? ModularStageTransform<Value>[Key]
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
@@ -116,7 +120,10 @@ type MapArgs<
116
120
  ? Methods[key] extends MethodEntry
117
121
  ? {
118
122
  // Extract the field name from the method
119
- [k in Methods[key]['field']]: TransformArg<Args[key], key>
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