cdk-common 2.0.1100 → 2.0.1102

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/.jsii CHANGED
@@ -11724,6 +11724,6 @@
11724
11724
  "symbolId": "src/main:LambdaArmFunctionProps"
11725
11725
  }
11726
11726
  },
11727
- "version": "2.0.1100",
11728
- "fingerprint": "stw7sUkclYNs3HCIUhCkSwj0svyrWdXRErwF7zBUs/k="
11727
+ "version": "2.0.1102",
11728
+ "fingerprint": "r9Z/qcl2TPo8i8sdQTz9RbK81KFCEN5Rqf7gz7Q9ZEM="
11729
11729
  }
package/lib/main.js CHANGED
@@ -41,5 +41,5 @@ class LambdaArmFunction extends constructs_1.Construct {
41
41
  }
42
42
  exports.LambdaArmFunction = LambdaArmFunction;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- LambdaArmFunction[_a] = { fqn: "cdk-common.LambdaArmFunction", version: "2.0.1100" };
44
+ LambdaArmFunction[_a] = { fqn: "cdk-common.LambdaArmFunction", version: "2.0.1102" };
45
45
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLGlEQUFpRDtBQUNqRCwyQ0FBdUM7QUFLdkMsTUFBYSxpQkFBa0IsU0FBUSxzQkFBUztJQUU5QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakQsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDM0UsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQzNFLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2RCxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsaUNBQWlDLENBQUMsQ0FBQztRQUN6RSxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkQsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDekUsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQzVFLENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwRCxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUN0RSxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDNUQsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDOUUsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JELEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsS0FBSyxDQUFDLE9BQU8sdUdBQXVHLENBQUMsQ0FBQztRQUMzSixDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUM1SCxDQUFDOztBQTFCSCw4Q0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYUFybUZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25Qcm9wcyB7XG5cbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYUFybUZ1bmN0aW9uIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOkxhbWJkYUFybUZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKHByb3BzLnJ1bnRpbWUgPT09IGxhbWJkYS5SdW50aW1lLk5PREVKU18xMl9YKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBOb2RlLmpzIDEyLnggYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTRfWCkge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgTm9kZS5qcyAxNC54IGF0IEFSTScpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucnVudGltZSA9PT0gbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfOCkge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgUHl0aG9uIDMuOCBhdCBBUk0nKTtcbiAgICB9IGVsc2UgaWYgKHByb3BzLnJ1bnRpbWUgPT09IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzkpIHtcbiAgICAgIGNkay5Bbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKCdZb3UgYXJlIHVzaW5nIFB5dGhvbiAzLjkgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5KQVZBXzhfQ09SUkVUVE8pIHtcbiAgICAgIGNkay5Bbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRXYXJuaW5nKCdZb3UgYXJlIHVzaW5nIEphdmEgOCBvbiBhbDIgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5KQVZBXzExKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBKYXZhIDExIGF0IEFSTScpO1xuICAgIH0gZWxzZSBpZiAocHJvcHMucnVudGltZSA9PT0gbGFtYmRhLlJ1bnRpbWUuRE9UTkVUX0NPUkVfM18xKSB7XG4gICAgICBjZGsuQW5ub3RhdGlvbnMub2YodGhpcykuYWRkV2FybmluZygnWW91IGFyZSB1c2luZyBET1RORVQgQ09SRSAzLjEgYXQgQVJNJyk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5ydW50aW1lID09PSBsYW1iZGEuUnVudGltZS5SVUJZXzJfNykge1xuICAgICAgY2RrLkFubm90YXRpb25zLm9mKHRoaXMpLmFkZFdhcm5pbmcoJ1lvdSBhcmUgdXNpbmcgUlVCWSAyLjcgYXQgQVJNJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSdW50aW1lICR7cHJvcHMucnVudGltZX0gYXQgQVJNLCBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2xhbWJkYS9sYXRlc3QvZGcvZm91bmRhdGlvbi1hcmNoLmh0bWw/aWNtcGlkPWRvY3NfbGFtYmRhX3Jzc2ApO1xuICAgIH1cblxuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsICdMYW1iZGFGdW5jdGlvbicsIHsgYXJjaGl0ZWN0dXJlOiBsYW1iZGEuQXJjaGl0ZWN0dXJlLkFSTV82NCwgLi4ucHJvcHMgfSk7XG4gIH1cbn0iXX0=
@@ -11,6 +11,7 @@
11
11
  "GetIntrinsic",
12
12
  ],
13
13
  }],
14
+ "no-extra-parens": 0,
14
15
  "no-magic-numbers": 0,
15
16
  },
