pinejs-client-request 7.4.2 → 7.5.0

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.
@@ -1,3 +1,180 @@
1
+ - commits:
2
+ - subject: Update pinejs-client-core to add support for using model specific typings
3
+ hash: 8a5d89950adac94282c4fe8794a679b472226167
4
+ body: |
5
+ Update pinejs-client-core from 6.14.6 to 6.15.1
6
+ footer:
7
+ Change-type: minor
8
+ change-type: minor
9
+ author: Pagan Gazzard
10
+ nested:
11
+ - commits:
12
+ - subject: Correctly type the `POST` result as being fully deferred
13
+ hash: 1055a00e740dd2cbf3e418408bed6c5f89b8db0f
14
+ body: >
15
+ Previously it did not state so the expanded versions were
16
+ available in
17
+
18
+ the typings even though the result would never actually include
19
+ them
20
+ footer:
21
+ Change-type: patch
22
+ change-type: patch
23
+ author: Pagan Gazzard
24
+ nested: []
25
+ version: pinejs-client-js-6.15.1
26
+ title: ""
27
+ date: 2024-06-17T16:15:56.769Z
28
+ - commits:
29
+ - subject: Add support for using model specific typings
30
+ hash: 1077e19ef18cc4cede4d6401496a016fef459150
31
+ body: >
32
+ This requires passing the model typings when creating the
33
+ pinejs-client
34
+
35
+ instance and will mean that any usage after that will be type
36
+ checked
37
+
38
+ to limit to resources/properties that exist on the model. This
39
+ covers
40
+
41
+ almost all usage but there are some cases we cannot cover as we
42
+ would
43
+
44
+ need typescript support for partial inference of generics, eg
45
+ for
46
+
47
+ lambdas, or to make major changes to the querying interface.
48
+
49
+ This work should also be fully backwards compatible such that if
50
+ you do
51
+
52
+ not provide model typings then all typings should continue to
53
+ work as
54
+
55
+ previously
56
+ footer:
57
+ Change-type: minor
58
+ change-type: minor
59
+ author: Pagan Gazzard
60
+ nested: []
61
+ version: pinejs-client-js-6.15.0
62
+ title: ""
63
+ date: 2024-06-14T10:45:40.382Z
64
+ - commits:
65
+ - subject: Deprecate passing `url` to helper functions
66
+ hash: 5ad1d4a417e2631d70acf7192b7132366a77be3b
67
+ body: >
68
+ The intention is that these are use as helpers functions to
69
+ build the
70
+
71
+ url from an object and so passing a `url` directly is not really
72
+ the
73
+
74
+ intent and interferes with improving the typings for the
75
+ intended case.
76
+
77
+ It is still possible to pass urls directly to the `request`
78
+ function if
79
+
80
+ it is essential but the true answer is to support building those
81
+ urls,
82
+
83
+ and using `prepare` if it is necessary
84
+ footer:
85
+ Change-type: patch
86
+ change-type: patch
87
+ author: Pagan Gazzard
88
+ nested: []
89
+ version: pinejs-client-js-6.14.13
90
+ title: ""
91
+ date: 2024-06-12T13:09:45.863Z
92
+ - commits:
93
+ - subject: Type `upsert` and `getOrCreate` as not accepting a `url`
94
+ hash: f5261feec2d9fd45bb52885d0aed9482f743df5a
95
+ body: >
96
+ This is because they are not designed to support using a `url`
97
+ and are
98
+
99
+ likely to break in very weird and unexpected ways, and as such
100
+ removing
101
+
102
+ it from the typing should reduce potential for surprising errors
103
+ footer:
104
+ Change-type: patch
105
+ change-type: patch
106
+ author: Pagan Gazzard
107
+ nested: []
108
+ version: pinejs-client-js-6.14.12
109
+ title: ""
110
+ date: 2024-06-12T11:12:46.444Z
111
+ - commits:
112
+ - subject: Include comments in generated output so that jsdoc is available
113
+ hash: 0a20be620a68b92ef95ce735eeebe3de0d754b7f
114
+ body: ""
115
+ footer:
116
+ Change-type: patch
117
+ change-type: patch
118
+ author: Pagan Gazzard
119
+ nested: []
120
+ version: pinejs-client-js-6.14.11
121
+ title: ""
122
+ date: 2024-06-11T15:00:11.283Z
123
+ - commits:
124
+ - subject: "Tests: improve typing of tests"
125
+ hash: d970b64c9400e11ee55c29f16fe489c45b16a957
126
+ body: ""
127
+ footer:
128
+ Change-type: patch
129
+ change-type: patch
130
+ author: Pagan Gazzard
131
+ nested: []
132
+ version: pinejs-client-js-6.14.10
133
+ title: ""
134
+ date: 2024-06-11T01:32:26.832Z
135
+ - commits:
136
+ - subject: Add `$filter` to nested `$count` typings
137
+ hash: 2774bd0e8b03d6d204df41c2d4ebf3a9d039057e
138
+ body: ""
139
+ footer:
140
+ Change-type: patch
141
+ change-type: patch
142
+ author: Pagan Gazzard
143
+ nested: []
144
+ version: pinejs-client-js-6.14.9
145
+ title: ""
146
+ date: 2024-06-10T15:33:59.941Z
147
+ - commits:
148
+ - subject: "Tests: remove unnecessary/unintended returns"
149
+ hash: b51e379e6a5b1c6cbc5cb83d6dcf537bc6776b05
150
+ body: ""
151
+ footer:
152
+ Change-type: patch
153
+ change-type: patch
154
+ author: Pagan Gazzard
155
+ nested: []
156
+ version: pinejs-client-js-6.14.8
157
+ title: ""
158
+ date: 2024-06-10T13:36:27.251Z
159
+ - commits:
160
+ - subject: Fix using top level $count downstream
161
+ hash: 03553a4d582ac8354bf2adc47fbe63fefb587042
162
+ body: >
163
+ It's unclear why this doesn't cause typing issues within
164
+
165
+ pinejs-client-core itself but it does fail when using it
166
+ downstream
167
+ footer:
168
+ Change-type: patch
169
+ change-type: patch
170
+ author: Pagan Gazzard
171
+ nested: []
172
+ version: pinejs-client-js-6.14.7
173
+ title: ""
174
+ date: 2024-06-06T13:32:31.757Z
175
+ version: 7.5.0
176
+ title: ""
177
+ date: 2024-06-18T16:54:09.040Z
1
178
  - commits:
