oak-domain 4.0.0 → 4.0.2

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 (207) hide show
  1. package/lib/actions/action.d.ts +16 -16
  2. package/lib/actions/action.js +17 -17
  3. package/lib/actions/relation.d.ts +5 -5
  4. package/lib/actions/relation.js +25 -25
  5. package/lib/base-app-domain/ActionAuth/Schema.d.ts +186 -186
  6. package/lib/base-app-domain/ActionAuth/Storage.js +39 -39
  7. package/lib/base-app-domain/ActionDefDict.d.ts +8 -8
  8. package/lib/base-app-domain/ActionDefDict.js +9 -9
  9. package/lib/base-app-domain/EntityDict.d.ts +28 -28
  10. package/lib/base-app-domain/I18n/Schema.d.ts +129 -129
  11. package/lib/base-app-domain/I18n/Schema.js +2 -2
  12. package/lib/base-app-domain/I18n/Storage.d.ts +3 -3
  13. package/lib/base-app-domain/I18n/Storage.js +59 -59
  14. package/lib/base-app-domain/Modi/Action.d.ts +10 -10
  15. package/lib/base-app-domain/Modi/Action.js +14 -14
  16. package/lib/base-app-domain/Modi/Schema.d.ts +136 -136
  17. package/lib/base-app-domain/Modi/Storage.js +63 -63
  18. package/lib/base-app-domain/ModiEntity/Schema.d.ts +384 -384
  19. package/lib/base-app-domain/ModiEntity/Storage.js +30 -30
  20. package/lib/base-app-domain/Oper/Schema.d.ts +153 -153
  21. package/lib/base-app-domain/Oper/Storage.js +38 -38
  22. package/lib/base-app-domain/OperEntity/Schema.d.ts +373 -373
  23. package/lib/base-app-domain/OperEntity/Storage.js +30 -30
  24. package/lib/base-app-domain/Path/Schema.d.ts +149 -149
  25. package/lib/base-app-domain/Path/Schema.js +2 -2
  26. package/lib/base-app-domain/Path/Storage.d.ts +3 -3
  27. package/lib/base-app-domain/Path/Storage.js +54 -54
  28. package/lib/base-app-domain/Relation/Schema.d.ts +188 -188
  29. package/lib/base-app-domain/Relation/Storage.js +54 -54
  30. package/lib/base-app-domain/Relation.d.ts +2 -2
  31. package/lib/base-app-domain/Relation.js +4 -4
  32. package/lib/base-app-domain/RelationAuth/Schema.d.ts +214 -214
  33. package/lib/base-app-domain/RelationAuth/Storage.js +44 -44
  34. package/lib/base-app-domain/Storage.js +31 -31
  35. package/lib/base-app-domain/User/Action.d.ts +10 -10
  36. package/lib/base-app-domain/User/Action.js +12 -12
  37. package/lib/base-app-domain/User/Schema.d.ts +210 -210
  38. package/lib/base-app-domain/User/Storage.js +33 -33
  39. package/lib/base-app-domain/UserEntityClaim/Schema.d.ts +264 -264
  40. package/lib/base-app-domain/UserEntityClaim/Schema.js +2 -2
  41. package/lib/base-app-domain/UserEntityClaim/Storage.d.ts +3 -3
  42. package/lib/base-app-domain/UserEntityClaim/Storage.js +37 -37
  43. package/lib/base-app-domain/UserEntityGrant/Schema.d.ts +131 -131
  44. package/lib/base-app-domain/UserEntityGrant/Storage.js +25 -25
  45. package/lib/base-app-domain/UserRelation/Schema.d.ts +208 -208
  46. package/lib/base-app-domain/UserRelation/Storage.js +56 -56
  47. package/lib/base-app-domain/_SubQuery.d.ts +142 -142
  48. package/lib/base-app-domain/index.d.ts +4 -4
  49. package/lib/base-app-domain/index.js +7 -7
  50. package/lib/checkers/index.d.ts +5 -5
  51. package/lib/checkers/index.js +13 -13
  52. package/lib/compiler/entities.d.ts +2 -2
  53. package/lib/compiler/entities.js +7 -7
  54. package/lib/compiler/env.d.ts +13 -13
  55. package/lib/compiler/env.js +45 -45
  56. package/lib/compiler/localeBuilder.d.ts +27 -27
  57. package/lib/compiler/localeBuilder.js +37 -8
  58. package/lib/compiler/routerBuilder.d.ts +1 -0
  59. package/lib/compiler/routerBuilder.js +257 -0
  60. package/lib/compiler/schemalBuilder.d.ts +27 -27
  61. package/lib/compiler/schemalBuilder.js +3565 -3565
  62. package/lib/entities/ActionAuth.d.ts +10 -10
  63. package/lib/entities/ActionAuth.js +31 -31
  64. package/lib/entities/I18n.d.ts +9 -9
  65. package/lib/entities/I18n.js +36 -36
  66. package/lib/entities/Modi.js +49 -49
  67. package/lib/entities/ModiEntity.js +18 -18
  68. package/lib/entities/Oper.js +21 -21
  69. package/lib/entities/OperEntity.js +18 -18
  70. package/lib/entities/Path.d.ts +8 -8
  71. package/lib/entities/Path.js +35 -35
  72. package/lib/entities/Relation.d.ts +8 -8
  73. package/lib/entities/Relation.js +35 -35
  74. package/lib/entities/RelationAuth.d.ts +8 -8
  75. package/lib/entities/RelationAuth.js +34 -34
  76. package/lib/entities/User.js +31 -31
  77. package/lib/entities/UserEntityClaim.d.ts +13 -13
  78. package/lib/entities/UserEntityClaim.js +17 -17
  79. package/lib/entities/UserEntityGrant.d.ts +9 -9
  80. package/lib/entities/UserEntityGrant.js +15 -15
  81. package/lib/entities/UserRelation.d.ts +10 -10
  82. package/lib/entities/UserRelation.js +38 -38
  83. package/lib/index.d.ts +23 -23
  84. package/lib/index.js +37 -37
  85. package/lib/store/AsyncRowStore.d.ts +65 -60
  86. package/lib/store/AsyncRowStore.js +176 -118
  87. package/lib/store/CascadeStore.d.ts +10 -5
  88. package/lib/store/CascadeStore.js +102 -42
  89. package/lib/store/RelationAuth.d.ts +96 -96
  90. package/lib/store/RelationAuth.js +1336 -1336
  91. package/lib/store/SyncRowStore.d.ts +29 -29
  92. package/lib/store/SyncRowStore.js +50 -50
  93. package/lib/store/TriggerExecutor.d.ts +41 -38
  94. package/lib/store/TriggerExecutor.js +133 -124
  95. package/lib/store/actionAuth.d.ts +4 -4
  96. package/lib/store/actionAuth.js +25 -25
  97. package/lib/store/actionDef.d.ts +10 -10
  98. package/lib/store/actionDef.js +4 -4
  99. package/lib/store/checker.d.ts +26 -26
  100. package/lib/store/checker.js +487 -487
  101. package/lib/store/filter.d.ts +85 -85
  102. package/lib/store/filter.js +1652 -1651
  103. package/lib/store/modi.d.ts +13 -13
  104. package/lib/store/modi.js +254 -254
  105. package/lib/store/relation.d.ts +12 -12
  106. package/lib/store/relation.js +67 -67
  107. package/lib/timers/oper.d.ts +18 -18
  108. package/lib/timers/oper.js +57 -57
  109. package/lib/timers/vaccum.d.ts +20 -20
  110. package/lib/timers/vaccum.js +111 -111
  111. package/lib/triggers/index.d.ts +5 -5
  112. package/lib/triggers/index.js +8 -8
  113. package/lib/types/Action.d.ts +20 -20
  114. package/lib/types/AppLoader.d.ts +17 -17
  115. package/lib/types/AppLoader.js +10 -10
  116. package/lib/types/Auth.d.ts +70 -70
  117. package/lib/types/Cluster.d.ts +5 -5
  118. package/lib/types/Cluster.js +2 -2
  119. package/lib/types/Connector.d.ts +38 -38
  120. package/lib/types/Connector.js +2 -2
  121. package/lib/types/DataType.d.ts +25 -25
  122. package/lib/types/DataType.js +6 -6
  123. package/lib/types/Demand.d.ts +89 -88
  124. package/lib/types/Demand.js +10 -10
  125. package/lib/types/Endpoint.d.ts +11 -11
  126. package/lib/types/Entity.d.ts +209 -203
  127. package/lib/types/Entity.js +15 -15
  128. package/lib/types/EntityDesc.d.ts +9 -9
  129. package/lib/types/EntityDesc.js +2 -2
  130. package/lib/types/Environment.d.ts +90 -88
  131. package/lib/types/Environment.js +2 -2
  132. package/lib/types/Exception.d.ts +147 -147
  133. package/lib/types/Exception.js +406 -406
  134. package/lib/types/Expression.d.ts +163 -163
  135. package/lib/types/Expression.js +397 -397
  136. package/lib/types/Geo.d.ts +18 -18
  137. package/lib/types/Locale.d.ts +25 -25
  138. package/lib/types/Logger.d.ts +6 -6
  139. package/lib/types/Polyfill.d.ts +24 -24
  140. package/lib/types/Port.d.ts +18 -18
  141. package/lib/types/RowStore.d.ts +19 -18
  142. package/lib/types/RowStore.js +33 -33
  143. package/lib/types/Storage.d.ts +58 -58
  144. package/lib/types/Style.d.ts +11 -11
  145. package/lib/types/Timer.d.ts +20 -14
  146. package/lib/types/Trigger.d.ts +118 -124
  147. package/lib/types/Trigger.js +35 -58
  148. package/lib/types/Watcher.d.ts +19 -19
  149. package/lib/types/index.d.ts +26 -26
  150. package/lib/types/index.js +29 -29
  151. package/lib/types/schema/DataTypes.d.ts +34 -34
  152. package/lib/utils/SimpleConnector.d.ts +64 -64
  153. package/lib/utils/SimpleConnector.js +2 -2
  154. package/lib/utils/assert.d.ts +1 -0
  155. package/lib/utils/assert.js +9 -9
  156. package/lib/utils/concurrent.d.ts +15 -15
  157. package/lib/utils/concurrent.js +63 -63
  158. package/lib/utils/date.js +18 -18
  159. package/lib/utils/domain.d.ts +1 -1
  160. package/lib/utils/domain.js +11 -11
  161. package/lib/utils/geo.js +24 -24
  162. package/lib/utils/lodash.d.ts +24 -24
  163. package/lib/utils/lodash.js +46 -46
  164. package/lib/utils/mask.js +34 -34
  165. package/lib/utils/money.d.ts +6 -6
  166. package/lib/utils/money.js +51 -51
  167. package/lib/utils/projection.d.ts +4 -4
  168. package/lib/utils/projection.js +15 -15
  169. package/lib/utils/random/random.js +19 -19
  170. package/lib/utils/random/random.mp.js +14 -14
  171. package/lib/utils/random/random.native.d.ts +1 -1
  172. package/lib/utils/random/random.native.js +14 -14
  173. package/lib/utils/random/random.web.js +11 -11
  174. package/lib/utils/string.d.ts +28 -28
  175. package/lib/utils/string.js +69 -69
  176. package/lib/utils/url/index.d.ts +7 -7
  177. package/lib/utils/url/index.js +8 -8
  178. package/lib/utils/url/index.mp.d.ts +3 -4
  179. package/lib/utils/url/index.mp.js +8 -8
  180. package/lib/utils/url/index.native.d.ts +12 -12
  181. package/lib/utils/url/index.native.js +7 -7
  182. package/lib/utils/url/index.web.d.ts +12 -12
  183. package/lib/utils/url/index.web.js +7 -7
  184. package/lib/utils/url/whatwg-url/index.d.ts +3 -0
  185. package/lib/utils/url/whatwg-url/index.js +16 -0
  186. package/lib/utils/url/whatwg-url/lib/URL-impl.d.ts +20 -0
  187. package/lib/utils/url/whatwg-url/lib/URL-impl.js +175 -0
  188. package/lib/utils/url/whatwg-url/lib/URL.d.ts +1 -0
  189. package/lib/utils/url/whatwg-url/lib/URL.js +298 -0
  190. package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.d.ts +19 -0
  191. package/lib/utils/url/whatwg-url/lib/URLSearchParams-impl.js +126 -0
  192. package/lib/utils/url/whatwg-url/lib/URLSearchParams.d.ts +1 -0
  193. package/lib/utils/url/whatwg-url/lib/URLSearchParams.js +426 -0
  194. package/lib/utils/url/whatwg-url/lib/infra.d.ts +12 -0
  195. package/lib/utils/url/whatwg-url/lib/infra.js +25 -0
  196. package/lib/utils/url/whatwg-url/lib/url-state-machine.d.ts +24 -0
  197. package/lib/utils/url/whatwg-url/lib/url-state-machine.js +1238 -0
  198. package/lib/utils/url/whatwg-url/lib/urlencoded.d.ts +15 -0
  199. package/lib/utils/url/whatwg-url/lib/urlencoded.js +162 -0
  200. package/lib/utils/url/whatwg-url/lib/utils.d.ts +37 -0
  201. package/lib/utils/url/whatwg-url/lib/utils.js +101 -0
  202. package/lib/utils/uuid.d.ts +17 -17
  203. package/lib/utils/uuid.js +218 -218
  204. package/lib/utils/validator.d.ts +26 -26
  205. package/lib/utils/validator.js +131 -131
  206. package/lib/utils/version.js +21 -21
  207. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.urlSearchParams = exports.url = void 0;