16
17
  }
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [v1.0.2](https://github.com/ljharb/call-bind-apply-helpers/compare/v1.0.1...v1.0.2) - 2025-02-12
9
+
10
+ ### Commits
11
+
12
+ - [types] improve inferred types [`e6f9586`](https://github.com/ljharb/call-bind-apply-helpers/commit/e6f95860a3c72879cb861a858cdfb8138fbedec1)
13
+ - [Dev Deps] update `@arethetypeswrong/cli`, `@ljharb/tsconfig`, `@types/tape`, `es-value-fixtures`, `for-each`, `has-strict-mode`, `object-inspect` [`e43d540`](https://github.com/ljharb/call-bind-apply-helpers/commit/e43d5409f97543bfbb11f345d47d8ce4e066d8c1)
14
+
8
15
  ## [v1.0.1](https://github.com/ljharb/call-bind-apply-helpers/compare/v1.0.0...v1.0.1) - 2024-12-08
9
16
 
10
17
  ### Commits
@@ -1,46 +1,64 @@
1
1
  type RemoveFromTuple<
2
- Tuple extends unknown[],
2
+ Tuple extends readonly unknown[],
3
3
  RemoveCount extends number,
4
4
  Index extends 1[] = []
5
5
  > = Index["length"] extends RemoveCount
6
6
  ? Tuple
7
- : Tuple extends [first: unknown, ...infer Rest]
7
+ : Tuple extends [infer First, ...infer Rest]
8
8
  ? RemoveFromTuple<Rest, RemoveCount, [...Index, 1]>
9
9
  : Tuple;
10
10
 
11
11
  type ConcatTuples<
12
- Prefix extends unknown[],
13
- Suffix extends unknown[]
12
+ Prefix extends readonly unknown[],
13
+ Suffix extends readonly unknown[]
14
14
  > = [...Prefix, ...Suffix];
15
15
 
16
- type ReplaceThis<T, NewThis> = T extends (this: infer OldThis, ...args: infer A) => infer R
17
- ? (this: NewThis, ...args: A) => R
16
+ type ExtractFunctionParams<T> = T extends (this: infer TThis, ...args: infer P extends readonly unknown[]) => infer R
17
+ ? { thisArg: TThis; params: P; returnType: R }
18
18
  : never;
19
19
 
20
20
  type BindFunction<
21
+ T extends (this: any, ...args: any[]) => any,
21
22
  TThis,
22
- T extends (this: TThis, ...args: any[]) => any, // Allow specific types to propagate
23
- TBoundArgs extends unknown[],
23
+ TBoundArgs extends readonly unknown[],
24
24
  ReceiverBound extends boolean
25
- > = ReceiverBound extends true
26
- ? (...args: RemoveFromTuple<Parameters<T>, TBoundArgs["length"] & number>) => ReturnType<ReplaceThis<T, TThis>>
27
- : (...args: ConcatTuples<[TThis], RemoveFromTuple<Parameters<T>, TBoundArgs["length"] & number>>) => ReturnType<T>;
25
+ > = ExtractFunctionParams<T> extends {
26
+ thisArg: infer OrigThis;
27
+ params: infer P extends readonly unknown[];
28
+ returnType: infer R;
29
+ }
30
+ ? ReceiverBound extends true
31
+ ? (...args: RemoveFromTuple<P, Extract<TBoundArgs["length"], number>>) => R extends [OrigThis, ...infer Rest]
32
+ ? [TThis, ...Rest] // Replace `this` with `thisArg`
33
+ : R
34
+ : <U, RemainingArgs extends RemoveFromTuple<P, Extract<TBoundArgs["length"], number>>>(
35
+ thisArg: U,
36
+ ...args: RemainingArgs
37
+ ) => R extends [OrigThis, ...infer Rest]
38
+ ? [U, ...ConcatTuples<TBoundArgs, Rest>] // Preserve bound args in return type
39
+ : R
40
+ : never;
28
41
 
29
42
  declare function callBind<
30
- TThis,
31
- T extends (this: TThis, ...args: any[]) => any,
32
- TBoundArgs extends Partial<Parameters<T>>
43
+ const T extends (this: any, ...args: any[]) => any,
44
+ Extracted extends ExtractFunctionParams<T>,
45
+ const TBoundArgs extends Partial<Extracted["params"]> & readonly unknown[],
46
+ const TThis extends Extracted["thisArg"]
33
47
  >(
34
48
  args: [fn: T, thisArg: TThis, ...boundArgs: TBoundArgs]
35
- ): BindFunction<TThis, T, TBoundArgs, true>;
49
+ ): BindFunction<T, TThis, TBoundArgs, true>;
36
50
 
37
51
  declare function callBind<
38
- TThis,
39
- T extends (this: TThis, ...args: any[]) => any,
40
- TBoundArgs extends Partial<Parameters<T>>
52
+ const T extends (this: any, ...args: any[]) => any,
53
+ Extracted extends ExtractFunctionParams<T>,
54
+ const TBoundArgs extends Partial<Extracted["params"]> & readonly unknown[]
41
55
  >(
42
56
  args: [fn: T, ...boundArgs: TBoundArgs]
43
- ): BindFunction<TThis, T, TBoundArgs, false>;
57
+ ): BindFunction<T, Extracted["thisArg"], TBoundArgs, false>;
58
+
59
+ declare function callBind<const TArgs extends readonly unknown[]>(
60
+ args: [fn: Exclude<TArgs[0], Function>, ...rest: TArgs]
61
+ ): never;
44
62
 
45
- export as namespace callBind;
63
+ // export as namespace callBind;
46
64
  export = callBind;
@@ -6,7 +6,7 @@ var $TypeError = require('es-errors/type');
6
6
  var $call = require('./functionCall');
7
7
  var $actualApply = require('./actualApply');
8
8
 
9
- /** @type {import('.')} */
9
+ /** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */
10
10
  module.exports = function callBindBasic(args) {
11
11
  if (args.length < 1 || typeof args[0] !== 'function') {
12
12
  throw new $TypeError('a function is required');
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "call-bind-apply-helpers",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Helper functions around Function call/apply/bind, for use in `call-bind`",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -41,24 +41,24 @@
41
41
  "function-bind": "^1.1.2"
42
42
  },
43
43
  "devDependencies": {
44
- "@arethetypeswrong/cli": "^0.17.1",
44
+ "@arethetypeswrong/cli": "^0.17.3",
45
45
  "@ljharb/eslint-config": "^21.1.1",
46
- "@ljharb/tsconfig": "^0.2.2",
46
+ "@ljharb/tsconfig": "^0.2.3",
47
47
  "@types/for-each": "^0.3.3",
48
48
  "@types/function-bind": "^1.1.10",
49
49
  "@types/object-inspect": "^1.13.0",
50
- "@types/tape": "^5.6.5",
50
+ "@types/tape": "^5.8.1",
51
51
  "auto-changelog": "^2.5.0",
52
52
  "encoding": "^0.1.13",
53
- "es-value-fixtures": "^1.5.0",
53
+ "es-value-fixtures": "^1.7.1",
54
54
  "eslint": "=8.8.0",
55
55
  "evalmd": "^0.0.19",
56
- "for-each": "^0.3.3",
57
- "has-strict-mode": "^1.0.1",
56
+ "for-each": "^0.3.5",
57
+ "has-strict-mode": "^1.1.0",
58
58
  "in-publish": "^2.0.1",
59
59
  "npmignore": "^0.3.1",
60
60
  "nyc": "^10.3.2",
61
- "object-inspect": "^1.13.3",
61
+ "object-inspect": "^1.13.4",
62
62
  "safe-publish-latest": "^2.0.0",
63
63
  "tape": "^5.9.0",
64
64
  "typescript": "next"
@@ -19,7 +19,7 @@ test('callBindBasic', function (t) {
19
19
  });
20
20
 
21
21
  var sentinel = { sentinel: true };
22
- /** @type {<T>(this: T, a: number, b: number) => [T | undefined, number, number]} */
22
+ /** @type {<T, A extends number, B extends number>(this: T, a: A, b: B) => [T | undefined, A, B]} */
23
23
  var func = function (a, b) {
24
24
  // eslint-disable-next-line no-invalid-this
25
25
  return [!hasStrictMode && this === global ? undefined : this, a, b];
@@ -28,10 +28,10 @@ test('callBindBasic', function (t) {
28
28
 
29
29
  /** type {(thisArg: unknown, a: number, b: number) => [unknown, number, number]} */
30
30
  var bound = callBind([func]);
31
- /** type {((a: number, b: number) => [sentinel, typeof a, typeof b])} */
31
+ /** type {((a: number, b: number) => [typeof sentinel, typeof a, typeof b])} */
32
32
  var boundR = callBind([func, sentinel]);
33
- /** type {((b: number) => [sentinel, number, typeof b])} */
34
- var boundArg = callBind([func, sentinel, 1]);
33
+ /** type {((b: number) => [typeof sentinel, number, typeof b])} */
34
+ var boundArg = callBind([func, sentinel, /** @type {const} */ (1)]);
35
35
 
36
36
  // @ts-expect-error
37
37
  t.deepEqual(bound(), [undefined, undefined, undefined], 'bound func with no args');
package/package.json CHANGED
@@ -55,7 +55,7 @@
55
55
  "jsii-docgen": "^10.5.0",
56
56
  "jsii-pacmak": "^1.106.0",
57
57
  "jsii-rosetta": "5.3.x",
58
- "projen": "0.91.8",
58
+ "projen": "0.91.9",
59
59
  "ts-jest": "^27",
60
60
  "typescript": "^5"
61
61
  },
@@ -88,7 +88,7 @@
88
88
  "publishConfig": {
89
89
  "access": "public"
90
90
  },
91
- "version": "2.0.1100",
91
+ "version": "2.0.1102",
92
92
  "jest": {
93
93
  "coverageProvider": "v8",
94
94
  "testMatch": [