2
179
  - subject: Avoid the overhead of loading `lodash` on a status error
3
180
  hash: b73dd343d49bf81ba949413d8b75fc6eb1bed0e5
@@ -12,7 +189,7 @@
12
189
  nested: []
13
190
  version: 7.4.2
14
191
  title: ""
15
- date: 2024-06-06T14:53:35.088Z
192
+ date: 2024-06-06T14:58:21.972Z
16
193
  - commits:
17
194
  - subject: Update dependencies
18
195
  hash: 886d59d8e930132dfe30301e799e9da6a6f23b00
package/CHANGELOG.md CHANGED
@@ -4,6 +4,51 @@ All notable changes to this project will be documented in this file
4
4
  automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
+ ## 7.5.0 - 2024-06-18
8
+
9
+
10
+ <details>
11
+ <summary> Update pinejs-client-core to add support for using model specific typings [Pagan Gazzard] </summary>
12
+
13
+ > ### pinejs-client-js-6.15.1 - 2024-06-17
14
+ >
15
+ > * Correctly type the `POST` result as being fully deferred [Pagan Gazzard]
16
+ >
17
+ > ### pinejs-client-js-6.15.0 - 2024-06-14
18
+ >
19
+ > * Add support for using model specific typings [Pagan Gazzard]
20
+ >
21
+ > ### pinejs-client-js-6.14.13 - 2024-06-12
22
+ >
23
+ > * Deprecate passing `url` to helper functions [Pagan Gazzard]
24
+ >
25
+ > ### pinejs-client-js-6.14.12 - 2024-06-12
26
+ >
27
+ > * Type `upsert` and `getOrCreate` as not accepting a `url` [Pagan Gazzard]
28
+ >
29
+ > ### pinejs-client-js-6.14.11 - 2024-06-11
30
+ >
31
+ > * Include comments in generated output so that jsdoc is available [Pagan Gazzard]
32
+ >
33
+ > ### pinejs-client-js-6.14.10 - 2024-06-11
34
+ >
35
+ > * Tests: improve typing of tests [Pagan Gazzard]
36
+ >
37
+ > ### pinejs-client-js-6.14.9 - 2024-06-10
38
+ >
39
+ > * Add `$filter` to nested `$count` typings [Pagan Gazzard]
40
+ >
41
+ > ### pinejs-client-js-6.14.8 - 2024-06-10
42
+ >
43
+ > * Tests: remove unnecessary/unintended returns [Pagan Gazzard]
44
+ >
45
+ > ### pinejs-client-js-6.14.7 - 2024-06-06
46
+ >
47
+ > * Fix using top level $count downstream [Pagan Gazzard]
48
+ >
49
+
50
+ </details>
51
+
7
52
  ## 7.4.2 - 2024-06-06
