@mpgd/target-config 0.7.0 → 0.8.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.
- package/dist/effective.js +16 -3
- package/dist/index.js +80 -44
- package/dist/runtime.d.ts +2 -2
- package/dist/runtime.js +1 -5
- package/dist/viewport.js +1 -0
- package/package.json +4 -4
- package/targets.json +44 -1
package/dist/effective.js
CHANGED
|
@@ -89,7 +89,7 @@ export function getEffectiveAdPlacementConfig(config, placementId) {
|
|
|
89
89
|
}
|
|
90
90
|
function createEffectiveProductConfig(target, config, product) {
|
|
91
91
|
const platformProductId = productPlatformId(product, target);
|
|
92
|
-
const reason =
|
|
92
|
+
const reason = effectiveProductReason(target, config.features.iap, product, platformProductId);
|
|
93
93
|
return {
|
|
94
94
|
id: product.id,
|
|
95
95
|
type: product.type,
|
|
@@ -99,6 +99,15 @@ function createEffectiveProductConfig(target, config, product) {
|
|
|
99
99
|
...(platformProductId === undefined ? {} : { platformProductId }),
|
|
100
100
|
};
|
|
101
101
|
}
|
|
102
|
+
function effectiveProductReason(target, targetEnabled, product, platformProductId) {
|
|
103
|
+
if (!targetEnabled) {
|
|
104
|
+
return 'target-disabled';
|
|
105
|
+
}
|
|
106
|
+
if (target === 'verse8' && product.grant.type === 'resource') {
|
|
107
|
+
return 'capability-unsupported';
|
|
108
|
+
}
|
|
109
|
+
return effectiveItemReason(targetEnabled, platformProductId);
|
|
110
|
+
}
|
|
102
111
|
function createEffectiveAdPlacementConfig(target, config, placement) {
|
|
103
112
|
const featureEnabled = isRewardedPlacement(placement)
|
|
104
113
|
? config.features.rewardedAds
|
|
@@ -144,10 +153,14 @@ function normalizePlatformId(platformId) {
|
|
|
144
153
|
return trimmed.length === 0 ? undefined : trimmed;
|
|
145
154
|
}
|
|
146
155
|
function isProductStoreTarget(target) {
|
|
147
|
-
return target === 'android'
|
|
156
|
+
return target === 'android'
|
|
157
|
+
|| target === 'ios'
|
|
158
|
+
|| target === 'ait'
|
|
159
|
+
|| target === 'reddit'
|
|
160
|
+
|| target === 'verse8';
|
|
148
161
|
}
|
|
149
162
|
function isAdStoreTarget(target) {
|
|
150
|
-
return target === 'android' || target === 'ios' || target === 'ait';
|
|
163
|
+
return target === 'android' || target === 'ios' || target === 'ait' || target === 'verse8';
|
|
151
164
|
}
|
|
152
165
|
function isRewardedPlacement(placement) {
|
|
153
166
|
return placement.type === 'rewarded';
|
package/dist/index.js
CHANGED
|
@@ -53,7 +53,7 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
53
53
|
expected: "string",
|
|
54
54
|
value: input["id"]
|
|
55
55
|
}, _errorFactory);
|
|
56
|
-
const _ae0 = "({ readonly type: \"currency\"; readonly currency: \"coin\" | \"gem\"; readonly amount: number; } | { readonly type: \"entitlement\"; readonly entitlement: string; })";
|
|
56
|
+
const _ae0 = "({ readonly type: \"currency\"; readonly currency: \"coin\" | \"gem\"; readonly amount: number; } | { readonly type: \"entitlement\"; readonly entitlement: string; } | { readonly type: \"resource\"; readonly resource: string & MinLength<1>; readonly amount: number & ExclusiveMinimum<0> & Maximum<1.7976931348623157e+308>; })";
|
|
57
57
|
const _ap6 = (input, _path, _exceptionable = true) => "boolean" === typeof input["enabled"] || _assertGuard_1._assertGuard(_exceptionable, {
|
|
58
58
|
method: "typia.createAssert",
|
|
59
59
|
path: _path + ".enabled",
|
|
@@ -146,7 +146,38 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
146
146
|
expected: "string",
|
|
147
147
|
value: input.entitlement
|
|
148
148
|
}, _errorFactory));
|
|
149
|
-
const _ao13 = (input, _path, _exceptionable = true) =>
|
|
149
|
+
const _ao13 = (input, _path, _exceptionable = true) => ("resource" === input.type || _assertGuard_1._assertGuard(_exceptionable, {
|
|
150
|
+
method: "typia.createAssert",
|
|
151
|
+
path: _path + ".type",
|
|
152
|
+
expected: "\"resource\"",
|
|
153
|
+
value: input.type
|
|
154
|
+
}, _errorFactory)) && ("string" === typeof input.resource && (1 <= input.resource.length || _assertGuard_1._assertGuard(_exceptionable, {
|
|
155
|
+
method: "typia.createAssert",
|
|
156
|
+
path: _path + ".resource",
|
|
157
|
+
expected: "string & MinLength<1>",
|
|
158
|
+
value: input.resource
|
|
159
|
+
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
160
|
+
method: "typia.createAssert",
|
|
161
|
+
path: _path + ".resource",
|
|
162
|
+
expected: "(string & MinLength<1>)",
|
|
163
|
+
value: input.resource
|
|
164
|
+
}, _errorFactory)) && ("number" === typeof input.amount && (0 < input.amount || _assertGuard_1._assertGuard(_exceptionable, {
|
|
165
|
+
method: "typia.createAssert",
|
|
166
|
+
path: _path + ".amount",
|
|
167
|
+
expected: "number & ExclusiveMinimum<0>",
|
|
168
|
+
value: input.amount
|
|
169
|
+
}, _errorFactory)) && (input.amount <= 1.7976931348623157e+308 || _assertGuard_1._assertGuard(_exceptionable, {
|
|
170
|
+
method: "typia.createAssert",
|
|
171
|
+
path: _path + ".amount",
|
|
172
|
+
expected: "number & Maximum<1.7976931348623157e+308>",
|
|
173
|
+
value: input.amount
|
|
174
|
+
}, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
175
|
+
method: "typia.createAssert",
|
|
176
|
+
path: _path + ".amount",
|
|
177
|
+
expected: "(number & ExclusiveMinimum<0> & Maximum<1.7976931348623157e+308>)",
|
|
178
|
+
value: input.amount
|
|
179
|
+
}, _errorFactory));
|
|
180
|
+
const _ao14 = (input, _path, _exceptionable = true) => _ap2(input, _path, true && _exceptionable) && _ap3(input, _path, true && _exceptionable) && ((Array.isArray(input.placements) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
150
181
|
method: "typia.createAssert",
|
|
151
182
|
path: _path + ".placements",
|
|
152
183
|
expected: "ReadonlyArray<EffectiveAdPlacementConfig>",
|
|
@@ -156,7 +187,7 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
156
187
|
path: _path + ".placements[" + _index4 + "]",
|
|
157
188
|
expected: "EffectiveAdPlacementConfig",
|
|
158
189
|
value: elem
|
|
159
|
-
}, _errorFactory)) &&
|
|
190
|
+
}, _errorFactory)) && _ao15(elem, _path + ".placements[" + _index4 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
160
191
|
method: "typia.createAssert",
|
|
161
192
|
path: _path + ".placements[" + _index4 + "]",
|
|
162
193
|
expected: "EffectiveAdPlacementConfig",
|
|
@@ -167,7 +198,7 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
167
198
|
expected: "ReadonlyArray<EffectiveAdPlacementConfig>",
|
|
168
199
|
value: input.placements
|
|
169
200
|
}, _errorFactory));
|
|
170
|
-
const
|
|
201
|
+
const _ao15 = (input, _path, _exceptionable = true) => _ap5(input, _path, true && _exceptionable) && ("interstitial" === input.type || "rewarded" === input.type || _assertGuard_1._assertGuard(_exceptionable, {
|
|
171
202
|
method: "typia.createAssert",
|
|
172
203
|
path: _path + ".type",
|
|
173
204
|
expected: "(\"interstitial\" | \"rewarded\")",
|
|
@@ -187,7 +218,7 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
187
218
|
path: _path + ".frequencyCap",
|
|
188
219
|
expected: "FrequencyCap",
|
|
189
220
|
value: input.frequencyCap
|
|
190
|
-
}, _errorFactory)) &&
|
|
221
|
+
}, _errorFactory)) && _ao18(input.frequencyCap, _path + ".frequencyCap", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
191
222
|
method: "typia.createAssert",
|
|
192
223
|
path: _path + ".frequencyCap",
|
|
193
224
|
expected: "FrequencyCap",
|
|
@@ -198,14 +229,14 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
198
229
|
expected: "(string | undefined)",
|
|
199
230
|
value: input.platformPlacementId
|
|
200
231
|
}, _errorFactory));
|
|
201
|
-
const
|
|
232
|
+
const _ao16 = (input, _path, _exceptionable = true) => ("continue" === input.type || _assertGuard_1._assertGuard(_exceptionable, {
|
|
202
233
|
method: "typia.createAssert",
|
|
203
234
|
path: _path + ".type",
|
|
204
235
|
expected: "\"continue\"",
|
|
205
236
|
value: input.type
|
|
206
237
|
}, _errorFactory)) && _ap10(input, _path, true && _exceptionable);
|
|
207
|
-
const
|
|
208
|
-
const
|
|
238
|
+
const _ao17 = (input, _path, _exceptionable = true) => _ap8(input, _path, true && _exceptionable) && _ap10(input, _path, true && _exceptionable) && _ap9(input, _path, true && _exceptionable);
|
|
239
|
+
const _ao18 = (input, _path, _exceptionable = true) => ("number" === typeof input.cooldownSeconds || _assertGuard_1._assertGuard(_exceptionable, {
|
|
209
240
|
method: "typia.createAssert",
|
|
210
241
|
path: _path + ".cooldownSeconds",
|
|
211
242
|
expected: "number",
|
|
@@ -221,7 +252,7 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
221
252
|
expected: "(number | undefined)",
|
|
222
253
|
value: input.minStageInterval
|
|
223
254
|
}, _errorFactory));
|
|
224
|
-
const
|
|
255
|
+
const _ao19 = (input, _path, _exceptionable = true) => ("boolean" === typeof input.native || _assertGuard_1._assertGuard(_exceptionable, {
|
|
225
256
|
method: "typia.createAssert",
|
|
226
257
|
path: _path + ".native",
|
|
227
258
|
expected: "boolean",
|
|
@@ -237,21 +268,15 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
237
268
|
expected: "(string | undefined)",
|
|
238
269
|
value: input.defaultLeaderboardId
|
|
239
270
|
}, _errorFactory));
|
|
240
|
-
const _ao19 = (input, _path, _exceptionable = true) => ("local" === input.support || "native" === input.support || "none" === input.support || _assertGuard_1._assertGuard(_exceptionable, {
|
|
241
|
-
method: "typia.createAssert",
|
|
242
|
-
path: _path + ".support",
|
|
243
|
-
expected: "(\"local\" | \"native\" | \"none\")",
|
|
244
|
-
value: input.support
|
|
245
|
-
}, _errorFactory)) && _ap6(input, _path, true && _exceptionable);
|
|
246
271
|
const _ao2 = (input, _path, _exceptionable = true) => _ap0(input, _path, true && _exceptionable) && ("string" === typeof input.target || _assertGuard_1._assertGuard(_exceptionable, {
|
|
247
272
|
method: "typia.createAssert",
|
|
248
273
|
path: _path + ".target",
|
|
249
274
|
expected: "string",
|
|
250
275
|
value: input.target
|
|
251
|
-
}, _errorFactory)) && ("apps-in-toss" === input.runtime || "capacitor-android" === input.runtime || "capacitor-ios" === input.runtime || "devvit-web" === input.runtime || "microsoft-store-pwa" === input.runtime || "web-preview" === input.runtime || _assertGuard_1._assertGuard(_exceptionable, {
|
|
276
|
+
}, _errorFactory)) && ("apps-in-toss" === input.runtime || "capacitor-android" === input.runtime || "capacitor-ios" === input.runtime || "devvit-web" === input.runtime || "microsoft-store-pwa" === input.runtime || "verse8-web" === input.runtime || "web-preview" === input.runtime || _assertGuard_1._assertGuard(_exceptionable, {
|
|
252
277
|
method: "typia.createAssert",
|
|
253
278
|
path: _path + ".runtime",
|
|
254
|
-
expected: "(\"apps-in-toss\" | \"capacitor-android\" | \"capacitor-ios\" | \"devvit-web\" | \"microsoft-store-pwa\" | \"web-preview\")",
|
|
279
|
+
expected: "(\"apps-in-toss\" | \"capacitor-android\" | \"capacitor-ios\" | \"devvit-web\" | \"microsoft-store-pwa\" | \"verse8-web\" | \"web-preview\")",
|
|
255
280
|
value: input.runtime
|
|
256
281
|
}, _errorFactory)) && (("object" === typeof input.release && null !== input.release || _assertGuard_1._assertGuard(_exceptionable, {
|
|
257
282
|
method: "typia.createAssert",
|
|
@@ -328,7 +353,7 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
328
353
|
path: _path + ".ads",
|
|
329
354
|
expected: "EffectiveAdsConfig",
|
|
330
355
|
value: input.ads
|
|
331
|
-
}, _errorFactory)) &&
|
|
356
|
+
}, _errorFactory)) && _ao14(input.ads, _path + ".ads", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
332
357
|
method: "typia.createAssert",
|
|
333
358
|
path: _path + ".ads",
|
|
334
359
|
expected: "EffectiveAdsConfig",
|
|
@@ -338,7 +363,7 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
338
363
|
path: _path + ".leaderboard",
|
|
339
364
|
expected: "EffectiveLeaderboardConfig",
|
|
340
365
|
value: input.leaderboard
|
|
341
|
-
}, _errorFactory)) &&
|
|
366
|
+
}, _errorFactory)) && _ao19(input.leaderboard, _path + ".leaderboard", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
342
367
|
method: "typia.createAssert",
|
|
343
368
|
path: _path + ".leaderboard",
|
|
344
369
|
expected: "EffectiveLeaderboardConfig",
|
|
@@ -348,7 +373,7 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
348
373
|
path: _path + ".storage",
|
|
349
374
|
expected: "EffectiveStorageConfig",
|
|
350
375
|
value: input.storage
|
|
351
|
-
}, _errorFactory)) &&
|
|
376
|
+
}, _errorFactory)) && _ao20(input.storage, _path + ".storage", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
352
377
|
method: "typia.createAssert",
|
|
353
378
|
path: _path + ".storage",
|
|
354
379
|
expected: "EffectiveStorageConfig",
|
|
@@ -358,22 +383,28 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
358
383
|
path: _path + ".localization",
|
|
359
384
|
expected: "EffectiveLocalizationConfig",
|
|
360
385
|
value: input.localization
|
|
361
|
-
}, _errorFactory)) &&
|
|
386
|
+
}, _errorFactory)) && _ao21(input.localization, _path + ".localization", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
|
|
362
387
|
method: "typia.createAssert",
|
|
363
388
|
path: _path + ".localization",
|
|
364
389
|
expected: "EffectiveLocalizationConfig",
|
|
365
390
|
value: input.localization
|
|
366
391
|
}, _errorFactory));
|
|
367
|
-
const _ao20 = (input, _path, _exceptionable = true) =>
|
|
392
|
+
const _ao20 = (input, _path, _exceptionable = true) => ("local" === input.support || "native" === input.support || "none" === input.support || _assertGuard_1._assertGuard(_exceptionable, {
|
|
393
|
+
method: "typia.createAssert",
|
|
394
|
+
path: _path + ".support",
|
|
395
|
+
expected: "(\"local\" | \"native\" | \"none\")",
|
|
396
|
+
value: input.support
|
|
397
|
+
}, _errorFactory)) && _ap6(input, _path, true && _exceptionable);
|
|
398
|
+
const _ao21 = (input, _path, _exceptionable = true) => _ap6(input, _path, true && _exceptionable) && ("en" === input.fallbackLocale || "ko" === input.fallbackLocale || _assertGuard_1._assertGuard(_exceptionable, {
|
|
368
399
|
method: "typia.createAssert",
|
|
369
400
|
path: _path + ".fallbackLocale",
|
|
370
401
|
expected: "(\"en\" | \"ko\")",
|
|
371
402
|
value: input.fallbackLocale
|
|
372
403
|
}, _errorFactory));
|
|
373
|
-
const _ao3 = (input, _path, _exceptionable = true) => "app-store" === input.profile || "apps-in-toss" === input.profile || "devvit" === input.profile || "google-play" === input.profile || "microsoft-store" === input.profile || "web-preview" === input.profile || _assertGuard_1._assertGuard(_exceptionable, {
|
|
404
|
+
const _ao3 = (input, _path, _exceptionable = true) => "app-store" === input.profile || "apps-in-toss" === input.profile || "devvit" === input.profile || "google-play" === input.profile || "microsoft-store" === input.profile || "verse8" === input.profile || "web-preview" === input.profile || _assertGuard_1._assertGuard(_exceptionable, {
|
|
374
405
|
method: "typia.createAssert",
|
|
375
406
|
path: _path + ".profile",
|
|
376
|
-
expected: "(\"app-store\" | \"apps-in-toss\" | \"devvit\" | \"google-play\" | \"microsoft-store\" | \"web-preview\")",
|
|
407
|
+
expected: "(\"app-store\" | \"apps-in-toss\" | \"devvit\" | \"google-play\" | \"microsoft-store\" | \"verse8\" | \"web-preview\")",
|
|
377
408
|
value: input.profile
|
|
378
409
|
}, _errorFactory);
|
|
379
410
|
const _ao4 = (input, _path, _exceptionable = true) => _ap1(input, _path, true && _exceptionable) && _ap2(input, _path, true && _exceptionable) && _ap3(input, _path, true && _exceptionable) && ("boolean" === typeof input.leaderboard || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -497,6 +528,8 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
497
528
|
return _ao11(input, _path, true && _exceptionable);
|
|
498
529
|
else if ("entitlement" === input.type)
|
|
499
530
|
return _ao12(input, _path, true && _exceptionable);
|
|
531
|
+
else if ("resource" === input.type)
|
|
532
|
+
return _ao13(input, _path, true && _exceptionable);
|
|
500
533
|
else
|
|
501
534
|
return _assertGuard_1._assertGuard(_exceptionable, {
|
|
502
535
|
method: "typia.createAssert",
|
|
@@ -507,9 +540,9 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
507
540
|
})();
|
|
508
541
|
const _au1 = (input, _path, _exceptionable = true) => (() => {
|
|
509
542
|
if ("continue" === input.type)
|
|
510
|
-
return _ao15(input, _path, true && _exceptionable);
|
|
511
|
-
else if ("currency" === input.type)
|
|
512
543
|
return _ao16(input, _path, true && _exceptionable);
|
|
544
|
+
else if ("currency" === input.type)
|
|
545
|
+
return _ao17(input, _path, true && _exceptionable);
|
|
513
546
|
else
|
|
514
547
|
return _assertGuard_1._assertGuard(_exceptionable, {
|
|
515
548
|
method: "typia.createAssert",
|
|
@@ -528,16 +561,17 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
528
561
|
const _io10 = input => _ip5(input) && ("consumable" === input.type || "non_consumable" === input.type || "subscription" === input.type) && ("object" === typeof input.grant && null !== input.grant && _iu0(input.grant)) && _ip6(input) && _ip7(input) && (undefined === input.platformProductId || "string" === typeof input.platformProductId);
|
|
529
562
|
const _io11 = input => _ip8(input) && _ip9(input) && _ip10(input);
|
|
530
563
|
const _io12 = input => "entitlement" === input.type && "string" === typeof input.entitlement;
|
|
531
|
-
const _io13 = input =>
|
|
532
|
-
const _io14 = input =>
|
|
533
|
-
const _io15 = input => "
|
|
534
|
-
const _io16 = input =>
|
|
535
|
-
const _io17 = input =>
|
|
536
|
-
const _io18 = input => "
|
|
537
|
-
const _io19 = input => ("
|
|
538
|
-
const _io2 = input => _ip0(input) && "string" === typeof input.target && ("apps-in-toss" === input.runtime || "capacitor-android" === input.runtime || "capacitor-ios" === input.runtime || "devvit-web" === input.runtime || "microsoft-store-pwa" === input.runtime || "web-preview" === input.runtime) && ("object" === typeof input.release && null !== input.release && _io3(input.release)) && ("object" === typeof input.features && null !== input.features && _io4(input.features)) && ("object" === typeof input.capabilities && null !== input.capabilities && _io5(input.capabilities)) && ("object" === typeof input.integrations && null !== input.integrations && _io6(input.integrations)) && ("object" === typeof input.policy && null !== input.policy && _io7(input.policy)) && ("object" === typeof input.sources && null !== input.sources && _io8(input.sources)) && ("object" === typeof input.monetization && null !== input.monetization && _io9(input.monetization)) && ("object" === typeof input.ads && null !== input.ads &&
|
|
539
|
-
const _io20 = input =>
|
|
540
|
-
const
|
|
564
|
+
const _io13 = input => "resource" === input.type && ("string" === typeof input.resource && 1 <= input.resource.length) && ("number" === typeof input.amount && (0 < input.amount && input.amount <= 1.7976931348623157e+308));
|
|
565
|
+
const _io14 = input => _ip2(input) && _ip3(input) && (Array.isArray(input.placements) && input.placements.every(elem => "object" === typeof elem && null !== elem && _io15(elem)));
|
|
566
|
+
const _io15 = input => _ip5(input) && ("interstitial" === input.type || "rewarded" === input.type) && (undefined === input.reward || "object" === typeof input.reward && null !== input.reward && _iu1(input.reward)) && ("object" === typeof input.frequencyCap && null !== input.frequencyCap && _io18(input.frequencyCap)) && _ip6(input) && _ip7(input) && (undefined === input.platformPlacementId || "string" === typeof input.platformPlacementId);
|
|
567
|
+
const _io16 = input => "continue" === input.type && _ip10(input);
|
|
568
|
+
const _io17 = input => _ip8(input) && _ip10(input) && _ip9(input);
|
|
569
|
+
const _io18 = input => "number" === typeof input.cooldownSeconds && (undefined === input.maxPerSession || "number" === typeof input.maxPerSession) && (undefined === input.minStageInterval || "number" === typeof input.minStageInterval);
|
|
570
|
+
const _io19 = input => "boolean" === typeof input.native && _ip6(input) && ("available" === input.reason || "capability-unsupported" === input.reason || "target-disabled" === input.reason) && (undefined === input.defaultLeaderboardId || "string" === typeof input.defaultLeaderboardId);
|
|
571
|
+
const _io2 = input => _ip0(input) && "string" === typeof input.target && ("apps-in-toss" === input.runtime || "capacitor-android" === input.runtime || "capacitor-ios" === input.runtime || "devvit-web" === input.runtime || "microsoft-store-pwa" === input.runtime || "verse8-web" === input.runtime || "web-preview" === input.runtime) && ("object" === typeof input.release && null !== input.release && _io3(input.release)) && ("object" === typeof input.features && null !== input.features && _io4(input.features)) && ("object" === typeof input.capabilities && null !== input.capabilities && _io5(input.capabilities)) && ("object" === typeof input.integrations && null !== input.integrations && _io6(input.integrations)) && ("object" === typeof input.policy && null !== input.policy && _io7(input.policy)) && ("object" === typeof input.sources && null !== input.sources && _io8(input.sources)) && ("object" === typeof input.monetization && null !== input.monetization && _io9(input.monetization)) && ("object" === typeof input.ads && null !== input.ads && _io14(input.ads)) && ("object" === typeof input.leaderboard && null !== input.leaderboard && _io19(input.leaderboard)) && ("object" === typeof input.storage && null !== input.storage && _io20(input.storage)) && ("object" === typeof input.localization && null !== input.localization && _io21(input.localization));
|
|
572
|
+
const _io20 = input => ("local" === input.support || "native" === input.support || "none" === input.support) && _ip6(input);
|
|
573
|
+
const _io21 = input => _ip6(input) && ("en" === input.fallbackLocale || "ko" === input.fallbackLocale);
|
|
574
|
+
const _io3 = input => "app-store" === input.profile || "apps-in-toss" === input.profile || "devvit" === input.profile || "google-play" === input.profile || "microsoft-store" === input.profile || "verse8" === input.profile || "web-preview" === input.profile;
|
|
541
575
|
const _io4 = input => _ip1(input) && _ip2(input) && _ip3(input) && "boolean" === typeof input.leaderboard && _ip4(input);
|
|
542
576
|
const _io5 = input => ("local" === input.storage || "native" === input.storage || "none" === input.storage) && _ip4(input);
|
|
543
577
|
const _io6 = input => ("approval-required" === input.identityUpgrade || "available" === input.identityUpgrade || "configuration-required" === input.identityUpgrade || "disabled" === input.identityUpgrade || "unsupported" === input.identityUpgrade) && ("approval-required" === input.presentation || "available" === input.presentation || "configuration-required" === input.presentation || "disabled" === input.presentation || "unsupported" === input.presentation) && ("approval-required" === input.sharing || "available" === input.sharing || "configuration-required" === input.sharing || "disabled" === input.sharing || "unsupported" === input.sharing) && ("approval-required" === input.inboundShare || "available" === input.inboundShare || "configuration-required" === input.inboundShare || "disabled" === input.inboundShare || "unsupported" === input.inboundShare) && ("approval-required" === input.notifications || "available" === input.notifications || "configuration-required" === input.notifications || "disabled" === input.notifications || "unsupported" === input.notifications) && ("fullscreen" === input.presentationMode || "inline-expanded" === input.presentationMode);
|
|
@@ -549,14 +583,16 @@ export const assertEffectiveTargetConfigMatrix = (() => {
|
|
|
549
583
|
return _io11(input);
|
|
550
584
|
else if ("entitlement" === input.type)
|
|
551
585
|
return _io12(input);
|
|
586
|
+
else if ("resource" === input.type)
|
|
587
|
+
return _io13(input);
|
|
552
588
|
else
|
|
553
589
|
return false;
|
|
554
590
|
})();
|
|
555
591
|
const _iu1 = input => (() => {
|
|
556
592
|
if ("continue" === input.type)
|
|
557
|
-
return _io15(input);
|
|
558
|
-
else if ("currency" === input.type)
|
|
559
593
|
return _io16(input);
|
|
594
|
+
else if ("currency" === input.type)
|
|
595
|
+
return _io17(input);
|
|
560
596
|
else
|
|
561
597
|
return false;
|
|
562
598
|
})();
|
|
@@ -672,10 +708,10 @@ export const assertTargetConfigMatrix = (() => {
|
|
|
672
708
|
expected: "(\"fullscreen\" | \"inline-expanded\")",
|
|
673
709
|
value: input.presentationMode
|
|
674
710
|
}, _errorFactory));
|
|
675
|
-
const _ao2 = (input, _path, _exceptionable = true) => ("apps-in-toss" === input.runtime || "capacitor-android" === input.runtime || "capacitor-ios" === input.runtime || "devvit-web" === input.runtime || "microsoft-store-pwa" === input.runtime || "web-preview" === input.runtime || _assertGuard_1._assertGuard(_exceptionable, {
|
|
711
|
+
const _ao2 = (input, _path, _exceptionable = true) => ("apps-in-toss" === input.runtime || "capacitor-android" === input.runtime || "capacitor-ios" === input.runtime || "devvit-web" === input.runtime || "microsoft-store-pwa" === input.runtime || "verse8-web" === input.runtime || "web-preview" === input.runtime || _assertGuard_1._assertGuard(_exceptionable, {
|
|
676
712
|
method: "typia.createAssert",
|
|
677
713
|
path: _path + ".runtime",
|
|
678
|
-
expected: "(\"apps-in-toss\" | \"capacitor-android\" | \"capacitor-ios\" | \"devvit-web\" | \"microsoft-store-pwa\" | \"web-preview\")",
|
|
714
|
+
expected: "(\"apps-in-toss\" | \"capacitor-android\" | \"capacitor-ios\" | \"devvit-web\" | \"microsoft-store-pwa\" | \"verse8-web\" | \"web-preview\")",
|
|
679
715
|
value: input.runtime
|
|
680
716
|
}, _errorFactory)) && (("object" === typeof input.features && null !== input.features || _assertGuard_1._assertGuard(_exceptionable, {
|
|
681
717
|
method: "typia.createAssert",
|
|
@@ -783,10 +819,10 @@ export const assertTargetConfigMatrix = (() => {
|
|
|
783
819
|
expected: "boolean",
|
|
784
820
|
value: input.native
|
|
785
821
|
}, _errorFactory);
|
|
786
|
-
const _ao8 = (input, _path, _exceptionable = true) => "app-store" === input.profile || "apps-in-toss" === input.profile || "devvit" === input.profile || "google-play" === input.profile || "microsoft-store" === input.profile || "web-preview" === input.profile || _assertGuard_1._assertGuard(_exceptionable, {
|
|
822
|
+
const _ao8 = (input, _path, _exceptionable = true) => "app-store" === input.profile || "apps-in-toss" === input.profile || "devvit" === input.profile || "google-play" === input.profile || "microsoft-store" === input.profile || "verse8" === input.profile || "web-preview" === input.profile || _assertGuard_1._assertGuard(_exceptionable, {
|
|
787
823
|
method: "typia.createAssert",
|
|
788
824
|
path: _path + ".profile",
|
|
789
|
-
expected: "(\"app-store\" | \"apps-in-toss\" | \"devvit\" | \"google-play\" | \"microsoft-store\" | \"web-preview\")",
|
|
825
|
+
expected: "(\"app-store\" | \"apps-in-toss\" | \"devvit\" | \"google-play\" | \"microsoft-store\" | \"verse8\" | \"web-preview\")",
|
|
790
826
|
value: input.profile
|
|
791
827
|
}, _errorFactory);
|
|
792
828
|
const _ao9 = (input, _path, _exceptionable = true) => ("boolean" === typeof input.externalPaymentAllowed || _assertGuard_1._assertGuard(_exceptionable, {
|
|
@@ -823,13 +859,13 @@ export const assertTargetConfigMatrix = (() => {
|
|
|
823
859
|
return "object" === typeof value && null !== value && _io2(value);
|
|
824
860
|
});
|
|
825
861
|
const _io10 = input => ("approval-required" === input.identityUpgrade || "available" === input.identityUpgrade || "configuration-required" === input.identityUpgrade || "disabled" === input.identityUpgrade || "unsupported" === input.identityUpgrade) && ("approval-required" === input.presentation || "available" === input.presentation || "configuration-required" === input.presentation || "disabled" === input.presentation || "unsupported" === input.presentation) && ("approval-required" === input.sharing || "available" === input.sharing || "configuration-required" === input.sharing || "disabled" === input.sharing || "unsupported" === input.sharing) && ("approval-required" === input.inboundShare || "available" === input.inboundShare || "configuration-required" === input.inboundShare || "disabled" === input.inboundShare || "unsupported" === input.inboundShare) && ("approval-required" === input.notifications || "available" === input.notifications || "configuration-required" === input.notifications || "disabled" === input.notifications || "unsupported" === input.notifications) && ("fullscreen" === input.presentationMode || "inline-expanded" === input.presentationMode);
|
|
826
|
-
const _io2 = input => ("apps-in-toss" === input.runtime || "capacitor-android" === input.runtime || "capacitor-ios" === input.runtime || "devvit-web" === input.runtime || "microsoft-store-pwa" === input.runtime || "web-preview" === input.runtime) && ("object" === typeof input.features && null !== input.features && _io3(input.features)) && ("object" === typeof input.capabilities && null !== input.capabilities && _io4(input.capabilities)) && ("object" === typeof input.localization && null !== input.localization && _io5(input.localization)) && ("object" === typeof input.monetization && null !== input.monetization && _io6(input.monetization)) && ("object" === typeof input.leaderboard && null !== input.leaderboard && _io7(input.leaderboard)) && ("object" === typeof input.release && null !== input.release && _io8(input.release)) && ("object" === typeof input.policy && null !== input.policy && _io9(input.policy)) && (undefined === input.integrations || "object" === typeof input.integrations && null !== input.integrations && _io10(input.integrations));
|
|
862
|
+
const _io2 = input => ("apps-in-toss" === input.runtime || "capacitor-android" === input.runtime || "capacitor-ios" === input.runtime || "devvit-web" === input.runtime || "microsoft-store-pwa" === input.runtime || "verse8-web" === input.runtime || "web-preview" === input.runtime) && ("object" === typeof input.features && null !== input.features && _io3(input.features)) && ("object" === typeof input.capabilities && null !== input.capabilities && _io4(input.capabilities)) && ("object" === typeof input.localization && null !== input.localization && _io5(input.localization)) && ("object" === typeof input.monetization && null !== input.monetization && _io6(input.monetization)) && ("object" === typeof input.leaderboard && null !== input.leaderboard && _io7(input.leaderboard)) && ("object" === typeof input.release && null !== input.release && _io8(input.release)) && ("object" === typeof input.policy && null !== input.policy && _io9(input.policy)) && (undefined === input.integrations || "object" === typeof input.integrations && null !== input.integrations && _io10(input.integrations));
|
|
827
863
|
const _io3 = input => _ip0(input) && _ip1(input) && _ip2(input) && "boolean" === typeof input.leaderboard && _ip3(input);
|
|
828
864
|
const _io4 = input => ("local" === input.storage || "native" === input.storage || "none" === input.storage) && _ip3(input);
|
|
829
865
|
const _io5 = input => "en" === input.fallbackLocale || "ko" === input.fallbackLocale;
|
|
830
866
|
const _io6 = input => _ip0(input) && _ip1(input) && _ip2(input);
|
|
831
867
|
const _io7 = input => "boolean" === typeof input.native;
|
|
832
|
-
const _io8 = input => "app-store" === input.profile || "apps-in-toss" === input.profile || "devvit" === input.profile || "google-play" === input.profile || "microsoft-store" === input.profile || "web-preview" === input.profile;
|
|
868
|
+
const _io8 = input => "app-store" === input.profile || "apps-in-toss" === input.profile || "devvit" === input.profile || "google-play" === input.profile || "microsoft-store" === input.profile || "verse8" === input.profile || "web-preview" === input.profile;
|
|
833
869
|
const _io9 = input => "boolean" === typeof input.externalPaymentAllowed && "boolean" === typeof input.remoteExecutableCodeAllowed && "boolean" === typeof input.installOtherAppCTAAllowed && "boolean" === typeof input.requiresStoreReview && "boolean" === typeof input.requiresAitReview;
|
|
834
870
|
const __is = input => "object" === typeof input && null !== input && _io0(input);
|
|
835
871
|
let _errorFactory;
|
package/dist/runtime.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import type { EffectiveTargetConfig } from './effective.js';
|
|
|
4
4
|
export type PlatformFeature = 'iap' | 'rewardedAds' | 'interstitialAds' | 'leaderboard' | 'localization';
|
|
5
5
|
export type AdPlacementType = 'rewarded' | 'interstitial';
|
|
6
6
|
type PlatformConfigTarget = PlatformGateway['target'];
|
|
7
|
-
export type TargetRuntimeKind = 'web-preview' | 'microsoft-store-pwa' | 'capacitor-android' | 'capacitor-ios' | 'apps-in-toss' | 'devvit-web';
|
|
8
|
-
export type ReleaseProfile = 'web-preview' | 'microsoft-store' | 'google-play' | 'app-store' | 'apps-in-toss' | 'devvit';
|
|
7
|
+
export type TargetRuntimeKind = 'web-preview' | 'microsoft-store-pwa' | 'capacitor-android' | 'capacitor-ios' | 'apps-in-toss' | 'devvit-web' | 'verse8-web';
|
|
8
|
+
export type ReleaseProfile = 'web-preview' | 'microsoft-store' | 'google-play' | 'app-store' | 'apps-in-toss' | 'devvit' | 'verse8';
|
|
9
9
|
export type StorageSupport = 'local' | 'native' | 'none';
|
|
10
10
|
export type TargetIntegration = 'identityUpgrade' | 'presentation' | 'sharing' | 'inboundShare' | 'notifications';
|
|
11
11
|
export type IntegrationAvailabilityState = 'available' | 'disabled' | 'approval-required' | 'configuration-required' | 'unsupported';
|
package/dist/runtime.js
CHANGED
|
@@ -130,11 +130,7 @@ export function createTargetRuntimeSnapshot(input) {
|
|
|
130
130
|
};
|
|
131
131
|
}
|
|
132
132
|
export function withTargetAvailability(gateway, config, options = {}) {
|
|
133
|
-
|
|
134
|
-
const getGatewayCapabilities = async () => {
|
|
135
|
-
cachedGatewayCapabilities ??= await gateway.getCapabilities();
|
|
136
|
-
return cachedGatewayCapabilities;
|
|
137
|
-
};
|
|
133
|
+
const getGatewayCapabilities = () => (gateway.getCapabilities());
|
|
138
134
|
const configTarget = options.configTarget ?? targetConfigKeyForPlatform(gateway.target);
|
|
139
135
|
const { identity: gatewayIdentity, presentation: gatewayPresentation, sharing: gatewaySharing, notifications: gatewayNotifications, ...gatewayWithoutIntegrations } = gateway;
|
|
140
136
|
const integrations = normalizeTargetIntegrationConfig(options.effectiveConfig?.integrations ?? config.integrations);
|
package/dist/viewport.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mpgd/target-config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Target-specific platform feature availability and effective config helpers for mpgd.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"typia": "13.0.2",
|
|
40
|
-
"@mpgd/catalog": "0.
|
|
41
|
-
"@mpgd/
|
|
42
|
-
"@mpgd/
|
|
40
|
+
"@mpgd/catalog": "0.5.0",
|
|
41
|
+
"@mpgd/i18n": "0.5.3",
|
|
42
|
+
"@mpgd/platform": "0.7.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"ttsc": "0.18.4",
|
package/targets.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2026-07-
|
|
2
|
+
"version": "2026-07-16.2",
|
|
3
3
|
"targets": {
|
|
4
4
|
"web-preview": {
|
|
5
5
|
"runtime": "web-preview",
|
|
@@ -87,6 +87,49 @@
|
|
|
87
87
|
"requiresAitReview": false
|
|
88
88
|
}
|
|
89
89
|
},
|
|
90
|
+
"verse8": {
|
|
91
|
+
"runtime": "verse8-web",
|
|
92
|
+
"features": {
|
|
93
|
+
"iap": true,
|
|
94
|
+
"rewardedAds": true,
|
|
95
|
+
"interstitialAds": true,
|
|
96
|
+
"leaderboard": false,
|
|
97
|
+
"localization": true
|
|
98
|
+
},
|
|
99
|
+
"capabilities": {
|
|
100
|
+
"storage": "local",
|
|
101
|
+
"localization": true
|
|
102
|
+
},
|
|
103
|
+
"localization": {
|
|
104
|
+
"fallbackLocale": "en"
|
|
105
|
+
},
|
|
106
|
+
"monetization": {
|
|
107
|
+
"iap": true,
|
|
108
|
+
"rewardedAds": true,
|
|
109
|
+
"interstitialAds": true
|
|
110
|
+
},
|
|
111
|
+
"leaderboard": {
|
|
112
|
+
"native": false
|
|
113
|
+
},
|
|
114
|
+
"release": {
|
|
115
|
+
"profile": "verse8"
|
|
116
|
+
},
|
|
117
|
+
"integrations": {
|
|
118
|
+
"identityUpgrade": "unsupported",
|
|
119
|
+
"presentation": "available",
|
|
120
|
+
"sharing": "unsupported",
|
|
121
|
+
"inboundShare": "unsupported",
|
|
122
|
+
"notifications": "unsupported",
|
|
123
|
+
"presentationMode": "fullscreen"
|
|
124
|
+
},
|
|
125
|
+
"policy": {
|
|
126
|
+
"externalPaymentAllowed": false,
|
|
127
|
+
"remoteExecutableCodeAllowed": false,
|
|
128
|
+
"installOtherAppCTAAllowed": false,
|
|
129
|
+
"requiresStoreReview": false,
|
|
130
|
+
"requiresAitReview": false
|
|
131
|
+
}
|
|
132
|
+
},
|
|
90
133
|
"android": {
|
|
91
134
|
"runtime": "capacitor-android",
|
|
92
135
|
"features": {
|