4
- const url = URL;
5
- exports.url = url;
6
- const urlSearchParams = URLSearchParams;
7
- exports.urlSearchParams = urlSearchParams;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.urlSearchParams = exports.url = void 0;
4
+ const url = URL;
5
+ exports.url = url;
6
+ const urlSearchParams = URLSearchParams;
7
+ exports.urlSearchParams = urlSearchParams;
@@ -1,12 +1,12 @@
1
- declare const url: {
2
- new (url: string | URL, base?: string | URL | undefined): URL;
3
- prototype: URL;
4
- canParse(url: string | URL, base?: string | undefined): boolean;
5
- createObjectURL(obj: Blob | MediaSource): string;
6
- revokeObjectURL(url: string): void;
7
- };
8
- declare const urlSearchParams: {
9
- new (init?: string | Record<string, string> | string[][] | URLSearchParams | undefined): URLSearchParams;
10
- prototype: URLSearchParams;
11
- };
12
- export { url, urlSearchParams };
1
+ declare const url: {
2
+ new (url: string | URL, base?: string | URL | undefined): URL;
3
+ prototype: URL;
4
+ canParse(url: string | URL, base?: string | undefined): boolean;
5
+ createObjectURL(obj: Blob | MediaSource): string;
6
+ revokeObjectURL(url: string): void;
7
+ };
8
+ declare const urlSearchParams: {
9
+ new (init?: string | Record<string, string> | string[][] | URLSearchParams | undefined): URLSearchParams;
10
+ prototype: URLSearchParams;
11
+ };
12
+ export { url, urlSearchParams };
@@ -1,7 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.urlSearchParams = exports.url = void 0;
4
- const url = URL;
5
- exports.url = url;
6
- const urlSearchParams = URLSearchParams;
7
- exports.urlSearchParams = urlSearchParams;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.urlSearchParams = exports.url = void 0;
4
+ const url = URL;
5
+ exports.url = url;
6
+ const urlSearchParams = URLSearchParams;
7
+ exports.urlSearchParams = urlSearchParams;
@@ -0,0 +1,3 @@
1
+ declare const URL: URL;
2
+ declare const URLSearchParams: URLSearchParams;
3
+ export { URL, URLSearchParams };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.URLSearchParams = exports.URL = void 0;
4
+ /**
5
+ * 为了能在小程序中使用URL、URLSearchParams
6
+ * 但whatwg-url-without-unicode这个库未更新,把其的代码放本地进行更新
7
+ */
8
+ const whatwgUrl = require('./lib/URL');
9
+ const whatwgUrlSearchParams = require('./lib/URLSearchParams');
10
+ const sharedGlobalObject = {};
11
+ whatwgUrl.install(sharedGlobalObject);
12
+ whatwgUrlSearchParams.install(sharedGlobalObject);
13
+ const URL = sharedGlobalObject.URL;
14
+ exports.URL = URL;
15
+ const URLSearchParams = sharedGlobalObject.URLSearchParams;
16
+ exports.URLSearchParams = URLSearchParams;
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ implementation: {
3
+ new (globalObject: any, constructorArgs: any): {
4
+ href: string;
5
+ readonly origin: any;
6
+ protocol: string;
7
+ username: any;
8
+ password: any;
9
+ host: any;
10
+ hostname: any;
11
+ port: string;
12
+ pathname: any;
13
+ search: string;
14
+ readonly searchParams: any;
15
+ hash: string;
16
+ toJSON(): string;
17
+ };
18
+ };
19
+ };
20
+ export default _default;
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ // @ts-nocheck
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const tslib_1 = require("tslib");
5
+ const url_state_machine_1 = tslib_1.__importDefault(require("./url-state-machine"));
6
+ const urlencoded_1 = tslib_1.__importDefault(require("./urlencoded"));
7
+ const URLSearchParams_1 = tslib_1.__importDefault(require("./URLSearchParams"));
8
+ const implementation = class URLImpl {
9
+ constructor(globalObject, constructorArgs) {
10
+ const url = constructorArgs[0];
11
+ const base = constructorArgs[1];
12
+ let parsedBase = null;
13
+ if (base !== undefined) {
14
+ parsedBase = url_state_machine_1.default.basicURLParse(base);
15
+ if (parsedBase === null) {
16
+ throw new TypeError(`Invalid base URL: ${base}`);
17
+ }
18
+ }
19
+ const parsedURL = url_state_machine_1.default.basicURLParse(url, { baseURL: parsedBase });
20
+ if (parsedURL === null) {
21
+ throw new TypeError(`Invalid URL: ${url}`);
22
+ }
23
+ const query = parsedURL.query !== null ? parsedURL.query : "";
24
+ this._url = parsedURL;
25
+ // We cannot invoke the "new URLSearchParams object" algorithm without going through the constructor, which strips
26
+ // question mark by default. Therefore the doNotStripQMark hack is used.
27
+ this._query = URLSearchParams_1.default.createImpl(globalObject, [query], { doNotStripQMark: true });
28
+ this._query._url = this;
29
+ }
30
+ get href() {
31
+ return url_state_machine_1.default.serializeURL(this._url);
32
+ }
33
+ set href(v) {
34
+ const parsedURL = url_state_machine_1.default.basicURLParse(v);
35
+ if (parsedURL === null) {
36
+ throw new TypeError(`Invalid URL: ${v}`);
37
+ }
38
+ this._url = parsedURL;
39
+ this._query._list.splice(0);
40
+ const { query } = parsedURL;
41
+ if (query !== null) {
42
+ this._query._list = urlencoded_1.default.parseUrlencoded(query);
43
+ }
44
+ }
45
+ get origin() {
46
+ return url_state_machine_1.default.serializeURLOrigin(this._url);
47
+ }
48
+ get protocol() {
49
+ return this._url.scheme + ":";
50
+ }
51
+ set protocol(v) {
52
+ url_state_machine_1.default.basicURLParse(v + ":", { url: this._url, stateOverride: "scheme start" });
53
+ }
54
+ get username() {
55
+ return this._url.username;
56
+ }
57
+ set username(v) {
58
+ if (url_state_machine_1.default.cannotHaveAUsernamePasswordPort(this._url)) {
59
+ return;
60
+ }
61
+ url_state_machine_1.default.setTheUsername(this._url, v);
62
+ }
63
+ get password() {
64
+ return this._url.password;
65
+ }
66
+ set password(v) {
67
+ if (url_state_machine_1.default.cannotHaveAUsernamePasswordPort(this._url)) {
68
+ return;
69
+ }
70
+ url_state_machine_1.default.setThePassword(this._url, v);
71
+ }
72
+ get host() {
73
+ const url = this._url;
74
+ if (url.host === null) {
75
+ return "";
76
+ }
77
+ if (url.port === null) {
78
+ return url_state_machine_1.default.serializeHost(url.host);
79
+ }
80
+ return url_state_machine_1.default.serializeHost(url.host) + ":" + url_state_machine_1.default.serializeInteger(url.port);
81
+ }
82
+ set host(v) {
83
+ if (this._url.cannotBeABaseURL) {
84
+ return;
85
+ }
86
+ url_state_machine_1.default.basicURLParse(v, { url: this._url, stateOverride: "host" });
87
+ }
88
+ get hostname() {
89
+ if (this._url.host === null) {
90
+ return "";
91
+ }
92
+ return url_state_machine_1.default.serializeHost(this._url.host);
93
+ }
94
+ set hostname(v) {
95
+ if (this._url.cannotBeABaseURL) {
96
+ return;
97
+ }
98
+ url_state_machine_1.default.basicURLParse(v, { url: this._url, stateOverride: "hostname" });
99
+ }
100
+ get port() {
101
+ if (this._url.port === null) {
102
+ return "";
103
+ }
104
+ return url_state_machine_1.default.serializeInteger(this._url.port);
105
+ }
106
+ set port(v) {
107
+ if (url_state_machine_1.default.cannotHaveAUsernamePasswordPort(this._url)) {
108
+ return;
109
+ }
110
+ if (v === "") {
111
+ this._url.port = null;
112
+ }
113
+ else {
114
+ url_state_machine_1.default.basicURLParse(v, { url: this._url, stateOverride: "port" });
115
+ }
116
+ }
117
+ get pathname() {
118
+ if (this._url.cannotBeABaseURL) {
119
+ return this._url.path[0];
120
+ }
121
+ if (this._url.path.length === 0) {
122
+ return "";
123
+ }
124
+ return "/" + this._url.path.join("/");
125
+ }
126
+ set pathname(v) {
127
+ if (this._url.cannotBeABaseURL) {
128
+ return;
129
+ }
130
+ this._url.path = [];
131
+ url_state_machine_1.default.basicURLParse(v, { url: this._url, stateOverride: "path start" });
132
+ }
133
+ get search() {
134
+ if (this._url.query === null || this._url.query === "") {
135
+ return "";
136
+ }
137
+ return "?" + this._url.query;
138
+ }
139
+ set search(v) {
140
+ const url = this._url;
141
+ if (v === "") {
142
+ url.query = null;
143
+ this._query._list = [];
144
+ return;
145
+ }
146
+ const input = v[0] === "?" ? v.substring(1) : v;
147
+ url.query = "";
148
+ url_state_machine_1.default.basicURLParse(input, { url, stateOverride: "query" });
149
+ this._query._list = urlencoded_1.default.parseUrlencoded(input);
150
+ }
151
+ get searchParams() {
152
+ return this._query;
153
+ }
154
+ get hash() {
155
+ if (this._url.fragment === null || this._url.fragment === "") {
156
+ return "";
157
+ }
158
+ return "#" + this._url.fragment;
159
+ }
160
+ set hash(v) {
161
+ if (v === "") {
162
+ this._url.fragment = null;
163
+ return;
164
+ }
165
+ const input = v[0] === "#" ? v.substring(1) : v;
166
+ this._url.fragment = "";
167
+ url_state_machine_1.default.basicURLParse(input, { url: this._url, stateOverride: "fragment" });
168
+ }
169
+ toJSON() {
170
+ return this.href;
171
+ }
172
+ };
173
+ exports.default = {
174
+ implementation
175
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ // @ts-nocheck
5
+ const webidl_conversions_1 = tslib_1.__importDefault(require("webidl-conversions"));
6
+ const utils_1 = tslib_1.__importDefault(require("./utils"));
7
+ const impl = utils_1.default.implSymbol;
8
+ const ctorRegistry = utils_1.default.ctorRegistrySymbol;
9
+ const iface = {
10
+ // When an interface-module that implements this interface as a mixin is loaded, it will append its own `.is()`
11
+ // method into this array. It allows objects that directly implements *those* interfaces to be recognized as
12
+ // implementing this mixin interface.
13
+ _mixedIntoPredicates: [],
14
+ is(obj) {
15
+ if (obj) {
16
+ if (utils_1.default.hasOwn(obj, impl) && obj[impl] instanceof URL_impl_1.default.implementation) {
17
+ return true;
18
+ }
19
+ for (const isMixedInto of module.exports._mixedIntoPredicates) {
20
+ if (isMixedInto(obj)) {
21
+ return true;
22
+ }
23
+ }
24
+ }
25
+ return false;
26
+ },
27
+ isImpl(obj) {
28
+ if (obj) {
29
+ if (obj instanceof URL_impl_1.default.implementation) {
30
+ return true;
31
+ }
32
+ const wrapper = utils_1.default.wrapperForImpl(obj);
33
+ for (const isMixedInto of module.exports._mixedIntoPredicates) {
34
+ if (isMixedInto(wrapper)) {
35
+ return true;
36
+ }
37
+ }
38
+ }
39
+ return false;
40
+ },
41
+ convert(obj, { context = "The provided value" } = {}) {
42
+ if (module.exports.is(obj)) {
43
+ return utils_1.default.implForWrapper(obj);
44
+ }
45
+ throw new TypeError(`${context} is not of type 'URL'.`);
46
+ },
47
+ create(globalObject, constructorArgs, privateData) {
48
+ if (globalObject[ctorRegistry] === undefined) {
49
+ throw new Error("Internal error: invalid global object");
50
+ }
51
+ const ctor = globalObject[ctorRegistry]["URL"];
52
+ if (ctor === undefined) {
53
+ throw new Error("Internal error: constructor URL is not installed on the passed global object");
54
+ }
55
+ let obj = Object.create(ctor.prototype);
56
+ obj = iface.setup(obj, globalObject, constructorArgs, privateData);
57
+ return obj;
58
+ },
59
+ createImpl(globalObject, constructorArgs, privateData) {
60
+ const obj = iface.create(globalObject, constructorArgs, privateData);
61
+ return utils_1.default.implForWrapper(obj);
62
+ },
63
+ _internalSetup(obj) { },
64
+ setup(obj, globalObject, constructorArgs = [], privateData = {}) {
65
+ privateData.wrapper = obj;
66
+ iface._internalSetup(obj);
67
+ Object.defineProperty(obj, impl, {
68
+ value: new URL_impl_1.default.implementation(globalObject, constructorArgs, privateData),
69
+ configurable: true
70
+ });
71
+ obj[impl][utils_1.default.wrapperSymbol] = obj;
72
+ if (URL_impl_1.default.init) {
73
+ URL_impl_1.default.init(obj[impl], privateData);
74
+ }
75
+ return obj;
76
+ },
77
+ install(globalObject) {
78
+ class URL {
79
+ constructor(url) {
80
+ if (arguments.length < 1) {
81
+ throw new TypeError("Failed to construct 'URL': 1 argument required, but only " + arguments.length + " present.");
82
+ }
83
+ const args = [];
84
+ {
85
+ let curArg = arguments[0];
86
+ curArg = webidl_conversions_1.default["USVString"](curArg, { context: "Failed to construct 'URL': parameter 1" });
87
+ args.push(curArg);
88
+ }
89
+ {
90
+ let curArg = arguments[1];
91
+ if (curArg !== undefined) {
92
+ curArg = webidl_conversions_1.default["USVString"](curArg, { context: "Failed to construct 'URL': parameter 2" });
93
+ }
94
+ args.push(curArg);
95
+ }
96
+ return iface.setup(Object.create(this.constructor.prototype), globalObject, args);
97
+ }
98
+ toJSON() {
99
+ if (!this || !module.exports.is(this)) {
100
+ throw new TypeError("Illegal invocation");
101
+ }
102
+ return this[impl].toJSON();
103
+ }
104
+ get href() {
105
+ if (!this || !module.exports.is(this)) {
106
+ throw new TypeError("Illegal invocation");
107
+ }
108
+ return this[impl]["href"];
109
+ }
110
+ set href(V) {
111
+ if (!this || !module.exports.is(this)) {
112
+ throw new TypeError("Illegal invocation");
113
+ }
114
+ V = webidl_conversions_1.default["USVString"](V, { context: "Failed to set the 'href' property on 'URL': The provided value" });
115
+ this[impl]["href"] = V;
116
+ }
117
+ toString() {
118
+ if (!this || !module.exports.is(this)) {
119
+ throw new TypeError("Illegal invocation");
120
+ }
121
+ return this[impl]["href"];
122
+ }
123
+ get origin() {
124
+ if (!this || !module.exports.is(this)) {
125
+ throw new TypeError("Illegal invocation");
126
+ }
127
+ return this[impl]["origin"];
128
+ }
129
+ get protocol() {
130
+ if (!this || !module.exports.is(this)) {
131
+ throw new TypeError("Illegal invocation");
132
+ }
133
+ return this[impl]["protocol"];
134
+ }
135
+ set protocol(V) {
136
+ if (!this || !module.exports.is(this)) {
137
+ throw new TypeError("Illegal invocation");
138
+ }
139
+ V = webidl_conversions_1.default["USVString"](V, {
140
+ context: "Failed to set the 'protocol' property on 'URL': The provided value"
141
+ });
142
+ this[impl]["protocol"] = V;
143
+ }
144
+ get username() {
145
+ if (!this || !module.exports.is(this)) {
146
+ throw new TypeError("Illegal invocation");
147
+ }
148
+ return this[impl]["username"];
149
+ }
150
+ set username(V) {
151
+ if (!this || !module.exports.is(this)) {
152
+ throw new TypeError("Illegal invocation");
153
+ }
154
+ V = webidl_conversions_1.default["USVString"](V, {
155
+ context: "Failed to set the 'username' property on 'URL': The provided value"
156
+ });
157
+ this[impl]["username"] = V;
158
+ }
159
+ get password() {
160
+ if (!this || !module.exports.is(this)) {
161
+ throw new TypeError("Illegal invocation");
162
+ }
163
+ return this[impl]["password"];
164
+ }
165
+ set password(V) {
166
+ if (!this || !module.exports.is(this)) {
167
+ throw new TypeError("Illegal invocation");
168
+ }
169
+ V = webidl_conversions_1.default["USVString"](V, {
170
+ context: "Failed to set the 'password' property on 'URL': The provided value"
171
+ });
172
+ this[impl]["password"] = V;
173
+ }
174
+ get host() {
175
+ if (!this || !module.exports.is(this)) {
176
+ throw new TypeError("Illegal invocation");
177
+ }
178
+ return this[impl]["host"];
179
+ }
180
+ set host(V) {
181
+ if (!this || !module.exports.is(this)) {
182
+ throw new TypeError("Illegal invocation");
183
+ }
184
+ V = webidl_conversions_1.default["USVString"](V, { context: "Failed to set the 'host' property on 'URL': The provided value" });
185
+ this[impl]["host"] = V;
186
+ }
187
+ get hostname() {
188
+ if (!this || !module.exports.is(this)) {
189
+ throw new TypeError("Illegal invocation");
190
+ }
191
+ return this[impl]["hostname"];
192
+ }
193
+ set hostname(V) {
194
+ if (!this || !module.exports.is(this)) {
195
+ throw new TypeError("Illegal invocation");
196
+ }
197
+ V = webidl_conversions_1.default["USVString"](V, {
198
+ context: "Failed to set the 'hostname' property on 'URL': The provided value"
199
+ });
200
+ this[impl]["hostname"] = V;
201
+ }
202
+ get port() {
203
+ if (!this || !module.exports.is(this)) {
204
+ throw new TypeError("Illegal invocation");
205
+ }
206
+ return this[impl]["port"];
207
+ }
208
+ set port(V) {
209
+ if (!this || !module.exports.is(this)) {
210
+ throw new TypeError("Illegal invocation");
211
+ }
212
+ V = webidl_conversions_1.default["USVString"](V, { context: "Failed to set the 'port' property on 'URL': The provided value" });
213
+ this[impl]["port"] = V;
214
+ }
215
+ get pathname() {
216
+ if (!this || !module.exports.is(this)) {
217
+ throw new TypeError("Illegal invocation");
218
+ }
219
+ return this[impl]["pathname"];
220
+ }
221
+ set pathname(V) {
222
+ if (!this || !module.exports.is(this)) {
223
+ throw new TypeError("Illegal invocation");
224
+ }
225
+ V = webidl_conversions_1.default["USVString"](V, {
226
+ context: "Failed to set the 'pathname' property on 'URL': The provided value"
227
+ });
228
+ this[impl]["pathname"] = V;
229
+ }
230
+ get search() {
231
+ if (!this || !module.exports.is(this)) {
232
+ throw new TypeError("Illegal invocation");
233
+ }
234
+ return this[impl]["search"];
235
+ }
236
+ set search(V) {
237
+ if (!this || !module.exports.is(this)) {
238
+ throw new TypeError("Illegal invocation");
239
+ }
240
+ V = webidl_conversions_1.default["USVString"](V, {
241
+ context: "Failed to set the 'search' property on 'URL': The provided value"
242
+ });
243
+ this[impl]["search"] = V;
244
+ }
245
+ get searchParams() {
246
+ if (!this || !module.exports.is(this)) {
247
+ throw new TypeError("Illegal invocation");
248
+ }
249
+ return utils_1.default.getSameObject(this, "searchParams", () => {
250
+ return utils_1.default.tryWrapperForImpl(this[impl]["searchParams"]);
251
+ });
252
+ }
253
+ get hash() {
254
+ if (!this || !module.exports.is(this)) {
255
+ throw new TypeError("Illegal invocation");
256
+ }
257
+ return this[impl]["hash"];
258
+ }
259
+ set hash(V) {
260
+ if (!this || !module.exports.is(this)) {
261
+ throw new TypeError("Illegal invocation");
262
+ }
263
+ V = webidl_conversions_1.default["USVString"](V, { context: "Failed to set the 'hash' property on 'URL': The provided value" });
264
+ this[impl]["hash"] = V;
265
+ }
266
+ }
267
+ Object.defineProperties(URL.prototype, {
268
+ toJSON: { enumerable: true },
269
+ href: { enumerable: true },
270
+ toString: { enumerable: true },
271
+ origin: { enumerable: true },
272
+ protocol: { enumerable: true },
273
+ username: { enumerable: true },
274
+ password: { enumerable: true },
275
+ host: { enumerable: true },
276
+ hostname: { enumerable: true },
277
+ port: { enumerable: true },
278
+ pathname: { enumerable: true },
279
+ search: { enumerable: true },
280
+ searchParams: { enumerable: true },
281
+ hash: { enumerable: true },
282
+ [Symbol.toStringTag]: { value: "URL", configurable: true }
283
+ });
284
+ if (globalObject[ctorRegistry] === undefined) {
285
+ globalObject[ctorRegistry] = Object.create(null);
286
+ }
287
+ globalObject[ctorRegistry]["URL"] = URL;
288
+ Object.defineProperty(globalObject, "URL", {
289
+ configurable: true,
290
+ writable: true,
291
+ value: URL
292
+ });
293
+ }
294
+ };
295
+ // iface
296
+ module.exports = iface;
297
+ // const Impl = require('./URL-impl');
298
+ const URL_impl_1 = tslib_1.__importDefault(require("./URL-impl"));
@@ -0,0 +1,19 @@
1
+ declare const _default: {
2
+ implementation: {
3
+ new (globalObject: any, constructorArgs: any, { doNotStripQMark }: {
4
+ doNotStripQMark?: boolean | undefined;
5
+ }): {
6
+ _updateSteps(): void;
7
+ append(name: any, value: any): void;
8
+ delete(name: any): void;
9
+ get(name: any): any;
10
+ getAll(name: any): any[];
11
+ has(name: any): boolean;
12
+ set(name: any, value: any): void;
13
+ sort(): void;
14
+ toString(): string;
15
+ [Symbol.iterator](): any;
16
+ };
17
+ };
18
+ };
19
+ export default _default;