hotypes 0.4.4 → 0.4.7

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/README.md CHANGED
@@ -41,6 +41,7 @@ It is highly recommended to read test cases to make sure you understand what typ
41
41
  - Last
42
42
  - MapNullablePropsToOptionalNullable
43
43
  - MapNullablePropsToOptional
44
+ - MapProps
44
45
  - MapPropsByKeyToNonOptional
45
46
  - MapPropsByKeyToOptional
46
47
  - MapPropsByKey
@@ -48,6 +49,7 @@ It is highly recommended to read test cases to make sure you understand what typ
48
49
  - MapPropsExtendType
49
50
  - MapPropsToNonNullable
50
51
  - Mixin
52
+ - MixinAll
51
53
  - NonNullableKeys
52
54
  - NullableKeys
53
55
  - OmitPropsByType
package/lib/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from './keys-extend-type';
8
8
  export * from './last';
9
9
  export * from './map-nullable-props-to-optional-nullable';
10
10
  export * from './map-nullable-props-to-optional';
11
+ export * from './map-props';
11
12
  export * from './map-props-by-key-to-non-optional';
12
13
  export * from './map-props-by-key';
13
14
  export * from './map-props-by-type';
@@ -15,6 +16,7 @@ export * from './map-props-by-key-to-optional';
15
16
  export * from './map-props-extend-type';
16
17
  export * from './map-props-to-non-nullable';
17
18
  export * from './mixin';
19
+ export * from './mixin-all';
18
20
  export * from './non-nullable-keys';
19
21
  export * from './nullable-keys';
20
22
  export * from './omit-props-by-type';
package/lib/index.js CHANGED
@@ -24,6 +24,7 @@ __exportStar(require("./keys-extend-type"), exports);
24
24
  __exportStar(require("./last"), exports);
25
25
  __exportStar(require("./map-nullable-props-to-optional-nullable"), exports);
26
26
  __exportStar(require("./map-nullable-props-to-optional"), exports);
27
+ __exportStar(require("./map-props"), exports);
27
28
  __exportStar(require("./map-props-by-key-to-non-optional"), exports);
28
29
  __exportStar(require("./map-props-by-key"), exports);
29
30
  __exportStar(require("./map-props-by-type"), exports);
@@ -31,6 +32,7 @@ __exportStar(require("./map-props-by-key-to-optional"), exports);
31
32
  __exportStar(require("./map-props-extend-type"), exports);
32
33
  __exportStar(require("./map-props-to-non-nullable"), exports);
33
34
  __exportStar(require("./mixin"), exports);
35
+ __exportStar(require("./mixin-all"), exports);
34
36
  __exportStar(require("./non-nullable-keys"), exports);
35
37
  __exportStar(require("./nullable-keys"), exports);
36
38
  __exportStar(require("./omit-props-by-type"), exports);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,kDAA+B;AAC/B,yCAAsB;AACtB,iDAA8B;AAC9B,yDAAsC;AACtC,6DAA0C;AAC1C,qDAAkC;AAClC,yCAAsB;AACtB,4EAAyD;AACzD,mEAAgD;AAChD,qEAAkD;AAClD,qDAAkC;AAClC,sDAAmC;AACnC,iEAA8C;AAC9C,0DAAuC;AACvC,8DAA2C;AAC3C,0CAAuB;AACvB,sDAAmC;AACnC,kDAA+B;AAC/B,uDAAoC;AACpC,2DAAwC;AACxC,kDAA+B;AAC/B,mDAAgC;AAChC,yDAAsC;AACtC,0DAAuC;AACvC,iDAA8B;AAC9B,+DAA4C;AAC5C,yCAAsB;AACtB,iDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,kDAA+B;AAC/B,yCAAsB;AACtB,iDAA8B;AAC9B,yDAAsC;AACtC,6DAA0C;AAC1C,qDAAkC;AAClC,yCAAsB;AACtB,4EAAyD;AACzD,mEAAgD;AAChD,8CAA2B;AAC3B,qEAAkD;AAClD,qDAAkC;AAClC,sDAAmC;AACnC,iEAA8C;AAC9C,0DAAuC;AACvC,8DAA2C;AAC3C,0CAAuB;AACvB,8CAA2B;AAC3B,sDAAmC;AACnC,kDAA+B;AAC/B,uDAAoC;AACpC,2DAAwC;AACxC,kDAA+B;AAC/B,mDAAgC;AAChC,yDAAsC;AACtC,0DAAuC;AACvC,iDAA8B;AAC9B,+DAA4C;AAC5C,yCAAsB;AACtB,iDAA8B"}
