@motionpicture/coa-service 9.7.0-alpha.3 → 10.0.0-alpha.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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # COA client library for Node.js
1
+ # COA SDK
2
2
 
3
3
  [![npm (scoped)](https://img.shields.io/npm/v/@motionpicture/coa-service.svg)](https://www.npmjs.com/package/@motionpicture/coa-service)
4
4
  [![CircleCI](https://circleci.com/gh/motionpicture/coa-service.svg?style=shield)](https://circleci.com/gh/motionpicture/coa-service)
@@ -9,7 +9,7 @@ COA SDK for Node.js
9
9
 
10
10
  ## Table of contents
11
11
 
12
- - [COA client library for Node.js](#coa-client-library-for-nodejs)
12
+ - [COA SDK](#coa-sdk)
13
13
  - [Table of contents](#table-of-contents)
14
14
  - [Specification](#specification)
15
15
  - [Usage](#usage)
@@ -39,7 +39,7 @@ npm install @motionpicture/coa-service
39
39
  ```
40
40
 
41
41
  ```js
42
- const COA = require('@motionpicture/coa-service');
42
+ const { COA } = require('@motionpicture/coa-service');
43
43
  ```
44
44
 
45
45
  ### Environment variables
@@ -51,7 +51,7 @@ const COA = require('@motionpicture/coa-service');
51
51
  ### 劇場情報を取得する
52
52
 
53
53
  ```js
54
- const COA = require('@motionpicture/coa-service');
54
+ const { COA } = require('@motionpicture/coa-service');
55
55
 
56
56
  const masterService = new COA.service.Master({
57
57
  endpoint: '',
@@ -0,0 +1,5 @@
1
+ /**
2
+ * リフレッシュトークン認証クライアント
3
+ */
4
+ export { RefreshTokenClient as RefreshToken } from './refreshTokenClient';
5
+ export * as CredentialsRepo from './repo/credentials';
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.CredentialsRepo = exports.RefreshToken = void 0;
27
+ /**
28
+ * リフレッシュトークン認証クライアント
29
+ */
30
+ var refreshTokenClient_1 = require("./refreshTokenClient");
31
+ Object.defineProperty(exports, "RefreshToken", { enumerable: true, get: function () { return refreshTokenClient_1.RefreshTokenClient; } });
32
+ exports.CredentialsRepo = __importStar(require("./repo/credentials"));
@@ -4,7 +4,6 @@ import { AbstractCredentialsRepo } from './repo/credentials';
4
4
  export interface IOptions {
5
5
  endpoint: string;
6
6
  refreshToken?: string;
7
- useFetch: boolean;
8
7
  /**
9
8
  * カスタム認証情報リポジトリ
10
9
  */
@@ -40,7 +40,7 @@ class RefreshTokenClient {
40
40
  body: params,
41
41
  signal: AbortSignal.timeout(TIMEOUT)
42
42
  });
43
- let body;
43
+ let body; // eslint-disable-line @typescript-eslint/no-explicit-any
44
44
  try {
45
45
  body = await res.json();
46
46
  }
@@ -74,17 +74,16 @@ class RefreshTokenClient {
74
74
  catch (err) {
75
75
  /* istanbul ignore next */
76
76
  if (err.name === 'TimeoutError') {
77
- console.error('getTokenWithFetch: Timeout: It took more than 5 seconds to get the result!', err);
77
+ console.error('COA.RefreshTokenClient.getTokenWithFetch: Timeout: It took more than 10 seconds to get the result', err);
78
78
  }
79
79
  else if (err.name === 'AbortError') {
80
- console.error('getTokenWithFetch: Fetch aborted by user action (browser stop button, closing tab, etc.', err);
81
- }
82
- else if (err.name === 'TypeError') {
83
- console.error('getTokenWithFetch: AbortSignal.timeout() method is not supported', err);
80
+ console.error('COA.RefreshTokenClient.getTokenWithFetch: Fetch aborted by user action', err);
81
+ // } else if (err.name === 'TypeError') {
82
+ // console.error('getTokenWithFetch: AbortSignal.timeout() method is not supported', err);
84
83
  }
85
84
  else {
86
85
  // A network error, or some other problem.
87
- console.error(`getTokenWithFetch: Error: type: ${err.name}, message: ${err.message}`, err);
86
+ console.error(`COA.RefreshTokenClient.getTokenWithFetch: Error: type: ${err.name}, message: ${err.message}`, err);
88
87
  }
89
88
  throw err;
90
89
  }
@@ -195,9 +194,7 @@ class RefreshTokenClient {
195
194
  * 認証情報が適切である前提でAPIリクエストを投げる
196
195
  */
197
196
  async makeRequest(options, expectedStatusCodes) {
198
- const transporter = (this.options.useFetch === true)
199
- ? new transporters_1.FetchTransporter(expectedStatusCodes)
200
- : new transporters_1.FetchTransporter(expectedStatusCodes);
197
+ const transporter = new transporters_1.FetchTransporter(expectedStatusCodes);
201
198
  return transporter.request(options);
202
199
  }
203
200
  /**
package/lib/coa.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * as auth from './auth/index';
2
+ export * as service from './service/index';
3
+ export { COAFactory as factory } from '@coasystems/factory';
4
+ export { COAServiceError } from './transporter/coaServiceError';
package/lib/coa.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.COAServiceError = exports.factory = exports.service = exports.auth = void 0;
27
+ exports.auth = __importStar(require("./auth/index"));
28
+ exports.service = __importStar(require("./service/index"));
29
+ var factory_1 = require("@coasystems/factory");
30
+ Object.defineProperty(exports, "factory", { enumerable: true, get: function () { return factory_1.COAFactory; } });
31
+ var coaServiceError_1 = require("./transporter/coaServiceError");
32
+ Object.defineProperty(exports, "COAServiceError", { enumerable: true, get: function () { return coaServiceError_1.COAServiceError; } });
package/lib/index.d.ts CHANGED
@@ -1,32 +1 @@
1
- /**
2
- * coa-service
3
- */
4
- import { COAFactory } from '@coasystems/factory';
5
- import { RefreshTokenClient } from './auth/refreshTokenClient';
6
- import * as CredentialsRepo from './auth/repo/credentials';
7
- import { MasterService } from './service/master';
8
- import { ReserveService } from './service/reserve';
9
- import { COAServiceError } from './transporter/coaServiceError';
10
- export { COAServiceError, COAFactory as factory };
11
- export declare namespace auth {
12
- /**
13
- * リフレッシュトークン認証クライアント
14
- */
15
- class RefreshToken extends RefreshTokenClient {
16
- }
17
- namespace repo {
18
- export import credentials = CredentialsRepo;
19
- }
20
- }
21
- export declare namespace service {
22
- /**
23
- * マスターサービス
24
- */
25
- class Master extends MasterService {
26
- }
27
- /**
28
- * 予約サービス
29
- */
30
- class Reserve extends ReserveService {
31
- }
32
- }
1
+ export * as COA from './coa';
package/lib/index.js CHANGED
@@ -23,43 +23,5 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.service = exports.auth = exports.factory = exports.COAServiceError = void 0;
27
- /**
28
- * coa-service
29
- */
30
- const factory_1 = require("@coasystems/factory");
31
- Object.defineProperty(exports, "factory", { enumerable: true, get: function () { return factory_1.COAFactory; } });
32
- const refreshTokenClient_1 = require("./auth/refreshTokenClient");
33
- const CredentialsRepo = __importStar(require("./auth/repo/credentials"));
34
- const master_1 = require("./service/master");
35
- const reserve_1 = require("./service/reserve");
36
- const coaServiceError_1 = require("./transporter/coaServiceError");
37
- Object.defineProperty(exports, "COAServiceError", { enumerable: true, get: function () { return coaServiceError_1.COAServiceError; } });
38
- var auth;
39
- (function (auth) {
40
- /**
41
- * リフレッシュトークン認証クライアント
42
- */
43
- class RefreshToken extends refreshTokenClient_1.RefreshTokenClient {
44
- }
45
- auth.RefreshToken = RefreshToken;
46
- let repo;
47
- (function (repo) {
48
- repo.credentials = CredentialsRepo;
49
- })(repo = auth.repo || (auth.repo = {}));
50
- })(auth || (exports.auth = auth = {}));
51
- var service;
52
- (function (service) {
53
- /**
54
- * マスターサービス
55
- */
56
- class Master extends master_1.MasterService {
57
- }
58
- service.Master = Master;
59
- /**
60
- * 予約サービス
61
- */
62
- class Reserve extends reserve_1.ReserveService {
63
- }
64
- service.Reserve = Reserve;
65
- })(service || (exports.service = service = {}));
26
+ exports.COA = void 0;
27
+ exports.COA = __importStar(require("./coa"));
@@ -0,0 +1,2 @@
1
+ export { MasterService as Master } from './master';
2
+ export { ReserveService as Reserve } from './reserve';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Reserve = exports.Master = void 0;
4
+ var master_1 = require("./master");
5
+ Object.defineProperty(exports, "Master", { enumerable: true, get: function () { return master_1.MasterService; } });
6
+ var reserve_1 = require("./reserve");
7
+ Object.defineProperty(exports, "Reserve", { enumerable: true, get: function () { return reserve_1.ReserveService; } });
@@ -1,5 +1,5 @@
1
- type IHeaders = Record<string, any>;
2
- type IQS = Record<string, string | number | any[]>;
1
+ type IHeaders = Record<string, string>;
2
+ type IQS = Record<string, string | number | string[] | number[]>;
3
3
  export interface IRequestOptions {
4
4
  baseUrl?: string;
5
5
  auth?: {
@@ -27,101 +27,6 @@ exports.RESPONSE_BODY_STAUS_SUCCESS = 0;
27
27
  class Transporter {
28
28
  }
29
29
  exports.Transporter = Transporter;
30
- // export class DefaultTransporter implements Transporter {
31
- // /**
32
- // * Default user agent.
33
- // */
34
- // public static readonly USER_AGENT: string = `coa-service/${pkg.version}`;
35
- // public expectedStatusCodes: number[];
36
- // constructor(expectedStatusCodes: number[]) {
37
- // this.expectedStatusCodes = expectedStatusCodes;
38
- // }
39
- // /**
40
- // * Configures request options before making a request.
41
- // */
42
- // public static CONFIGURE(
43
- // options: IRequestOptions
44
- // ): IRequestOptions & Pick<request.OptionsWithUri, 'json' | 'useQuerystring'> {
45
- // // set transporter user agent
46
- // options.headers = (options.headers !== undefined) ? options.headers : {};
47
- // /* istanbul ignore else */
48
- // if (!options.headers['User-Agent']) {
49
- // options.headers['User-Agent'] = DefaultTransporter.USER_AGENT;
50
- // } else if (options.headers['User-Agent'].indexOf(DefaultTransporter.USER_AGENT) === -1) {
51
- // options.headers['User-Agent'] = `${options.headers['User-Agent']} ${DefaultTransporter.USER_AGENT}`;
52
- // } else {
53
- // // no operation
54
- // }
55
- // return {
56
- // ...options,
57
- // json: true,
58
- // useQuerystring: true
59
- // };
60
- // }
61
- // /**
62
- // * Makes a request with given options and invokes callback.
63
- // */
64
- // public async request(options: IRequestOptions): Promise<IResponseBody> {
65
- // const requestOptions = DefaultTransporter.CONFIGURE(options);
66
- // debug('requesting...', requestOptions);
67
- // return new Promise<any>((resolve, reject) => {
68
- // request(requestOptions, (error, response, body) => {
69
- // try {
70
- // resolve(this.wrapCallback(error, response, body, requestOptions));
71
- // } catch (callbackErr) {
72
- // reject(callbackErr);
73
- // }
74
- // });
75
- // });
76
- // }
77
- // /**
78
- // * Wraps the response callback.
79
- // */
80
- // private wrapCallback(error: any, response: request.RequestResponse, body: any, options: IRequestOptions): IResponseBody {
81
- // const requestOptions = { uri: options.uri };
82
- // let err: COAServiceError =
83
- // new COAServiceError(INTERNAL_SERVER_ERROR, '', 'An unexpected error occurred.', requestOptions);
84
- // if (error instanceof Error) {
85
- // throw new COAServiceError(INTERNAL_SERVER_ERROR, '', error.message, requestOptions);
86
- // }
87
- // debug('request processed', error, body, response.statusCode);
88
- // const statusFromBody = body?.status;
89
- // /* istanbul ignore else */
90
- // if (response.statusCode !== undefined) {
91
- // if (this.expectedStatusCodes.indexOf(response.statusCode) < 0) {
92
- // if (typeof body === 'string') {
93
- // // Consider all 4xx and 5xx responses errors.
94
- // err = new COAServiceError(response.statusCode, '', body, requestOptions);
95
- // } else {
96
- // // エラーレスポンスにステータスがあった場合
97
- // /* istanbul ignore else */
98
- // if (statusFromBody !== undefined) {
99
- // err = new COAServiceError(response.statusCode, statusFromBody, body.message, requestOptions);
100
- // } else {
101
- // // no operation
102
- // }
103
- // }
104
- // } else {
105
- // // HTTPステータスコード2xxでも、レスポンス本文のステータスが0でなければBadRequest
106
- // if (statusFromBody !== undefined && statusFromBody !== RESPONSE_BODY_STAUS_SUCCESS) {
107
- // err = new COAServiceError(response.statusCode, statusFromBody, body.message, requestOptions);
108
- // } else {
109
- // // if (response.statusCode === NO_CONTENT) {
110
- // // // consider 204
111
- // // return;
112
- // // } else {
113
- // // // consider 200,201
114
- // // return body;
115
- // // }
116
- // return body;
117
- // }
118
- // }
119
- // } else {
120
- // // no operation
121
- // }
122
- // throw err;
123
- // }
124
- // }
125
30
  /**
126
31
  * FetchTransporter
127
32
  */
@@ -129,7 +34,7 @@ class FetchTransporter {
129
34
  /**
130
35
  * Default user agent.
131
36
  */
132
- static USER_AGENT = `coa-service/${pkg.version}`;
37
+ static USER_AGENT = `coa/sdk@${pkg.version}`;
133
38
  expectedStatusCodes;
134
39
  constructor(expectedStatusCodes) {
135
40
  this.expectedStatusCodes = expectedStatusCodes;
package/package.json CHANGED
@@ -13,32 +13,28 @@
13
13
  }
14
14
  ],
15
15
  "dependencies": {
16
- "@coasystems/factory": "1.0.0-alpha.0",
16
+ "@coasystems/factory": "1.0.0",
17
17
  "debug": "4.4.3"
18
18
  },
19
- "description": "COA client library for Node.js",
19
+ "description": "COA SDK",
20
20
  "devDependencies": {
21
21
  "@eslint/js": "9.39.4",
22
22
  "@types/debug": "4.1.13",
23
- "@types/mocha": "^5.2.0",
24
23
  "@types/node": "22.19.17",
25
- "@types/sinon": "^4.3.3",
24
+ "@vitest/coverage-v8": "4.1.3",
25
+ "@vitest/ui": "4.1.3",
26
26
  "eslint": "9.39.4",
27
- "mocha": "^5.2.0",
28
27
  "moment": "^2.22.1",
29
- "nyc": "^15.1.0",
30
28
  "redis": "4.6.5",
31
29
  "rimraf": "^2.6.2",
32
- "sinon": "^5.0.10",
33
- "ts-node": "10.8.0",
34
30
  "typescript": "5.6.3",
35
- "typescript-eslint": "8.58.0"
31
+ "typescript-eslint": "8.58.0",
32
+ "vitest": "4.1.3"
36
33
  },
37
34
  "engines": {
38
35
  "node": ">=18.0.0",
39
36
  "npm": ">=10.0.0"
40
37
  },
41
- "keywords": [],
42
38
  "license": "UNLICENSED",
43
39
  "main": "./lib/index.js",
44
40
  "types": "./lib/index.d.ts",
@@ -52,16 +48,15 @@
52
48
  },
53
49
  "scripts": {
54
50
  "build": "tsc",
51
+ "check:all": "npm run clean && npm run build && npm test",
55
52
  "eslint": "eslint \"src/**/*.ts\"",
53
+ "coverage": "vitest run --coverage",
56
54
  "clean": "rimraf \"npm-debug.log*\" ./lib ./docs ./coverage ./.nyc_output",
57
- "mocha": "mocha",
58
- "nyc": "nyc mocha \"src/**/*.spec.ts\"",
59
- "coverage": "npm run nyc && nyc report --reporter=text-summary",
60
55
  "test": "npm run eslint && npm run coverage",
61
- "preversion": "npm run clean && npm run build && npm test",
56
+ "preversion": "npm run check:all",
62
57
  "version": "git add -A",
63
58
  "postversion": "git push origin --tags",
64
- "prepublishOnly": "npm run clean && npm run build && npm test"
59
+ "prepublishOnly": "npm run clean && npm run build"
65
60
  },
66
- "version": "9.7.0-alpha.3"
61
+ "version": "10.0.0-alpha.1"
67
62
  }