type-plus 4.14.0 → 4.14.1
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/cjs/object/omit.d.ts +1 -0
- package/cjs/object/omit.d.ts.map +1 -1
- package/cjs/object/omit.js +2 -1
- package/cjs/object/omit.js.map +1 -1
- package/cjs/object/omit.spec.js +22 -4
- package/cjs/object/omit.spec.js.map +1 -1
- package/cjs/object/pick.d.ts +1 -0
- package/cjs/object/pick.d.ts.map +1 -1
- package/cjs/object/pick.js +2 -1
- package/cjs/object/pick.js.map +1 -1
- package/cjs/object/pick.spec.js +37 -24
- package/cjs/object/pick.spec.js.map +1 -1
- package/esm/object/omit.d.ts +1 -0
- package/esm/object/omit.d.ts.map +1 -1
- package/esm/object/omit.js +2 -1
- package/esm/object/omit.js.map +1 -1
- package/esm/object/omit.spec.js +23 -5
- package/esm/object/omit.spec.js.map +1 -1
- package/esm/object/pick.d.ts +1 -0
- package/esm/object/pick.d.ts.map +1 -1
- package/esm/object/pick.js +2 -1
- package/esm/object/pick.js.map +1 -1
- package/esm/object/pick.spec.js +38 -25
- package/esm/object/pick.spec.js.map +1 -1
- package/package.json +1 -1
- package/ts/object/omit.ts +3 -1
- package/ts/object/pick.ts +3 -1
package/cjs/object/omit.d.ts
CHANGED
|
@@ -18,4 +18,5 @@ export declare function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 ex
|
|
|
18
18
|
export declare function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10): Omit<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10>;
|
|
19
19
|
export declare function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11): Omit<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11>;
|
|
20
20
|
export declare function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>, P12 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11, prop12: P12): Omit<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12>;
|
|
21
|
+
export declare function omit<T extends AnyRecord, Props extends UnionKeys<T>>(subject: T, ...props: Props[]): Omit<T, Props>;
|
|
21
22
|
//# sourceMappingURL=omit.d.ts.map
|
package/cjs/object/omit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../ts/object/omit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../ts/object/omit.ts"],"names":[],"mappings":"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"}
|
package/cjs/object/omit.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.omit = void 0;
|
|
4
4
|
var index_js_1 = require("../object/index.js");
|
|
5
|
+
var record_js_1 = require("./record.js");
|
|
5
6
|
function omit(subject) {
|
|
6
7
|
var props = [];
|
|
7
8
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
@@ -11,7 +12,7 @@ function omit(subject) {
|
|
|
11
12
|
if (props.indexOf(k) === -1)
|
|
12
13
|
p[k] = subject[k];
|
|
13
14
|
return p;
|
|
14
|
-
}, {});
|
|
15
|
+
}, Object.getPrototypeOf(subject) === null ? (0, record_js_1.record)() : {});
|
|
15
16
|
}
|
|
16
17
|
exports.omit = omit;
|
|
17
18
|
//# sourceMappingURL=omit.js.map
|
package/cjs/object/omit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../ts/object/omit.ts"],"names":[],"mappings":";;;AAAA,+CAA2D;
|
|
1
|
+
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../ts/object/omit.ts"],"names":[],"mappings":";;;AAAA,+CAA2D;AAG3D,yCAAoC;AA6BpC,SAAgB,IAAI,CAAsB,OAAU;IAAE,eAA6B;SAA7B,UAA6B,EAA7B,qBAA6B,EAA7B,IAA6B;QAA7B,8BAA6B;;IACjF,OAAO,IAAA,sBAAW,EAAC,OAAO,EAAE,UAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC9C,OAAO,CAAC,CAAA;IACV,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,kBAAM,GAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC7D,CAAC;AALD,oBAKC"}
|
package/cjs/object/omit.spec.js
CHANGED
|
@@ -12,7 +12,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
var index_js_1 = require("../index.js");
|
|
15
|
-
describe('Omit', function () {
|
|
15
|
+
describe('Omit<T, K>', function () {
|
|
16
16
|
test('work with primitive types', function () {
|
|
17
17
|
index_js_1.assertType.isFunction((function () { return ({}); }));
|
|
18
18
|
});
|
|
@@ -39,15 +39,33 @@ describe('Omit', function () {
|
|
|
39
39
|
}
|
|
40
40
|
foo({ b: '1' });
|
|
41
41
|
});
|
|
42
|
-
|
|
42
|
+
});
|
|
43
|
+
describe("".concat(index_js_1.omit.name, "()"), function () {
|
|
44
|
+
it('omits properties from object', function () {
|
|
43
45
|
var actual = (0, index_js_1.omit)({ a: 1, b: 2 }, 'a');
|
|
44
46
|
expect(actual).toEqual({ b: 2 });
|
|
47
|
+
index_js_1.isType.equal();
|
|
45
48
|
});
|
|
46
|
-
|
|
47
|
-
var actual = (0, index_js_1.omit)({ a: 1 }, 'a');
|
|
49
|
+
it('returns a empty object type when all props are omitted', function () {
|
|
50
|
+
var actual = (0, index_js_1.omit)({ a: 1, b: 1 }, 'a', 'b');
|
|
48
51
|
expect(actual).toEqual({});
|
|
52
|
+
index_js_1.isType.equal();
|
|
53
|
+
});
|
|
54
|
+
it('can object from generic record', function () {
|
|
55
|
+
var i = { a: 1, b: 2 };
|
|
56
|
+
var r = (0, index_js_1.omit)(i, 'a');
|
|
57
|
+
expect(r).toEqual({ b: 2 });
|
|
58
|
+
index_js_1.isType.equal();
|
|
59
|
+
});
|
|
60
|
+
it('supports more than 12 arguments', function () {
|
|
61
|
+
var actual = (0, index_js_1.omit)({ a: 1, b: 1, c: 1 }, 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'b');
|
|
62
|
+
expect(actual).toEqual({ c: 1 });
|
|
49
63
|
index_js_1.assertType.isTrue(true);
|
|
50
64
|
});
|
|
65
|
+
it('maintains the prototype null-ness', function () {
|
|
66
|
+
expect(Object.getPrototypeOf((0, index_js_1.omit)({ a: 1 }, 'a'))).not.toEqual(null);
|
|
67
|
+
expect(Object.getPrototypeOf((0, index_js_1.omit)((0, index_js_1.record)({ a: 1 }), 'a'))).toEqual(null);
|
|
68
|
+
});
|
|
51
69
|
});
|
|
52
70
|
describe('Except()', function () {
|
|
53
71
|
test('Remove properties', function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.spec.js","sourceRoot":"","sources":["../../ts/object/omit.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"omit.spec.js","sourceRoot":"","sources":["../../ts/object/omit.spec.ts"],"names":[],"mappings":"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"}
|
package/cjs/object/pick.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 ex
|
|
|
12
12
|
export declare function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10): Pick<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10>;
|
|
13
13
|
export declare function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11): Pick<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11>;
|
|
14
14
|
export declare function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>, P12 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11, prop12: P12): Pick<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12>;
|
|
15
|
+
export declare function pick<T extends AnyRecord, Props extends UnionKeys<T>>(subject: T, ...props: Props[]): Pick<T, Props>;
|
|
15
16
|
/**
|
|
16
17
|
* Pick properties `K` from `T`.
|
|
17
18
|
* Works with union.
|
package/cjs/object/pick.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../ts/object/pick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../ts/object/pick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI/C,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACtG,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;AAC/I,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACxL,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACjO,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AAC1Q,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACnT,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AAC5V,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACrY,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AAC9a,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAA;AAC3d,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;AACxgB,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;AACrjB,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAQpH;;;;;;GAMG;AACH,oBAAY,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;AAEhG,yBAAiB,IAAI,CAAC;IACpB,KAAY,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAAE,CAAA;CACzD"}
|
package/cjs/object/pick.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.pick = void 0;
|
|
4
|
+
var record_js_1 = require("./record.js");
|
|
4
5
|
var reduceKey_js_1 = require("./reduceKey.js");
|
|
5
6
|
function pick(subject) {
|
|
6
7
|
var props = [];
|
|
@@ -11,7 +12,7 @@ function pick(subject) {
|
|
|
11
12
|
if (props.indexOf(k) >= 0)
|
|
12
13
|
p[k] = subject[k];
|
|
13
14
|
return p;
|
|
14
|
-
}, {});
|
|
15
|
+
}, Object.getPrototypeOf(subject) === null ? (0, record_js_1.record)() : {});
|
|
15
16
|
}
|
|
16
17
|
exports.pick = pick;
|
|
17
18
|
//# sourceMappingURL=pick.js.map
|
package/cjs/object/pick.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pick.js","sourceRoot":"","sources":["../../ts/object/pick.ts"],"names":[],"mappings":";;;AAEA,+CAA4C;
|
|
1
|
+
{"version":3,"file":"pick.js","sourceRoot":"","sources":["../../ts/object/pick.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,+CAA4C;AAe5C,SAAgB,IAAI,CAAsB,OAAU;IAAE,eAA6B;SAA7B,UAA6B,EAA7B,qBAA6B,EAA7B,IAA6B;QAA7B,8BAA6B;;IACjF,OAAO,IAAA,0BAAW,EAAC,OAAO,EAAE,UAAC,CAAC,EAAE,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5C,OAAO,CAAC,CAAA;IACV,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,kBAAM,GAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC7D,CAAC;AALD,oBAKC"}
|
package/cjs/object/pick.spec.js
CHANGED
|
@@ -12,30 +12,43 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
var index_js_1 = require("../index.js");
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
35
|
-
test('
|
|
36
|
-
|
|
15
|
+
describe("Pick<T, K>", function () {
|
|
16
|
+
test('distributive pick', function () {
|
|
17
|
+
var x = { type: 'invoke', payload: [] };
|
|
18
|
+
var actions = [];
|
|
19
|
+
actions.push(__assign(__assign({}, x), { id: '1' }));
|
|
20
|
+
});
|
|
21
|
+
test('distributive pick with disjoined keys', function () {
|
|
22
|
+
var x = { type: 'A' };
|
|
23
|
+
x = { type: 'B', bar: 'bar' };
|
|
24
|
+
expect(x.bar).toBe('bar');
|
|
25
|
+
});
|
|
26
|
+
test('intersection types with generic', function () {
|
|
27
|
+
function foo(input) {
|
|
28
|
+
index_js_1.assertType.isString(input.a);
|
|
29
|
+
}
|
|
30
|
+
foo({ a: '1' });
|
|
31
|
+
});
|
|
32
|
+
test('optional property remains optional', function () {
|
|
33
|
+
index_js_1.assertType.isTrue((0, index_js_1.canAssign)()({}));
|
|
34
|
+
});
|
|
35
|
+
test('pick never gets empty object', function () {
|
|
36
|
+
index_js_1.assertType.isTrue(true);
|
|
37
|
+
});
|
|
37
38
|
});
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
describe("".concat(index_js_1.pick.name, "()"), function () {
|
|
40
|
+
it('picks properties from object', function () {
|
|
41
|
+
var actual = (0, index_js_1.pick)({ a: 1, b: 2 }, 'a');
|
|
42
|
+
expect(actual).toEqual({ a: 1 });
|
|
43
|
+
});
|
|
44
|
+
it('supports more than 12 arguments', function () {
|
|
45
|
+
var actual = (0, index_js_1.pick)({ a: 1, b: 1, c: 1 }, 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'b');
|
|
46
|
+
expect(actual).toEqual({ a: 1, b: 1 });
|
|
47
|
+
index_js_1.isType.equal();
|
|
48
|
+
});
|
|
49
|
+
it('maintains the prototype null-ness', function () {
|
|
50
|
+
expect(Object.getPrototypeOf((0, index_js_1.pick)({ a: 1 }, 'a'))).not.toEqual(null);
|
|
51
|
+
expect(Object.getPrototypeOf((0, index_js_1.pick)((0, index_js_1.record)({ a: 1 }), 'a'))).toEqual(null);
|
|
52
|
+
});
|
|
40
53
|
});
|
|
41
54
|
//# sourceMappingURL=pick.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pick.spec.js","sourceRoot":"","sources":["../../ts/object/pick.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"pick.spec.js","sourceRoot":"","sources":["../../ts/object/pick.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,wCAAsF;AAEtF,QAAQ,CAAC,YAAY,EAAE;IACrB,IAAI,CAAC,mBAAmB,EAAE;QAexB,IAAM,CAAC,GAAqC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QAE3E,IAAM,OAAO,GAAa,EAAE,CAAA;QAE5B,OAAO,CAAC,IAAI,uBAAM,CAAC,KAAE,EAAE,EAAE,GAAG,IAAG,CAAA;IACjC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uCAAuC,EAAE;QAU5C,IAAI,CAAC,GAAoC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAA;QACtD,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;QAE7B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,iCAAiC,EAAE;QAEtC,SAAS,GAAG,CAAI,KAAyB;YACvC,qBAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,oCAAoC,EAAE;QAGzC,qBAAU,CAAC,MAAM,CAAC,IAAA,oBAAS,GAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACvC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8BAA8B,EAAE;QAInC,qBAAU,CAAC,MAAM,CAAC,IAAuB,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,UAAG,eAAI,CAAC,IAAI,OAAI,EAAE;IACzB,EAAE,CAAC,8BAA8B,EAAE;QACjC,IAAM,MAAM,GAAG,IAAA,eAAI,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAExC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE;QACpC,IAAM,MAAM,GAAG,IAAA,eAAI,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAE1G,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACtC,iBAAM,CAAC,KAAK,EAAwC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE;QACtC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAA,eAAI,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACpE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAA,eAAI,EAAC,IAAA,iBAAM,EAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/esm/object/omit.d.ts
CHANGED
|
@@ -18,4 +18,5 @@ export declare function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 ex
|
|
|
18
18
|
export declare function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10): Omit<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10>;
|
|
19
19
|
export declare function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11): Omit<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11>;
|
|
20
20
|
export declare function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>, P12 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11, prop12: P12): Omit<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12>;
|
|
21
|
+
export declare function omit<T extends AnyRecord, Props extends UnionKeys<T>>(subject: T, ...props: Props[]): Omit<T, Props>;
|
|
21
22
|
//# sourceMappingURL=omit.d.ts.map
|
package/esm/object/omit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../ts/object/omit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"omit.d.ts","sourceRoot":"","sources":["../../ts/object/omit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAMhC,oBAAY,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GACrD,MAAM,CAAC,SAAS,CAAC,GAEjB,EAAE,GACF,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA;AAExC;;GAEG;AACH,oBAAY,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAErD,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACtG,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;AAC/I,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACxL,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACjO,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AAC1Q,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACnT,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AAC5V,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACrY,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AAC9a,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAA;AAC3d,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;AACxgB,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;AACrjB,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA"}
|
package/esm/object/omit.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { reduceByKey } from '../object/index.js';
|
|
2
|
+
import { record } from './record.js';
|
|
2
3
|
export function omit(subject, ...props) {
|
|
3
4
|
return reduceByKey(subject, (p, k) => {
|
|
4
5
|
if (props.indexOf(k) === -1)
|
|
5
6
|
p[k] = subject[k];
|
|
6
7
|
return p;
|
|
7
|
-
}, {});
|
|
8
|
+
}, Object.getPrototypeOf(subject) === null ? record() : {});
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=omit.js.map
|
package/esm/object/omit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../ts/object/omit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../ts/object/omit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAG3D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AA6BpC,MAAM,UAAU,IAAI,CAAsB,OAAU,EAAE,GAAG,KAA0B;IACjF,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC9C,OAAO,CAAC,CAAA;IACV,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC7D,CAAC"}
|
package/esm/object/omit.spec.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { assertType, omit } from '../index.js';
|
|
2
|
-
describe('Omit', () => {
|
|
1
|
+
import { assertType, isType, omit, record } from '../index.js';
|
|
2
|
+
describe('Omit<T, K>', () => {
|
|
3
3
|
test('work with primitive types', () => {
|
|
4
4
|
assertType.isFunction((() => ({})));
|
|
5
5
|
});
|
|
@@ -26,15 +26,33 @@ describe('Omit', () => {
|
|
|
26
26
|
}
|
|
27
27
|
foo({ b: '1' });
|
|
28
28
|
});
|
|
29
|
-
|
|
29
|
+
});
|
|
30
|
+
describe(`${omit.name}()`, () => {
|
|
31
|
+
it('omits properties from object', () => {
|
|
30
32
|
const actual = omit({ a: 1, b: 2 }, 'a');
|
|
31
33
|
expect(actual).toEqual({ b: 2 });
|
|
34
|
+
isType.equal();
|
|
32
35
|
});
|
|
33
|
-
|
|
34
|
-
const actual = omit({ a: 1 }, 'a');
|
|
36
|
+
it('returns a empty object type when all props are omitted', () => {
|
|
37
|
+
const actual = omit({ a: 1, b: 1 }, 'a', 'b');
|
|
35
38
|
expect(actual).toEqual({});
|
|
39
|
+
isType.equal();
|
|
40
|
+
});
|
|
41
|
+
it('can object from generic record', () => {
|
|
42
|
+
const i = { a: 1, b: 2 };
|
|
43
|
+
const r = omit(i, 'a');
|
|
44
|
+
expect(r).toEqual({ b: 2 });
|
|
45
|
+
isType.equal();
|
|
46
|
+
});
|
|
47
|
+
it('supports more than 12 arguments', () => {
|
|
48
|
+
const actual = omit({ a: 1, b: 1, c: 1 }, 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'b');
|
|
49
|
+
expect(actual).toEqual({ c: 1 });
|
|
36
50
|
assertType.isTrue(true);
|
|
37
51
|
});
|
|
52
|
+
it('maintains the prototype null-ness', () => {
|
|
53
|
+
expect(Object.getPrototypeOf(omit({ a: 1 }, 'a'))).not.toEqual(null);
|
|
54
|
+
expect(Object.getPrototypeOf(omit(record({ a: 1 }), 'a'))).toEqual(null);
|
|
55
|
+
});
|
|
38
56
|
});
|
|
39
57
|
describe('Except()', () => {
|
|
40
58
|
test('Remove properties', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.spec.js","sourceRoot":"","sources":["../../ts/object/omit.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"omit.spec.js","sourceRoot":"","sources":["../../ts/object/omit.spec.ts"],"names":[],"mappings":"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"}
|
package/esm/object/pick.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 ex
|
|
|
12
12
|
export declare function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10): Pick<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10>;
|
|
13
13
|
export declare function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11): Pick<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11>;
|
|
14
14
|
export declare function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>, P12 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11, prop12: P12): Pick<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12>;
|
|
15
|
+
export declare function pick<T extends AnyRecord, Props extends UnionKeys<T>>(subject: T, ...props: Props[]): Pick<T, Props>;
|
|
15
16
|
/**
|
|
16
17
|
* Pick properties `K` from `T`.
|
|
17
18
|
* Works with union.
|
package/esm/object/pick.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../ts/object/pick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../ts/object/pick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI/C,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACtG,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;AAC/I,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACxL,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACjO,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AAC1Q,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACnT,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AAC5V,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AACrY,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;AAC9a,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAA;AAC3d,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;AACxgB,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;AACrjB,wBAAgB,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAQpH;;;;;;GAMG;AACH,oBAAY,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;AAEhG,yBAAiB,IAAI,CAAC;IACpB,KAAY,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KAAE,CAAA;CACzD"}
|
package/esm/object/pick.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { record } from './record.js';
|
|
1
2
|
import { reduceByKey } from './reduceKey.js';
|
|
2
3
|
export function pick(subject, ...props) {
|
|
3
4
|
return reduceByKey(subject, (p, k) => {
|
|
4
5
|
if (props.indexOf(k) >= 0)
|
|
5
6
|
p[k] = subject[k];
|
|
6
7
|
return p;
|
|
7
|
-
}, {});
|
|
8
|
+
}, Object.getPrototypeOf(subject) === null ? record() : {});
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=pick.js.map
|
package/esm/object/pick.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pick.js","sourceRoot":"","sources":["../../ts/object/pick.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"pick.js","sourceRoot":"","sources":["../../ts/object/pick.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAe5C,MAAM,UAAU,IAAI,CAAsB,OAAU,EAAE,GAAG,KAA0B;IACjF,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC5C,OAAO,CAAC,CAAA;IACV,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAC7D,CAAC"}
|
package/esm/object/pick.spec.js
CHANGED
|
@@ -1,28 +1,41 @@
|
|
|
1
|
-
import { assertType, canAssign, pick } from '../index.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { assertType, canAssign, isType, pick, record } from '../index.js';
|
|
2
|
+
describe(`Pick<T, K>`, () => {
|
|
3
|
+
test('distributive pick', () => {
|
|
4
|
+
const x = { type: 'invoke', payload: [] };
|
|
5
|
+
const actions = [];
|
|
6
|
+
actions.push({ ...x, id: '1' });
|
|
7
|
+
});
|
|
8
|
+
test('distributive pick with disjoined keys', () => {
|
|
9
|
+
let x = { type: 'A' };
|
|
10
|
+
x = { type: 'B', bar: 'bar' };
|
|
11
|
+
expect(x.bar).toBe('bar');
|
|
12
|
+
});
|
|
13
|
+
test('intersection types with generic', () => {
|
|
14
|
+
function foo(input) {
|
|
15
|
+
assertType.isString(input.a);
|
|
16
|
+
}
|
|
17
|
+
foo({ a: '1' });
|
|
18
|
+
});
|
|
19
|
+
test('optional property remains optional', () => {
|
|
20
|
+
assertType.isTrue(canAssign()({}));
|
|
21
|
+
});
|
|
22
|
+
test('pick never gets empty object', () => {
|
|
23
|
+
assertType.isTrue(true);
|
|
24
|
+
});
|
|
5
25
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
foo({ a: '1' });
|
|
21
|
-
});
|
|
22
|
-
test('optional property remains optional', () => {
|
|
23
|
-
assertType.isTrue(canAssign()({}));
|
|
24
|
-
});
|
|
25
|
-
test('pick never gets empty object', () => {
|
|
26
|
-
assertType.isTrue(true);
|
|
26
|
+
describe(`${pick.name}()`, () => {
|
|
27
|
+
it('picks properties from object', () => {
|
|
28
|
+
const actual = pick({ a: 1, b: 2 }, 'a');
|
|
29
|
+
expect(actual).toEqual({ a: 1 });
|
|
30
|
+
});
|
|
31
|
+
it('supports more than 12 arguments', () => {
|
|
32
|
+
const actual = pick({ a: 1, b: 1, c: 1 }, 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'b');
|
|
33
|
+
expect(actual).toEqual({ a: 1, b: 1 });
|
|
34
|
+
isType.equal();
|
|
35
|
+
});
|
|
36
|
+
it('maintains the prototype null-ness', () => {
|
|
37
|
+
expect(Object.getPrototypeOf(pick({ a: 1 }, 'a'))).not.toEqual(null);
|
|
38
|
+
expect(Object.getPrototypeOf(pick(record({ a: 1 }), 'a'))).toEqual(null);
|
|
39
|
+
});
|
|
27
40
|
});
|
|
28
41
|
//# sourceMappingURL=pick.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pick.spec.js","sourceRoot":"","sources":["../../ts/object/pick.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"pick.spec.js","sourceRoot":"","sources":["../../ts/object/pick.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/ts/object/omit.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AnyRecord, reduceByKey } from '../object/index.js'
|
|
2
2
|
import { UnionKeys } from '../UnionKeys.js'
|
|
3
3
|
import { Pick } from './pick.js'
|
|
4
|
+
import { record } from './record.js'
|
|
4
5
|
|
|
5
6
|
// by Titian Cernicova-Dragomir
|
|
6
7
|
// https://github.com/microsoft/TypeScript/issues/28339#issuecomment-463577347
|
|
@@ -28,9 +29,10 @@ export function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends Un
|
|
|
28
29
|
export function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10): Omit<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10>
|
|
29
30
|
export function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11): Omit<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11>
|
|
30
31
|
export function omit<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>, P12 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11, prop12: P12): Omit<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12>
|
|
32
|
+
export function omit<T extends AnyRecord, Props extends UnionKeys<T>>(subject: T, ...props: Props[]): Omit<T, Props>
|
|
31
33
|
export function omit<T extends AnyRecord>(subject: T, ...props: Array<UnionKeys<T>>) {
|
|
32
34
|
return reduceByKey(subject, (p, k) => {
|
|
33
35
|
if (props.indexOf(k) === -1) p[k] = subject[k]
|
|
34
36
|
return p
|
|
35
|
-
},
|
|
37
|
+
}, Object.getPrototypeOf(subject) === null ? record() : {})
|
|
36
38
|
}
|
package/ts/object/pick.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { UnionKeys } from '../UnionKeys.js'
|
|
2
2
|
import type { AnyRecord } from './AnyRecord.js'
|
|
3
|
+
import { record } from './record.js'
|
|
3
4
|
import { reduceByKey } from './reduceKey.js'
|
|
4
5
|
|
|
5
6
|
export function pick<T extends AnyRecord, P1 extends UnionKeys<T>>(subject: T, prop1: P1): Pick<T, P1>
|
|
@@ -14,11 +15,12 @@ export function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends Un
|
|
|
14
15
|
export function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10): Pick<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10>
|
|
15
16
|
export function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11): Pick<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11>
|
|
16
17
|
export function pick<T extends AnyRecord, P1 extends UnionKeys<T>, P2 extends UnionKeys<T>, P3 extends UnionKeys<T>, P4 extends UnionKeys<T>, P5 extends UnionKeys<T>, P6 extends UnionKeys<T>, P7 extends UnionKeys<T>, P8 extends UnionKeys<T>, P9 extends UnionKeys<T>, P10 extends UnionKeys<T>, P11 extends UnionKeys<T>, P12 extends UnionKeys<T>>(subject: T, prop1: P1, prop2: P2, prop3: P3, prop4: P4, prop5: P5, prop6: P6, prop7: P7, prop8: P8, prop9: P9, prop10: P10, prop11: P11, prop12: P12): Pick<T, P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12>
|
|
18
|
+
export function pick<T extends AnyRecord, Props extends UnionKeys<T>>(subject: T, ...props: Props[]): Pick<T, Props>
|
|
17
19
|
export function pick<T extends AnyRecord>(subject: T, ...props: Array<UnionKeys<T>>) {
|
|
18
20
|
return reduceByKey(subject, (p, k) => {
|
|
19
21
|
if (props.indexOf(k) >= 0) p[k] = subject[k]
|
|
20
22
|
return p
|
|
21
|
-
},
|
|
23
|
+
}, Object.getPrototypeOf(subject) === null ? record() : {})
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
/**
|