@@ -0,0 +1,3 @@
1
+ export declare type MapProps<T, NewType> = {
2
+ [Key in keyof T]: NewType;
3
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=map-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-props.js","sourceRoot":"","sources":["../src/map-props.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { Mixin } from './mixin';
2
+ export declare type MixinAll<Tuple extends any[], Result = {}> = Tuple extends [infer First, ...infer Rest] ? MixinAll<Rest, Mixin<Result, First>> : Result;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mixin-all.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin-all.js","sourceRoot":"","sources":["../src/mixin-all.ts"],"names":[],"mappings":""}
package/lib/mixin.d.ts CHANGED
@@ -1 +1,3 @@
1
- export declare type Mixin<Base, Other> = Pick<Base, Exclude<keyof Base, keyof Other>> & Other;
1
+ export declare type Mixin<Base, Other> = {
2
+ [Key in keyof (Base & Other)]: Key extends keyof Other ? Other[Key] : Key extends keyof Base ? Base[Key] : never;
3
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hotypes",
3
- "version": "0.4.4",
3
+ "version": "0.4.7",
4
4
  "description": "Higher order types for TypeScript",
5
5
  "keywords": [
6
6
  "higher-order",
@@ -16,6 +16,7 @@
16
16
  "repository": "git@github.com:BlackGlory/hotypes.git",
17
17
  "author": "BlackGlory <woshenmedoubuzhidao@blackglory.me>",
18
18
  "license": "MIT",
19
+ "sideEffects": false,
19
20
  "scripts": {
20
21
  "lint": "eslint --ext .js,.jsx,.ts,.tsx --quiet src __tests__",
21
22
  "test": "jest --config jest.config.js",
@@ -36,21 +37,21 @@
36
37
  }
37
38
  },
38
39
  "devDependencies": {
39
- "@blackglory/pass": "^1.0.0",
40
- "@commitlint/cli": "^16.2.3",
41
- "@commitlint/config-conventional": "^16.2.1",
40
+ "@blackglory/pass": "^1.0.1",
41
+ "@commitlint/cli": "^17.0.3",
42
+ "@commitlint/config-conventional": "^17.0.3",
42
43
  "@types/jest": "^27.4.1",
43
- "@typescript-eslint/eslint-plugin": "^5.15.0",
44
- "@typescript-eslint/parser": "^5.15.0",
45
- "eslint": "^8.11.0",
44
+ "@typescript-eslint/eslint-plugin": "^5.34.0",
45
+ "@typescript-eslint/parser": "^5.34.0",
46
+ "eslint": "^8.22.0",
46
47
  "husky": "^4.3.8",
47
48
  "jest": "^27.5.1",
48
49
  "npm-run-all": "^4.1.5",
49
50
  "rimraf": "^3.0.2",
50
- "standard-version": "^9.3.2",
51
+ "standard-version": "^9.5.0",
51
52
  "ts-jest": "^27.1.3",
52
53
  "tscpaths": "^0.0.9",
53
- "tslib": "^2.3.1",
54
- "typescript": "^4.6.2"
54
+ "tslib": "^2.4.0",
55
+ "typescript": "^4.7.4"
55
56
  }
56
57
  }