@seamapi/nextlove-sdk-generator 1.8.2 → 1.8.4
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/lib/generate-php-sdk/generate-php-sdk.js +2 -0
- package/lib/generate-php-sdk/generate-php-sdk.js.map +1 -1
- package/lib/generate-php-sdk/templates/getPackageVersion.php.template.d.ts +2 -0
- package/lib/generate-php-sdk/templates/getPackageVersion.php.template.js +43 -0
- package/lib/generate-php-sdk/templates/getPackageVersion.php.template.js.map +1 -0
- package/lib/generate-php-sdk/utils/generate-seam-client.js +9 -1
- package/lib/generate-php-sdk/utils/generate-seam-client.js.map +1 -1
- package/lib/generate-php-sdk/utils/get-php-type.d.ts +1 -1
- package/lib/generate-php-sdk/utils/get-php-type.js +1 -1
- package/lib/generate-php-sdk/utils/get-php-type.js.map +1 -1
- package/package.json +1 -1
- package/src/lib/generate-php-sdk/generate-php-sdk.ts +2 -0
- package/src/lib/generate-php-sdk/templates/getPackageVersion.php.template.ts +42 -0
- package/src/lib/generate-php-sdk/utils/generate-seam-client.ts +9 -1
- package/src/lib/generate-php-sdk/utils/get-php-type.ts +1 -1
|
@@ -12,6 +12,7 @@ import gitignoreTemplate from "./templates/gitignore.template.js";
|
|
|
12
12
|
import envExampleTemplate from "./templates/env.example.template.js";
|
|
13
13
|
import testFixtureTemplate from "./templates/test-fixture.template.js";
|
|
14
14
|
import smokeTestTemplate from "./templates/smoke-test.template.js";
|
|
15
|
+
import getPackageVersionTemplate from "./templates/getPackageVersion.php.template.js";
|
|
15
16
|
import mapParentToChildResources from "../../lib/openapi/map-parent-to-children-resource.js";
|
|
16
17
|
import resolveOpenapiSpec from "../../lib/openapi/resolve-openapi-spec.js";
|
|
17
18
|
export const generatePhpSDK = async (options = {}) => {
|
|
@@ -28,6 +29,7 @@ export const generatePhpSDK = async (options = {}) => {
|
|
|
28
29
|
fs[".env.example"] = envExampleTemplate();
|
|
29
30
|
fs["tests/Fixture.php"] = testFixtureTemplate();
|
|
30
31
|
fs["tests/SmokeTest.php"] = smokeTestTemplate();
|
|
32
|
+
fs["src/Utils/getPackageVersion.php"] = getPackageVersionTemplate();
|
|
31
33
|
const base_resource_object_names = [];
|
|
32
34
|
for (const [schema_name, schema] of Object.entries(openapi.components.schemas)) {
|
|
33
35
|
base_resource_object_names.push(pascalCase(schema_name));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-php-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-php-sdk/generate-php-sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAA;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,SAAS,EAA4B,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAA;AAClG,OAAO,gBAAgB,MAAM,mCAAmC,CAAA;AAChE,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,oBAAoB,MAAM,uCAAuC,CAAA;AACxE,OAAO,iBAAiB,MAAM,mCAAmC,CAAA;AACjE,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AACpE,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,iBAAiB,MAAM,oCAAoC,CAAA;AAClE,OAAO,yBAAyB,MAAM,gDAAgD,CAAA;AACtF,OAAO,kBAAkB,MAAM,qCAAqC,CAAA;AAEpE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,UAA+B,EAAE,EAAE,EAAE;IACxE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACjD,MAAM,MAAM,GAAY,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI;QACJ,GAAG,CAAC;KACL,CAAC,CAAC,CAAA;IAEH,MAAM,EAAE,GAA2B,EAAE,CAAA;IAErC,EAAE,CAAC,WAAW,CAAC,GAAG,gBAAgB,EAAE,CAAA;IACpC,EAAE,CAAC,cAAc,CAAC,GAAG,mBAAmB,EAAE,CAAA;IAC1C,EAAE,CAAC,eAAe,CAAC,GAAG,oBAAoB,EAAE,CAAA;IAC5C,EAAE,CAAC,YAAY,CAAC,GAAG,iBAAiB,EAAE,CAAA;IACtC,EAAE,CAAC,cAAc,CAAC,GAAG,kBAAkB,EAAE,CAAA;IACzC,EAAE,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,EAAE,CAAA;IAC/C,EAAE,CAAC,qBAAqB,CAAC,GAAG,iBAAiB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"generate-php-sdk.js","sourceRoot":"","sources":["../../src/lib/generate-php-sdk/generate-php-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export default () => `<?php
|
|
2
|
+
|
|
3
|
+
namespace Seam\\Utils;
|
|
4
|
+
|
|
5
|
+
class PackageVersionException extends \\Exception
|
|
6
|
+
{
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
class PackageVersion
|
|
10
|
+
{
|
|
11
|
+
public static function get()
|
|
12
|
+
{
|
|
13
|
+
$filePath = __DIR__ . "/../../package.json";
|
|
14
|
+
|
|
15
|
+
if (!file_exists($filePath)) {
|
|
16
|
+
throw new PackageVersionException(
|
|
17
|
+
"Can't get package version. File package.json does not exist."
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
$content = file_get_contents($filePath);
|
|
22
|
+
if ($content === false) {
|
|
23
|
+
throw new PackageVersionException(
|
|
24
|
+
"Unable to read package.json file to get package version."
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
$json = json_decode($content, true);
|
|
29
|
+
if (json_last_error() !== JSON_ERROR_NONE) {
|
|
30
|
+
throw new PackageVersionException(
|
|
31
|
+
"JSON decode error occurred when decoding package.json: " . json_last_error_msg()
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (!isset($json["version"])) {
|
|
36
|
+
throw new PackageVersionException("Version not set in package.json");
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return $json["version"];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
//# sourceMappingURL=getPackageVersion.php.template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageVersion.php.template.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/templates/getPackageVersion.php.template.ts"],"names":[],"mappings":"AAAA,eAAe,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCpB,CAAA"}
|
|
@@ -5,10 +5,13 @@ export const generateSeamClient = ({ resource_clients, resource_object_names, })
|
|
|
5
5
|
namespace Seam;
|
|
6
6
|
|
|
7
7
|
${resource_object_names.map((n) => `use Seam\\Objects\\${n};`).join("\n")}
|
|
8
|
+
use Seam\\Utils\\PackageVersion;
|
|
8
9
|
|
|
9
10
|
use GuzzleHttp\\Client as HTTPClient;
|
|
10
11
|
use \\Exception as Exception;
|
|
11
12
|
|
|
13
|
+
define('LTS_VERSION', '1.0.0');
|
|
14
|
+
|
|
12
15
|
class SeamClient
|
|
13
16
|
{
|
|
14
17
|
${parent_resource_clients
|
|
@@ -17,6 +20,7 @@ class SeamClient
|
|
|
17
20
|
|
|
18
21
|
public string $api_key;
|
|
19
22
|
public HTTPClient $client;
|
|
23
|
+
public string $ltsVersion = LTS_VERSION;
|
|
20
24
|
|
|
21
25
|
public function __construct(
|
|
22
26
|
$api_key,
|
|
@@ -24,12 +28,16 @@ class SeamClient
|
|
|
24
28
|
$throw_http_errors = false
|
|
25
29
|
) {
|
|
26
30
|
$this->api_key = $api_key;
|
|
31
|
+
$seam_sdk_version = PackageVersion::get();
|
|
27
32
|
$this->client = new HTTPClient([
|
|
28
33
|
"base_uri" => $endpoint,
|
|
29
34
|
"timeout" => 60.0,
|
|
30
35
|
"headers" => [
|
|
31
36
|
"Authorization" => "Bearer " . $this->api_key,
|
|
32
|
-
"User-Agent" => "Seam PHP Client
|
|
37
|
+
"User-Agent" => "Seam PHP Client ". $seam_sdk_version,
|
|
38
|
+
"seam-sdk-name" => "seamapi/php",
|
|
39
|
+
"seam-sdk-version" => $seam_sdk_version,
|
|
40
|
+
"seam-lts-version" => $this->ltsVersion
|
|
33
41
|
],
|
|
34
42
|
"http_errors" => $throw_http_errors,
|
|
35
43
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-seam-client.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/generate-seam-client.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,gBAAgB,EAChB,qBAAqB,GACd,EAAE,EAAE;IACX,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAC1B,CAAA;IAED,OAAO;;;;EAIP,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"generate-seam-client.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/generate-seam-client.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,gBAAgB,EAChB,qBAAqB,GACd,EAAE,EAAE;IACX,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,MAAM,CACrD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAC1B,CAAA;IAED,OAAO;;;;EAIP,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;IAUrE,uBAAuB;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,WAAW,WAAW,CAAC,CAAC,SAAS,GAAG,CAAC;SAC5D,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;MAyBX,uBAAuB;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,WAAW,gBAAgB,CAAC;SACxE,IAAI,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoEnB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;CACxD,CAAA;AACD,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const getPhpType: (zod_type: string) => "string" | "array" | "
|
|
1
|
+
export declare const getPhpType: (zod_type: string) => "string" | "array" | "float" | "bool" | "mixed";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-php-type.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/get-php-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC7C,QAAQ,QAAQ,EAAE;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QAEjB,KAAK,QAAQ;YACX,OAAO,
|
|
1
|
+
{"version":3,"file":"get-php-type.js","sourceRoot":"","sources":["../../../src/lib/generate-php-sdk/utils/get-php-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAE,EAAE;IAC7C,QAAQ,QAAQ,EAAE;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAA;QAEjB,KAAK,QAAQ;YACX,OAAO,OAAO,CAAA;QAEhB,KAAK,SAAS;YACZ,OAAO,MAAM,CAAA;QAEf,KAAK,QAAQ;YACX,OAAO,OAAO,CAAA;QAEhB,KAAK,OAAO;YACV,OAAO,OAAO,CAAA;QAEhB;YACE,OAAO,OAAO,CAAA;KACjB;AACH,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -13,6 +13,7 @@ import gitignoreTemplate from "./templates/gitignore.template.js"
|
|
|
13
13
|
import envExampleTemplate from "./templates/env.example.template.js"
|
|
14
14
|
import testFixtureTemplate from "./templates/test-fixture.template.js"
|
|
15
15
|
import smokeTestTemplate from "./templates/smoke-test.template.js"
|
|
16
|
+
import getPackageVersionTemplate from "./templates/getPackageVersion.php.template.js"
|
|
16
17
|
import mapParentToChildResources from "lib/openapi/map-parent-to-children-resource.js"
|
|
17
18
|
import resolveOpenapiSpec from "lib/openapi/resolve-openapi-spec.js"
|
|
18
19
|
|
|
@@ -32,6 +33,7 @@ export const generatePhpSDK = async (options: SdkGeneratorOptions = {}) => {
|
|
|
32
33
|
fs[".env.example"] = envExampleTemplate()
|
|
33
34
|
fs["tests/Fixture.php"] = testFixtureTemplate()
|
|
34
35
|
fs["tests/SmokeTest.php"] = smokeTestTemplate()
|
|
36
|
+
fs["src/Utils/getPackageVersion.php"] = getPackageVersionTemplate()
|
|
35
37
|
|
|
36
38
|
const base_resource_object_names: string[] = []
|
|
37
39
|
for (const [schema_name, schema] of Object.entries(
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export default () => `<?php
|
|
2
|
+
|
|
3
|
+
namespace Seam\\Utils;
|
|
4
|
+
|
|
5
|
+
class PackageVersionException extends \\Exception
|
|
6
|
+
{
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
class PackageVersion
|
|
10
|
+
{
|
|
11
|
+
public static function get()
|
|
12
|
+
{
|
|
13
|
+
$filePath = __DIR__ . "/../../package.json";
|
|
14
|
+
|
|
15
|
+
if (!file_exists($filePath)) {
|
|
16
|
+
throw new PackageVersionException(
|
|
17
|
+
"Can't get package version. File package.json does not exist."
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
$content = file_get_contents($filePath);
|
|
22
|
+
if ($content === false) {
|
|
23
|
+
throw new PackageVersionException(
|
|
24
|
+
"Unable to read package.json file to get package version."
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
$json = json_decode($content, true);
|
|
29
|
+
if (json_last_error() !== JSON_ERROR_NONE) {
|
|
30
|
+
throw new PackageVersionException(
|
|
31
|
+
"JSON decode error occurred when decoding package.json: " . json_last_error_msg()
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (!isset($json["version"])) {
|
|
36
|
+
throw new PackageVersionException("Version not set in package.json");
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return $json["version"];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
`
|
|
@@ -18,10 +18,13 @@ export const generateSeamClient = ({
|
|
|
18
18
|
namespace Seam;
|
|
19
19
|
|
|
20
20
|
${resource_object_names.map((n) => `use Seam\\Objects\\${n};`).join("\n")}
|
|
21
|
+
use Seam\\Utils\\PackageVersion;
|
|
21
22
|
|
|
22
23
|
use GuzzleHttp\\Client as HTTPClient;
|
|
23
24
|
use \\Exception as Exception;
|
|
24
25
|
|
|
26
|
+
define('LTS_VERSION', '1.0.0');
|
|
27
|
+
|
|
25
28
|
class SeamClient
|
|
26
29
|
{
|
|
27
30
|
${parent_resource_clients
|
|
@@ -30,6 +33,7 @@ class SeamClient
|
|
|
30
33
|
|
|
31
34
|
public string $api_key;
|
|
32
35
|
public HTTPClient $client;
|
|
36
|
+
public string $ltsVersion = LTS_VERSION;
|
|
33
37
|
|
|
34
38
|
public function __construct(
|
|
35
39
|
$api_key,
|
|
@@ -37,12 +41,16 @@ class SeamClient
|
|
|
37
41
|
$throw_http_errors = false
|
|
38
42
|
) {
|
|
39
43
|
$this->api_key = $api_key;
|
|
44
|
+
$seam_sdk_version = PackageVersion::get();
|
|
40
45
|
$this->client = new HTTPClient([
|
|
41
46
|
"base_uri" => $endpoint,
|
|
42
47
|
"timeout" => 60.0,
|
|
43
48
|
"headers" => [
|
|
44
49
|
"Authorization" => "Bearer " . $this->api_key,
|
|
45
|
-
"User-Agent" => "Seam PHP Client
|
|
50
|
+
"User-Agent" => "Seam PHP Client ". $seam_sdk_version,
|
|
51
|
+
"seam-sdk-name" => "seamapi/php",
|
|
52
|
+
"seam-sdk-version" => $seam_sdk_version,
|
|
53
|
+
"seam-lts-version" => $this->ltsVersion
|
|
46
54
|
],
|
|
47
55
|
"http_errors" => $throw_http_errors,
|
|
48
56
|
]);
|