@dimer47/capacitor-plugin-asam 2.0.2 โ†’ 2.1.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
@@ -85,6 +85,7 @@ if (!r.success)
85
85
  * [`enableASAM()`](#enableasam)
86
86
  * [`disableASAM()`](#disableasam)
87
87
  * [`isASAMEnabled()`](#isasamenabled)
88
+ * [`isSupervised()`](#issupervised)
88
89
 
89
90
  </docgen-index>
90
91
 
@@ -148,6 +149,20 @@ Check whether Autonomous Single App Mode (ASAM) is currently active on the devic
148
149
 
149
150
  --------------------
150
151
 
152
+
153
+ ### isSupervised()
154
+
155
+ ```typescript
156
+ isSupervised() => Promise<{ supervised: boolean; }>
157
+ ```
158
+
159
+ Check whether the device is in supervised mode.
160
+ Only supervised iOS devices can use ASAM.
161
+
162
+ **Returns:** <code>Promise&lt;{ supervised: boolean; }&gt;</code>
163
+
164
+ --------------------
165
+
151
166
  </docgen-api>
152
167
 
153
168
  ## ๐Ÿงช Testing
package/dist/docs.json CHANGED
@@ -74,6 +74,21 @@
74
74
  "docs": "Check whether Autonomous Single App Mode (ASAM) is currently active on the device.",
75
75
  "complexTypes": [],
76
76
  "slug": "isasamenabled"
77
+ },
78
+ {
79
+ "name": "isSupervised",
80
+ "signature": "() => Promise<{ supervised: boolean; }>",
81
+ "parameters": [],
82
+ "returns": "Promise<{ supervised: boolean; }>",
83
+ "tags": [
84
+ {
85
+ "name": "returns",
86
+ "text": "`{ supervised: true }` if the device is supervised."
87
+ }
88
+ ],
89
+ "docs": "Check whether the device is in supervised mode.\nOnly supervised iOS devices can use ASAM.",
90
+ "complexTypes": [],
91
+ "slug": "issupervised"
77
92
  }
78
93
  ],
79
94
  "properties": []
@@ -15,4 +15,7 @@ export declare class AsamAndroid extends WebPlugin implements AsamPlugin {
15
15
  isASAMEnabled(): Promise<{
16
16
  enabled: boolean;
17
17
  }>;
18
+ isSupervised(): Promise<{
19
+ supervised: boolean;
20
+ }>;
18
21
  }
@@ -13,5 +13,8 @@ export class AsamAndroid extends WebPlugin {
13
13
  isASAMEnabled() {
14
14
  throw this.unimplemented('isASAMEnabled is not implemented on web.');
15
15
  }
16
+ isSupervised() {
17
+ return Promise.resolve({ supervised: false });
18
+ }
16
19
  }
17
20
  //# sourceMappingURL=android.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,6DAA6D;IAC7D,OAAO,CAAC,QAA6B;QACnC,MAAM,IAAI,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;IACjE,CAAC;IAED,UAAU;QACR,MAAM,IAAI,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;IACpE,CAAC;IAED,WAAW;QACT,MAAM,IAAI,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC;IACrE,CAAC;IAED,aAAa;QACX,MAAM,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IACvE,CAAC;CACF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type { AsamPlugin } from './definitions';\n\nexport class AsamAndroid extends WebPlugin implements AsamPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options: { enable: boolean }): Promise<{ success: boolean }> {\n throw this.unimplemented('setASAM is not implemented on web.');\n }\n\n enableASAM(): Promise<{ success: boolean }> {\n throw this.unimplemented('enableASAM is not implemented on web.');\n }\n\n disableASAM(): Promise<{ success: boolean }> {\n throw this.unimplemented('disableASAM is not implemented on web.');\n }\n\n isASAMEnabled(): Promise<{ enabled: boolean }> {\n throw this.unimplemented('isASAMEnabled is not implemented on web.');\n }\n}\n"]}
1
+ {"version":3,"file":"android.js","sourceRoot":"","sources":["../../src/android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,6DAA6D;IAC7D,OAAO,CAAC,QAA6B;QACnC,MAAM,IAAI,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;IACjE,CAAC;IAED,UAAU;QACR,MAAM,IAAI,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;IACpE,CAAC;IAED,WAAW;QACT,MAAM,IAAI,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC;IACrE,CAAC;IAED,aAAa;QACX,MAAM,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IACvE,CAAC;IAED,YAAY;QACV,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;CACF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type { AsamPlugin } from './definitions';\n\nexport class AsamAndroid extends WebPlugin implements AsamPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options: { enable: boolean }): Promise<{ success: boolean }> {\n throw this.unimplemented('setASAM is not implemented on web.');\n }\n\n enableASAM(): Promise<{ success: boolean }> {\n throw this.unimplemented('enableASAM is not implemented on web.');\n }\n\n disableASAM(): Promise<{ success: boolean }> {\n throw this.unimplemented('disableASAM is not implemented on web.');\n }\n\n isASAMEnabled(): Promise<{ enabled: boolean }> {\n throw this.unimplemented('isASAMEnabled is not implemented on web.');\n }\n\n isSupervised(): Promise<{ supervised: boolean }> {\n return Promise.resolve({ supervised: false });\n }\n}\n"]}
@@ -36,4 +36,13 @@ export interface AsamPlugin {
36
36
  isASAMEnabled(): Promise<{
37
37
  enabled: boolean;
38
38
  }>;
39
+ /**
40
+ * Check whether the device is in supervised mode.
41
+ * Only supervised iOS devices can use ASAM.
42
+ *
43
+ * @returns `{ supervised: true }` if the device is supervised.
44
+ */
45
+ isSupervised(): Promise<{
46
+ supervised: boolean;
47
+ }>;
39
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["export interface AsamPlugin {\n /**\n * Enable or disable Autonomous Single App Mode (ASAM) based on the `enable` parameter.\n *\n * @param options - `enable: true` to activate ASAM, `false` to deactivate.\n * @returns `{ success: true }` if the operation succeeded, `{ success: false }` otherwise.\n */\n setASAM(options: { enable: boolean }): Promise<{ success: boolean }>;\n\n /**\n * Enable Autonomous Single App Mode (ASAM) on the device.\n * Shortcut for `setASAM({ enable: true })`.\n *\n * @returns `{ success: true }` if ASAM was enabled successfully.\n */\n enableASAM(): Promise<{ success: boolean }>;\n\n /**\n * Disable Autonomous Single App Mode (ASAM) on the device.\n * Shortcut for `setASAM({ enable: false })`.\n *\n * @returns `{ success: true }` if ASAM was disabled successfully.\n */\n disableASAM(): Promise<{ success: boolean }>;\n\n /**\n * Check whether Autonomous Single App Mode (ASAM) is currently active on the device.\n *\n * @returns `{ enabled: true }` if ASAM / Guided Access is currently active.\n */\n isASAMEnabled(): Promise<{ enabled: boolean }>;\n}\n"]}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["export interface AsamPlugin {\n /**\n * Enable or disable Autonomous Single App Mode (ASAM) based on the `enable` parameter.\n *\n * @param options - `enable: true` to activate ASAM, `false` to deactivate.\n * @returns `{ success: true }` if the operation succeeded, `{ success: false }` otherwise.\n */\n setASAM(options: { enable: boolean }): Promise<{ success: boolean }>;\n\n /**\n * Enable Autonomous Single App Mode (ASAM) on the device.\n * Shortcut for `setASAM({ enable: true })`.\n *\n * @returns `{ success: true }` if ASAM was enabled successfully.\n */\n enableASAM(): Promise<{ success: boolean }>;\n\n /**\n * Disable Autonomous Single App Mode (ASAM) on the device.\n * Shortcut for `setASAM({ enable: false })`.\n *\n * @returns `{ success: true }` if ASAM was disabled successfully.\n */\n disableASAM(): Promise<{ success: boolean }>;\n\n /**\n * Check whether Autonomous Single App Mode (ASAM) is currently active on the device.\n *\n * @returns `{ enabled: true }` if ASAM / Guided Access is currently active.\n */\n isASAMEnabled(): Promise<{ enabled: boolean }>;\n\n /**\n * Check whether the device is in supervised mode.\n * Only supervised iOS devices can use ASAM.\n *\n * @returns `{ supervised: true }` if the device is supervised.\n */\n isSupervised(): Promise<{ supervised: boolean }>;\n}\n"]}
package/dist/esm/web.d.ts CHANGED
@@ -15,4 +15,7 @@ export declare class AsamWeb extends WebPlugin implements AsamPlugin {
15
15
  isASAMEnabled(): Promise<{
16
16
  enabled: boolean;
17
17
  }>;
18
+ isSupervised(): Promise<{
19
+ supervised: boolean;
20
+ }>;
18
21
  }
package/dist/esm/web.js CHANGED
@@ -13,5 +13,8 @@ export class AsamWeb extends WebPlugin {
13
13
  isASAMEnabled() {
14
14
  throw this.unavailable('isASAMEnabled is not available on web.');
15
15
  }
16
+ isSupervised() {
17
+ return Promise.resolve({ supervised: false });
18
+ }
16
19
  }
17
20
  //# sourceMappingURL=web.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,OAAO,OAAQ,SAAQ,SAAS;IACpC,6DAA6D;IAC7D,OAAO,CAAC,QAA6B;QACnC,MAAM,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU;QACR,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAChE,CAAC;IAED,WAAW;QACT,MAAM,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IACjE,CAAC;IAED,aAAa;QACX,MAAM,IAAI,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;IACnE,CAAC;CACF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type { AsamPlugin } from './definitions';\n\nexport class AsamWeb extends WebPlugin implements AsamPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options: { enable: boolean }): Promise<{ success: boolean }> {\n throw this.unavailable('setASAM is not available on web.');\n }\n\n enableASAM(): Promise<{ success: boolean }> {\n throw this.unavailable('enableASAM is not available on web.');\n }\n\n disableASAM(): Promise<{ success: boolean }> {\n throw this.unavailable('disableASAM is not available on web.');\n }\n\n isASAMEnabled(): Promise<{ enabled: boolean }> {\n throw this.unavailable('isASAMEnabled is not available on web.');\n }\n}\n"]}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,OAAO,OAAQ,SAAQ,SAAS;IACpC,6DAA6D;IAC7D,OAAO,CAAC,QAA6B;QACnC,MAAM,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IAC7D,CAAC;IAED,UAAU;QACR,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IAChE,CAAC;IAED,WAAW;QACT,MAAM,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IACjE,CAAC;IAED,aAAa;QACX,MAAM,IAAI,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;IACnE,CAAC;IAED,YAAY;QACV,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;CACF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type { AsamPlugin } from './definitions';\n\nexport class AsamWeb extends WebPlugin implements AsamPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options: { enable: boolean }): Promise<{ success: boolean }> {\n throw this.unavailable('setASAM is not available on web.');\n }\n\n enableASAM(): Promise<{ success: boolean }> {\n throw this.unavailable('enableASAM is not available on web.');\n }\n\n disableASAM(): Promise<{ success: boolean }> {\n throw this.unavailable('disableASAM is not available on web.');\n }\n\n isASAMEnabled(): Promise<{ enabled: boolean }> {\n throw this.unavailable('isASAMEnabled is not available on web.');\n }\n\n isSupervised(): Promise<{ supervised: boolean }> {\n return Promise.resolve({ supervised: false });\n }\n}\n"]}
@@ -23,6 +23,9 @@ class AsamWeb extends core.WebPlugin {
23
23
  isASAMEnabled() {
24
24
  throw this.unavailable('isASAMEnabled is not available on web.');
25
25
  }
26
+ isSupervised() {
27
+ return Promise.resolve({ supervised: false });
28
+ }
26
29
  }
27
30
 
28
31
  var web = /*#__PURE__*/Object.freeze({
@@ -44,6 +47,9 @@ class AsamAndroid extends core.WebPlugin {
44
47
  isASAMEnabled() {
45
48
  throw this.unimplemented('isASAMEnabled is not implemented on web.');
46
49
  }
50
+ isSupervised() {
51
+ return Promise.resolve({ supervised: false });
52
+ }
47
53
  }
48
54
 
49
55
  var android = /*#__PURE__*/Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js","esm/android.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Asam = registerPlugin('Asam', {\n web: () => import('./web').then(m => new m.AsamWeb()),\n android: () => import('./android').then(m => new m.AsamAndroid()),\n});\nexport * from './definitions';\nexport { Asam };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class AsamWeb extends WebPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options) {\n throw this.unavailable('setASAM is not available on web.');\n }\n enableASAM() {\n throw this.unavailable('enableASAM is not available on web.');\n }\n disableASAM() {\n throw this.unavailable('disableASAM is not available on web.');\n }\n isASAMEnabled() {\n throw this.unavailable('isASAMEnabled is not available on web.');\n }\n}\n//# sourceMappingURL=web.js.map","import { WebPlugin } from '@capacitor/core';\nexport class AsamAndroid extends WebPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options) {\n throw this.unimplemented('setASAM is not implemented on web.');\n }\n enableASAM() {\n throw this.unimplemented('enableASAM is not implemented on web.');\n }\n disableASAM() {\n throw this.unimplemented('disableASAM is not implemented on web.');\n }\n isASAMEnabled() {\n throw this.unimplemented('isASAMEnabled is not implemented on web.');\n }\n}\n//# sourceMappingURL=android.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;;;AACK,MAAC,IAAI,GAAGA,mBAAc,CAAC,MAAM,EAAE;AACpC,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACzD,IAAI,OAAO,EAAE,MAAM,uDAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AACrE,CAAC;;ACHM,MAAM,OAAO,SAASC,cAAS,CAAC;AACvC;AACA,IAAI,OAAO,CAAC,QAAQ,EAAE;AACtB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;AACnE,KAAK;AACL,IAAI,UAAU,GAAG;AACjB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;AACtE,KAAK;AACL,IAAI,WAAW,GAAG;AAClB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,aAAa,GAAG;AACpB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;AACzE,KAAK;AACL;;;;;;;ACdO,MAAM,WAAW,SAASA,cAAS,CAAC;AAC3C;AACA,IAAI,OAAO,CAAC,QAAQ,EAAE;AACtB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,UAAU,GAAG;AACjB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;AAC1E,KAAK;AACL,IAAI,WAAW,GAAG;AAClB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC;AAC3E,KAAK;AACL,IAAI,aAAa,GAAG;AACpB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;AAC7E,KAAK;AACL;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/index.js","esm/web.js","esm/android.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Asam = registerPlugin('Asam', {\n web: () => import('./web').then(m => new m.AsamWeb()),\n android: () => import('./android').then(m => new m.AsamAndroid()),\n});\nexport * from './definitions';\nexport { Asam };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class AsamWeb extends WebPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options) {\n throw this.unavailable('setASAM is not available on web.');\n }\n enableASAM() {\n throw this.unavailable('enableASAM is not available on web.');\n }\n disableASAM() {\n throw this.unavailable('disableASAM is not available on web.');\n }\n isASAMEnabled() {\n throw this.unavailable('isASAMEnabled is not available on web.');\n }\n isSupervised() {\n return Promise.resolve({ supervised: false });\n }\n}\n//# sourceMappingURL=web.js.map","import { WebPlugin } from '@capacitor/core';\nexport class AsamAndroid extends WebPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options) {\n throw this.unimplemented('setASAM is not implemented on web.');\n }\n enableASAM() {\n throw this.unimplemented('enableASAM is not implemented on web.');\n }\n disableASAM() {\n throw this.unimplemented('disableASAM is not implemented on web.');\n }\n isASAMEnabled() {\n throw this.unimplemented('isASAMEnabled is not implemented on web.');\n }\n isSupervised() {\n return Promise.resolve({ supervised: false });\n }\n}\n//# sourceMappingURL=android.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;;;;AACK,MAAC,IAAI,GAAGA,mBAAc,CAAC,MAAM,EAAE;AACpC,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACzD,IAAI,OAAO,EAAE,MAAM,uDAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;AACrE,CAAC;;ACHM,MAAM,OAAO,SAASC,cAAS,CAAC;AACvC;AACA,IAAI,OAAO,CAAC,QAAQ,EAAE;AACtB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;AACnE,KAAK;AACL,IAAI,UAAU,GAAG;AACjB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;AACtE,KAAK;AACL,IAAI,WAAW,GAAG;AAClB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,aAAa,GAAG;AACpB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;AACzE,KAAK;AACL,IAAI,YAAY,GAAG;AACnB,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACtD,KAAK;AACL;;;;;;;ACjBO,MAAM,WAAW,SAASA,cAAS,CAAC;AAC3C;AACA,IAAI,OAAO,CAAC,QAAQ,EAAE;AACtB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;AACvE,KAAK;AACL,IAAI,UAAU,GAAG;AACjB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;AAC1E,KAAK;AACL,IAAI,WAAW,GAAG;AAClB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC;AAC3E,KAAK;AACL,IAAI,aAAa,GAAG;AACpB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;AAC7E,KAAK;AACL,IAAI,YAAY,GAAG;AACnB,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACtD,KAAK;AACL;;;;;;;;;"}
package/dist/plugin.js CHANGED
@@ -20,6 +20,9 @@ var capacitorAsam = (function (exports, core) {
20
20
  isASAMEnabled() {
21
21
  throw this.unavailable('isASAMEnabled is not available on web.');
22
22
  }
23
+ isSupervised() {
24
+ return Promise.resolve({ supervised: false });
25
+ }
23
26
  }
24
27
 
25
28
  var web = /*#__PURE__*/Object.freeze({
@@ -41,6 +44,9 @@ var capacitorAsam = (function (exports, core) {
41
44
  isASAMEnabled() {
42
45
  throw this.unimplemented('isASAMEnabled is not implemented on web.');
43
46
  }
47
+ isSupervised() {
48
+ return Promise.resolve({ supervised: false });
49
+ }
44
50
  }
45
51
 
46
52
  var android = /*#__PURE__*/Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js","esm/android.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Asam = registerPlugin('Asam', {\n web: () => import('./web').then(m => new m.AsamWeb()),\n android: () => import('./android').then(m => new m.AsamAndroid()),\n});\nexport * from './definitions';\nexport { Asam };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class AsamWeb extends WebPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options) {\n throw this.unavailable('setASAM is not available on web.');\n }\n enableASAM() {\n throw this.unavailable('enableASAM is not available on web.');\n }\n disableASAM() {\n throw this.unavailable('disableASAM is not available on web.');\n }\n isASAMEnabled() {\n throw this.unavailable('isASAMEnabled is not available on web.');\n }\n}\n//# sourceMappingURL=web.js.map","import { WebPlugin } from '@capacitor/core';\nexport class AsamAndroid extends WebPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options) {\n throw this.unimplemented('setASAM is not implemented on web.');\n }\n enableASAM() {\n throw this.unimplemented('enableASAM is not implemented on web.');\n }\n disableASAM() {\n throw this.unimplemented('disableASAM is not implemented on web.');\n }\n isASAMEnabled() {\n throw this.unimplemented('isASAMEnabled is not implemented on web.');\n }\n}\n//# sourceMappingURL=android.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;AACK,UAAC,IAAI,GAAGA,mBAAc,CAAC,MAAM,EAAE;IACpC,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACzD,IAAI,OAAO,EAAE,MAAM,uDAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACrE,CAAC;;ICHM,MAAM,OAAO,SAASC,cAAS,CAAC;IACvC;IACA,IAAI,OAAO,CAAC,QAAQ,EAAE;IACtB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IACnE,KAAK;IACL,IAAI,UAAU,GAAG;IACjB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IACtE,KAAK;IACL,IAAI,WAAW,GAAG;IAClB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IACvE,KAAK;IACL,IAAI,aAAa,GAAG;IACpB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;IACzE,KAAK;IACL;;;;;;;ICdO,MAAM,WAAW,SAASA,cAAS,CAAC;IAC3C;IACA,IAAI,OAAO,CAAC,QAAQ,EAAE;IACtB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;IACvE,KAAK;IACL,IAAI,UAAU,GAAG;IACjB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;IAC1E,KAAK;IACL,IAAI,WAAW,GAAG;IAClB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC;IAC3E,KAAK;IACL,IAAI,aAAa,GAAG;IACpB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAC7E,KAAK;IACL;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/index.js","esm/web.js","esm/android.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nconst Asam = registerPlugin('Asam', {\n web: () => import('./web').then(m => new m.AsamWeb()),\n android: () => import('./android').then(m => new m.AsamAndroid()),\n});\nexport * from './definitions';\nexport { Asam };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class AsamWeb extends WebPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options) {\n throw this.unavailable('setASAM is not available on web.');\n }\n enableASAM() {\n throw this.unavailable('enableASAM is not available on web.');\n }\n disableASAM() {\n throw this.unavailable('disableASAM is not available on web.');\n }\n isASAMEnabled() {\n throw this.unavailable('isASAMEnabled is not available on web.');\n }\n isSupervised() {\n return Promise.resolve({ supervised: false });\n }\n}\n//# sourceMappingURL=web.js.map","import { WebPlugin } from '@capacitor/core';\nexport class AsamAndroid extends WebPlugin {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n setASAM(_options) {\n throw this.unimplemented('setASAM is not implemented on web.');\n }\n enableASAM() {\n throw this.unimplemented('enableASAM is not implemented on web.');\n }\n disableASAM() {\n throw this.unimplemented('disableASAM is not implemented on web.');\n }\n isASAMEnabled() {\n throw this.unimplemented('isASAMEnabled is not implemented on web.');\n }\n isSupervised() {\n return Promise.resolve({ supervised: false });\n }\n}\n//# sourceMappingURL=android.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":";;;AACK,UAAC,IAAI,GAAGA,mBAAc,CAAC,MAAM,EAAE;IACpC,IAAI,GAAG,EAAE,MAAM,mDAAe,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IACzD,IAAI,OAAO,EAAE,MAAM,uDAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACrE,CAAC;;ICHM,MAAM,OAAO,SAASC,cAAS,CAAC;IACvC;IACA,IAAI,OAAO,CAAC,QAAQ,EAAE;IACtB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;IACnE,KAAK;IACL,IAAI,UAAU,GAAG;IACjB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;IACtE,KAAK;IACL,IAAI,WAAW,GAAG;IAClB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC;IACvE,KAAK;IACL,IAAI,aAAa,GAAG;IACpB,QAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,wCAAwC,CAAC,CAAC;IACzE,KAAK;IACL,IAAI,YAAY,GAAG;IACnB,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,KAAK;IACL;;;;;;;ICjBO,MAAM,WAAW,SAASA,cAAS,CAAC;IAC3C;IACA,IAAI,OAAO,CAAC,QAAQ,EAAE;IACtB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,oCAAoC,CAAC,CAAC;IACvE,KAAK;IACL,IAAI,UAAU,GAAG;IACjB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,uCAAuC,CAAC,CAAC;IAC1E,KAAK;IACL,IAAI,WAAW,GAAG;IAClB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC;IAC3E,KAAK;IACL,IAAI,aAAa,GAAG;IACpB,QAAQ,MAAM,IAAI,CAAC,aAAa,CAAC,0CAA0C,CAAC,CAAC;IAC7E,KAAK;IACL,IAAI,YAAY,GAAG;IACnB,QAAQ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,KAAK;IACL;;;;;;;;;;;;;;;;;"}
@@ -33,6 +33,26 @@ public struct SystemGuidedAccessProvider: GuidedAccessProvider {
33
33
  self.provider = provider
34
34
  }
35
35
 
36
+ /// Check if the device supports ASAM by attempting an enable then disable cycle.
37
+ @objc public func isSupervised(completion: @escaping (Bool) -> Void) {
38
+ Task { @MainActor in
39
+ // If Guided Access is already active, the device is necessarily supervised
40
+ if provider.isGuidedAccessEnabled {
41
+ completion(true)
42
+ return
43
+ }
44
+
45
+ // Attempt to enable ASAM โ€” only succeeds on a supervised device
46
+ let canEnable = await provider.requestGuidedAccessSession(enabled: true)
47
+ if canEnable {
48
+ // Disable immediately
49
+ let _ = await provider.requestGuidedAccessSession(enabled: false)
50
+ }
51
+ print("From Native -> isSupervised probe: \(canEnable)")
52
+ completion(canEnable)
53
+ }
54
+ }
55
+
36
56
  @objc public func setASAM(_ enable: Bool, completion: @escaping (Bool) -> Void) {
37
57
  Task { @MainActor in
38
58
  let success = await provider.requestGuidedAccessSession(enabled: enable)
@@ -8,4 +8,5 @@ CAP_PLUGIN(AsamPlugin, "Asam",
8
8
  CAP_PLUGIN_METHOD(enableASAM, CAPPluginReturnPromise);
9
9
  CAP_PLUGIN_METHOD(disableASAM, CAPPluginReturnPromise);
10
10
  CAP_PLUGIN_METHOD(isASAMEnabled, CAPPluginReturnPromise);
11
+ CAP_PLUGIN_METHOD(isSupervised, CAPPluginReturnPromise);
11
12
  )
@@ -42,4 +42,12 @@ public class AsamPlugin: CAPPlugin {
42
42
  ])
43
43
  }
44
44
  }
45
+
46
+ @objc func isSupervised(_ call: CAPPluginCall) {
47
+ implementation.isSupervised { supervised in
48
+ call.resolve([
49
+ "supervised": supervised
50
+ ])
51
+ }
52
+ }
45
53
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dimer47/capacitor-plugin-asam",
3
- "version": "2.0.2",
3
+ "version": "2.1.1",
4
4
  "description": "Easily integrate Autonomous Single App Mode in your app, allowing it to control Single App Mode sessions for focused, distraction-free user experiences. Ideal for educational, testing, or kiosk applications.",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",