8
53
 
9
54
  * Avoid the overhead of loading `lodash` on a status error [Pagan Gazzard]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinejs-client-request",
3
- "version": "7.4.2",
3
+ "version": "7.5.0",
4
4
  "description": "This module provides a request backend for pinejs-client.",
5
5
  "main": "request.js",
6
6
  "types": "request.d.ts",
@@ -24,19 +24,19 @@
24
24
  },
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
- "@types/lodash": "^4.17.4",
27
+ "@types/lodash": "^4.17.5",
28
28
  "@types/lru-cache": "^5.1.1",
29
29
  "@types/request": "^2.48.12",
30
30
  "lodash": "^4.17.21",
31
31
  "lru-cache": "^6.0.0",
32
- "pinejs-client-core": "^6.14.6",
32
+ "pinejs-client-core": "^6.15.1",
33
33
  "request": "^2.88.2",
34
34
  "typed-error": "^3.2.2"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@balena/lint": "^8.0.2",
38
38
  "husky": "^9.0.11",
39
- "lint-staged": "^15.2.5",
39
+ "lint-staged": "^15.2.7",
40
40
  "require-npm4-to-publish": "^1.0.0",
41
41
  "typescript": "^5.4.5"
42
42
  },
@@ -51,6 +51,6 @@
51
51
  ]
52
52
  },
53
53
  "versionist": {
54
- "publishedAt": "2024-06-06T14:53:35.230Z"
54
+ "publishedAt": "2024-06-18T16:54:10.166Z"
55
55
  }
56
56
  }
package/request.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type * as LruCache from 'lru-cache';
2
- import type { Params, AnyObject } from 'pinejs-client-core';
2
+ import type { Params, AnyObject, AnyResource, Resource } from 'pinejs-client-core';
3
3
  import { PinejsClientCore } from 'pinejs-client-core';
4
4
  import * as request from 'request';
5
5
  import { TypedError } from 'typed-error';
@@ -16,7 +16,11 @@ interface CachedResponse {
16
16
  export interface BackendParams {
17
17
  cache?: LruCache.Options<string, CachedResponse>;
18
18
  }
19
- export declare class PinejsClientRequest extends PinejsClientCore<PinejsClientRequest> {
19
+ export declare class PinejsClientRequest<Model extends {
20
+ [key in keyof Model]: Resource;
21
+ } = {
22
+ [key in string]: AnyResource;
23
+ }> extends PinejsClientCore<unknown, Model> {
20
24
  backendParams: BackendParams;
21
25
  private cache?;
22
26
  constructor(params: Params, backendParams?: BackendParams);
package/request.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["request.ts"],"names":[],"mappings":"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"}
package/request.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  import type * as LruCache from 'lru-cache';
2
+ import type {
3
+ Params,
4
+ AnyObject,
5
+ AnyResource,
6
+ Resource,
7
+ } from 'pinejs-client-core';
2
8
 
3
- import type { Params, AnyObject } from 'pinejs-client-core';
4
9
  import { PinejsClientCore } from 'pinejs-client-core';
5
10
  import * as request from 'request';
6
11
  import { TypedError } from 'typed-error';
@@ -50,7 +55,13 @@ export interface BackendParams {
50
55
  }
51
56
 
52
57
  const validParams: Array<keyof BackendParams> = ['cache'];
53
- export class PinejsClientRequest extends PinejsClientCore<PinejsClientRequest> {
58
+ export class PinejsClientRequest<
59
+ Model extends {
60
+ [key in keyof Model]: Resource;
61
+ } = {
62
+ [key in string]: AnyResource;
63
+ },
64
+ > extends PinejsClientCore<unknown, Model> {
54
65
  public backendParams: BackendParams = {};
55
66
  private cache?: LruCache<string, CachedResponse>;
56
67