@opra/common 1.0.0-alpha.2 → 1.0.0-alpha.3

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.
Files changed (64) hide show
  1. package/browser.js +155 -78
  2. package/cjs/document/api-document.js +18 -12
  3. package/cjs/document/common/data-type-map.js +1 -1
  4. package/cjs/document/constants.js +1 -1
  5. package/cjs/document/data-type/api-field.js +1 -1
  6. package/cjs/document/data-type/complex-type.js +2 -3
  7. package/cjs/document/data-type/extended-types/base64.type.js +2 -1
  8. package/cjs/document/data-type/extended-types/date-string.type.js +6 -3
  9. package/cjs/document/data-type/extended-types/date-time-string.type.js +6 -3
  10. package/cjs/document/data-type/extended-types/date-time.type.js +6 -3
  11. package/cjs/document/data-type/extended-types/date.type.js +6 -3
  12. package/cjs/document/data-type/extended-types/email.type.js +20 -10
  13. package/cjs/document/data-type/extended-types/field-path.type.js +8 -4
  14. package/cjs/document/data-type/extended-types/filter.type.js +6 -3
  15. package/cjs/document/data-type/extended-types/object-id.type.js +2 -1
  16. package/cjs/document/data-type/extended-types/operation-result.type.js +20 -10
  17. package/cjs/document/data-type/extended-types/time.type.js +6 -3
  18. package/cjs/document/data-type/extended-types/url.type.js +2 -1
  19. package/cjs/document/data-type/extended-types/uuid.type.js +4 -2
  20. package/cjs/document/data-type/primitive-types/any.type.js +2 -1
  21. package/cjs/document/data-type/primitive-types/bigint.type.js +2 -1
  22. package/cjs/document/data-type/primitive-types/boolean.type.js +2 -1
  23. package/cjs/document/data-type/primitive-types/integer.type.js +2 -1
  24. package/cjs/document/data-type/primitive-types/null.type.js +2 -1
  25. package/cjs/document/data-type/primitive-types/number.type.js +6 -3
  26. package/cjs/document/data-type/primitive-types/object.type.js +2 -1
  27. package/cjs/document/data-type/primitive-types/string.type.js +10 -5
  28. package/cjs/document/factory/api-document.factory.js +5 -0
  29. package/cjs/document/factory/data-type.factory.js +1 -1
  30. package/cjs/document/factory/http-api.factory.js +1 -1
  31. package/esm/document/api-document.js +18 -12
  32. package/esm/document/common/data-type-map.js +1 -1
  33. package/esm/document/constants.js +1 -1
  34. package/esm/document/data-type/api-field.js +1 -1
  35. package/esm/document/data-type/complex-type.js +2 -3
  36. package/esm/document/data-type/extended-types/base64.type.js +3 -2
  37. package/esm/document/data-type/extended-types/date-string.type.js +7 -4
  38. package/esm/document/data-type/extended-types/date-time-string.type.js +7 -4
  39. package/esm/document/data-type/extended-types/date-time.type.js +7 -4
  40. package/esm/document/data-type/extended-types/date.type.js +7 -4
  41. package/esm/document/data-type/extended-types/email.type.js +21 -11
  42. package/esm/document/data-type/extended-types/field-path.type.js +9 -5
  43. package/esm/document/data-type/extended-types/filter.type.js +7 -4
  44. package/esm/document/data-type/extended-types/object-id.type.js +3 -2
  45. package/esm/document/data-type/extended-types/operation-result.type.js +21 -11
  46. package/esm/document/data-type/extended-types/time.type.js +7 -4
  47. package/esm/document/data-type/extended-types/url.type.js +3 -2
  48. package/esm/document/data-type/extended-types/uuid.type.js +5 -3
  49. package/esm/document/data-type/primitive-types/any.type.js +3 -2
  50. package/esm/document/data-type/primitive-types/bigint.type.js +3 -2
  51. package/esm/document/data-type/primitive-types/boolean.type.js +3 -2
  52. package/esm/document/data-type/primitive-types/integer.type.js +3 -2
  53. package/esm/document/data-type/primitive-types/null.type.js +3 -2
  54. package/esm/document/data-type/primitive-types/number.type.js +7 -4
  55. package/esm/document/data-type/primitive-types/object.type.js +3 -2
  56. package/esm/document/data-type/primitive-types/string.type.js +11 -6
  57. package/esm/document/factory/api-document.factory.js +4 -0
  58. package/esm/document/factory/data-type.factory.js +1 -1
  59. package/esm/document/factory/http-api.factory.js +1 -1
  60. package/package.json +2 -2
  61. package/types/document/api-document.d.ts +3 -6
  62. package/types/document/factory/api-document.factory.d.ts +1 -1
  63. package/types/schema/document.interface.d.ts +13 -1
  64. package/types/schema/index.d.ts +1 -0
@@ -205,7 +205,7 @@ export class HttpApiFactory {
205
205
  });
206
206
  }
207
207
  if (metadata.requestBody) {
208
- await context.enter('.requestBody', async () => {
208
+ await context.enterAsync('.requestBody', async () => {
209
209
  const requestBody = new HttpRequestBody(operation);
210
210
  await this._initHttpRequestBody(context, requestBody, metadata.requestBody);
211
211
  operation.requestBody = requestBody;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opra/common",
3
- "version": "1.0.0-alpha.2",
3
+ "version": "1.0.0-alpha.3",
4
4
  "description": "Opra common package",
5
5
  "author": "Panates",
6
6
  "license": "MIT",
@@ -55,7 +55,7 @@
55
55
  "@browsery/util": "^0.12.5",
56
56
  "@types/encodeurl": "^1.0.2",
57
57
  "@types/lodash.omit": "^4.5.9",
58
- "@types/validator": "^13.11.10",
58
+ "@types/validator": "^13.12.0",
59
59
  "path-browserify": "^1.0.1",
60
60
  "ts-gems": "^3.4.0"
61
61
  },
@@ -7,17 +7,13 @@ import { kTypeNSMap } from './constants.js';
7
7
  import { DataType } from './data-type/data-type.js';
8
8
  import type { EnumType } from './data-type/enum-type.js';
9
9
  import type { HttpApi } from './http/http-api.js';
10
- export declare namespace ApiDocument {
11
- interface ExportOptions {
12
- references?: 'inline' | 'relative-url' | 'external-url';
13
- }
14
- }
15
10
  /**
16
11
  *
17
12
  * @class ApiDocument
18
13
  */
19
14
  export declare class ApiDocument extends DocumentElement {
20
15
  protected [kTypeNSMap]: WeakMap<DataType, string>;
16
+ readonly id: string;
21
17
  url?: string;
22
18
  info: OpraSchema.DocumentInfo;
23
19
  references: ResponsiveMap<ApiDocument>;
@@ -29,10 +25,11 @@ export declare class ApiDocument extends DocumentElement {
29
25
  * @param nameOrCtor
30
26
  */
31
27
  getDataTypeNs(nameOrCtor: string | Type | Function | EnumType.EnumArray | EnumType.EnumObject | DataType): string | undefined;
28
+ findDocument(id: string): ApiDocument | undefined;
32
29
  toJSON(): OpraSchema.ApiDocument;
33
30
  /**
34
31
  * Export as Opra schema definition object
35
32
  */
36
- export(options?: ApiDocument.ExportOptions): OpraSchema.ApiDocument;
33
+ export(): OpraSchema.ApiDocument;
37
34
  protected _findDataType(nameOrCtor: string | Type | Function | EnumType.EnumArray | EnumType.EnumObject, visitedRefs?: WeakMap<ApiDocument, boolean>): DataType | undefined;
38
35
  }
@@ -5,7 +5,7 @@ import { DocumentInitContext } from '../common/document-init-context.js';
5
5
  import { DataTypeFactory } from './data-type.factory.js';
6
6
  import { HttpApiFactory } from './http-api.factory.js';
7
7
  export declare namespace ApiDocumentFactory {
8
- interface InitArguments extends PartialSome<StrictOmit<OpraSchema.ApiDocument, 'references' | 'types' | 'api'>, 'spec'> {
8
+ interface InitArguments extends PartialSome<StrictOmit<OpraSchema.ApiDocument, 'id' | 'references' | 'types' | 'api'>, 'spec'> {
9
9
  references?: Record<string, ReferenceThunk>;
10
10
  types?: DataTypeInitSources;
11
11
  api?: HttpApiFactory.InitArguments;
@@ -7,9 +7,10 @@ export type Protocol = 'http' | 'ws' | 'rpc';
7
7
  */
8
8
  export interface Document extends DataTypeContainer {
9
9
  spec: SpecVersion;
10
+ id: string;
10
11
  url?: string;
11
12
  info?: DocumentInfo;
12
- references?: Record<string, string | Document>;
13
+ references?: Record<string, DocumentReference>;
13
14
  api?: HttpApi;
14
15
  }
15
16
  /**
@@ -39,6 +40,14 @@ export interface LicenseInfo {
39
40
  url?: string;
40
41
  content?: string;
41
42
  }
43
+ /**
44
+ * @interface DocumentReference
45
+ */
46
+ export interface DocumentReference extends Pick<Document, 'id' | 'url' | 'info'> {
47
+ }
48
+ /**
49
+ * @interface Api
50
+ */
42
51
  export interface Api extends DataTypeContainer {
43
52
  protocol: Protocol;
44
53
  /**
@@ -47,6 +56,9 @@ export interface Api extends DataTypeContainer {
47
56
  name: string;
48
57
  description?: string;
49
58
  }
59
+ /**
60
+ * @interface HttpApi
61
+ */
50
62
  export interface HttpApi extends Api {
51
63
  protocol: 'http';
52
64
  description?: string;
@@ -26,6 +26,7 @@ export declare namespace OpraSchema {
26
26
  export import DocumentInfo = apiDocument_.DocumentInfo;
27
27
  export import ContactPerson = apiDocument_.ContactPerson;
28
28
  export import LicenseInfo = apiDocument_.LicenseInfo;
29
+ export import DocumentReference = apiDocument_.DocumentReference;
29
30
  export import HttpApi = apiDocument_.HttpApi;
30
31
  export import Api = apiDocument_.Api;
31
32
  export import HttpMethod = types_.HttpMethod;