github.com/primecitizens/pcz/std@v0.2.1/plat/js/webext/autofillprivate/apis_js_wasm.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright 2023 The Prime Citizens
     3  
     4  package autofillprivate
     5  
     6  import (
     7  	"github.com/primecitizens/pcz/std/core/abi"
     8  	"github.com/primecitizens/pcz/std/core/mark"
     9  	"github.com/primecitizens/pcz/std/ffi/js"
    10  	"github.com/primecitizens/pcz/std/plat/js/webext/autofillprivate/bindings"
    11  )
    12  
    13  type AccountInfo struct {
    14  	// Email is "AccountInfo.email"
    15  	//
    16  	// Optional
    17  	Email js.String
    18  	// IsSyncEnabledForAutofillProfiles is "AccountInfo.isSyncEnabledForAutofillProfiles"
    19  	//
    20  	// Optional
    21  	//
    22  	// NOTE: FFI_USE_IsSyncEnabledForAutofillProfiles MUST be set to true to make this field effective.
    23  	IsSyncEnabledForAutofillProfiles bool
    24  	// IsEligibleForAddressAccountStorage is "AccountInfo.isEligibleForAddressAccountStorage"
    25  	//
    26  	// Optional
    27  	//
    28  	// NOTE: FFI_USE_IsEligibleForAddressAccountStorage MUST be set to true to make this field effective.
    29  	IsEligibleForAddressAccountStorage bool
    30  
    31  	FFI_USE_IsSyncEnabledForAutofillProfiles   bool // for IsSyncEnabledForAutofillProfiles.
    32  	FFI_USE_IsEligibleForAddressAccountStorage bool // for IsEligibleForAddressAccountStorage.
    33  
    34  	FFI_USE bool
    35  }
    36  
    37  // FromRef calls UpdateFrom and returns a AccountInfo with all fields set.
    38  func (p AccountInfo) FromRef(ref js.Ref) AccountInfo {
    39  	p.UpdateFrom(ref)
    40  	return p
    41  }
    42  
    43  // New creates a new AccountInfo in the application heap.
    44  func (p AccountInfo) New() js.Ref {
    45  	return bindings.AccountInfoJSLoad(
    46  		js.Pointer(&p), js.True, 0,
    47  	)
    48  }
    49  
    50  // UpdateFrom copies value of all fields of the heap object to p.
    51  func (p *AccountInfo) UpdateFrom(ref js.Ref) {
    52  	bindings.AccountInfoJSStore(
    53  		js.Pointer(p), ref,
    54  	)
    55  }
    56  
    57  // Update writes all fields of the p to the heap object referenced by ref.
    58  func (p *AccountInfo) Update(ref js.Ref) {
    59  	bindings.AccountInfoJSLoad(
    60  		js.Pointer(p), js.False, ref,
    61  	)
    62  }
    63  
    64  // FreeMembers frees fields with heap reference, if recursive is true
    65  // free all heap references reachable from p.
    66  func (p *AccountInfo) FreeMembers(recursive bool) {
    67  	js.Free(
    68  		p.Email.Ref(),
    69  	)
    70  	p.Email = p.Email.FromRef(js.Undefined)
    71  }
    72  
    73  type ServerFieldType uint32
    74  
    75  const (
    76  	_ ServerFieldType = iota
    77  
    78  	ServerFieldType_NO_SERVER_DATA
    79  	ServerFieldType_UNKNOWN_TYPE
    80  	ServerFieldType_EMPTY_TYPE
    81  	ServerFieldType_NAME_FIRST
    82  	ServerFieldType_NAME_MIDDLE
    83  	ServerFieldType_NAME_LAST
    84  	ServerFieldType_NAME_MIDDLE_INITIAL
    85  	ServerFieldType_NAME_FULL
    86  	ServerFieldType_NAME_SUFFIX
    87  	ServerFieldType_EMAIL_ADDRESS
    88  	ServerFieldType_PHONE_HOME_NUMBER
    89  	ServerFieldType_PHONE_HOME_CITY_CODE
    90  	ServerFieldType_PHONE_HOME_COUNTRY_CODE
    91  	ServerFieldType_PHONE_HOME_CITY_AND_NUMBER
    92  	ServerFieldType_PHONE_HOME_WHOLE_NUMBER
    93  	ServerFieldType_ADDRESS_HOME_LINE1
    94  	ServerFieldType_ADDRESS_HOME_LINE2
    95  	ServerFieldType_ADDRESS_HOME_APT_NUM
    96  	ServerFieldType_ADDRESS_HOME_CITY
    97  	ServerFieldType_ADDRESS_HOME_STATE
    98  	ServerFieldType_ADDRESS_HOME_ZIP
    99  	ServerFieldType_ADDRESS_HOME_COUNTRY
   100  	ServerFieldType_CREDIT_CARD_NAME_FULL
   101  	ServerFieldType_CREDIT_CARD_NUMBER
   102  	ServerFieldType_CREDIT_CARD_EXP_MONTH
   103  	ServerFieldType_CREDIT_CARD_EXP_2_DIGIT_YEAR
   104  	ServerFieldType_CREDIT_CARD_EXP_4_DIGIT_YEAR
   105  	ServerFieldType_CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR
   106  	ServerFieldType_CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR
   107  	ServerFieldType_CREDIT_CARD_TYPE
   108  	ServerFieldType_CREDIT_CARD_VERIFICATION_CODE
   109  	ServerFieldType_COMPANY_NAME
   110  	ServerFieldType_FIELD_WITH_DEFAULT_VALUE
   111  	ServerFieldType_MERCHANT_EMAIL_SIGNUP
   112  	ServerFieldType_MERCHANT_PROMO_CODE
   113  	ServerFieldType_PASSWORD
   114  	ServerFieldType_ACCOUNT_CREATION_PASSWORD
   115  	ServerFieldType_ADDRESS_HOME_STREET_ADDRESS
   116  	ServerFieldType_ADDRESS_HOME_SORTING_CODE
   117  	ServerFieldType_ADDRESS_HOME_DEPENDENT_LOCALITY
   118  	ServerFieldType_ADDRESS_HOME_LINE3
   119  	ServerFieldType_NOT_ACCOUNT_CREATION_PASSWORD
   120  	ServerFieldType_USERNAME
   121  	ServerFieldType_USERNAME_AND_EMAIL_ADDRESS
   122  	ServerFieldType_NEW_PASSWORD
   123  	ServerFieldType_PROBABLY_NEW_PASSWORD
   124  	ServerFieldType_NOT_NEW_PASSWORD
   125  	ServerFieldType_CREDIT_CARD_NAME_FIRST
   126  	ServerFieldType_CREDIT_CARD_NAME_LAST
   127  	ServerFieldType_PHONE_HOME_EXTENSION
   128  	ServerFieldType_CONFIRMATION_PASSWORD
   129  	ServerFieldType_AMBIGUOUS_TYPE
   130  	ServerFieldType_SEARCH_TERM
   131  	ServerFieldType_PRICE
   132  	ServerFieldType_NOT_PASSWORD
   133  	ServerFieldType_SINGLE_USERNAME
   134  	ServerFieldType_NOT_USERNAME
   135  	ServerFieldType_UPI_VPA
   136  	ServerFieldType_ADDRESS_HOME_STREET_NAME
   137  	ServerFieldType_ADDRESS_HOME_HOUSE_NUMBER
   138  	ServerFieldType_ADDRESS_HOME_SUBPREMISE
   139  	ServerFieldType_ADDRESS_HOME_OTHER_SUBUNIT
   140  	ServerFieldType_NAME_LAST_FIRST
   141  	ServerFieldType_NAME_LAST_CONJUNCTION
   142  	ServerFieldType_NAME_LAST_SECOND
   143  	ServerFieldType_NAME_HONORIFIC_PREFIX
   144  	ServerFieldType_ADDRESS_HOME_ADDRESS
   145  	ServerFieldType_ADDRESS_HOME_ADDRESS_WITH_NAME
   146  	ServerFieldType_ADDRESS_HOME_FLOOR
   147  	ServerFieldType_NAME_FULL_WITH_HONORIFIC_PREFIX
   148  	ServerFieldType_BIRTHDATE_DAY
   149  	ServerFieldType_BIRTHDATE_MONTH
   150  	ServerFieldType_BIRTHDATE_4_DIGIT_YEAR
   151  	ServerFieldType_PHONE_HOME_CITY_CODE_WITH_TRUNK_PREFIX
   152  	ServerFieldType_PHONE_HOME_CITY_AND_NUMBER_WITHOUT_TRUNK_PREFIX
   153  	ServerFieldType_PHONE_HOME_NUMBER_PREFIX
   154  	ServerFieldType_PHONE_HOME_NUMBER_SUFFIX
   155  	ServerFieldType_IBAN_VALUE
   156  	ServerFieldType_CREDIT_CARD_STANDALONE_VERIFICATION_CODE
   157  	ServerFieldType_NUMERIC_QUANTITY
   158  	ServerFieldType_ONE_TIME_CODE
   159  	ServerFieldType_DELIVERY_INSTRUCTIONS
   160  	ServerFieldType_ADDRESS_HOME_OVERFLOW
   161  	ServerFieldType_ADDRESS_HOME_LANDMARK
   162  	ServerFieldType_ADDRESS_HOME_OVERFLOW_AND_LANDMARK
   163  	ServerFieldType_ADDRESS_HOME_ADMIN_LEVEL2
   164  	ServerFieldType_ADDRESS_HOME_STREET_LOCATION
   165  	ServerFieldType_ADDRESS_HOME_BETWEEN_STREETS
   166  	ServerFieldType_ADDRESS_HOME_BETWEEN_STREETS_OR_LANDMARK
   167  	ServerFieldType_ADDRESS_HOME_BETWEEN_STREETS_1
   168  	ServerFieldType_ADDRESS_HOME_BETWEEN_STREETS_2
   169  	ServerFieldType_SINGLE_USERNAME_FORGOT_PASSWORD
   170  	ServerFieldType_MAX_VALID_FIELD_TYPE
   171  )
   172  
   173  func (ServerFieldType) FromRef(str js.Ref) ServerFieldType {
   174  	return ServerFieldType(bindings.ConstOfServerFieldType(str))
   175  }
   176  
   177  func (x ServerFieldType) String() (string, bool) {
   178  	switch x {
   179  	case ServerFieldType_NO_SERVER_DATA:
   180  		return "NO_SERVER_DATA", true
   181  	case ServerFieldType_UNKNOWN_TYPE:
   182  		return "UNKNOWN_TYPE", true
   183  	case ServerFieldType_EMPTY_TYPE:
   184  		return "EMPTY_TYPE", true
   185  	case ServerFieldType_NAME_FIRST:
   186  		return "NAME_FIRST", true
   187  	case ServerFieldType_NAME_MIDDLE:
   188  		return "NAME_MIDDLE", true
   189  	case ServerFieldType_NAME_LAST:
   190  		return "NAME_LAST", true
   191  	case ServerFieldType_NAME_MIDDLE_INITIAL:
   192  		return "NAME_MIDDLE_INITIAL", true
   193  	case ServerFieldType_NAME_FULL:
   194  		return "NAME_FULL", true
   195  	case ServerFieldType_NAME_SUFFIX:
   196  		return "NAME_SUFFIX", true
   197  	case ServerFieldType_EMAIL_ADDRESS:
   198  		return "EMAIL_ADDRESS", true
   199  	case ServerFieldType_PHONE_HOME_NUMBER:
   200  		return "PHONE_HOME_NUMBER", true
   201  	case ServerFieldType_PHONE_HOME_CITY_CODE:
   202  		return "PHONE_HOME_CITY_CODE", true
   203  	case ServerFieldType_PHONE_HOME_COUNTRY_CODE:
   204  		return "PHONE_HOME_COUNTRY_CODE", true
   205  	case ServerFieldType_PHONE_HOME_CITY_AND_NUMBER:
   206  		return "PHONE_HOME_CITY_AND_NUMBER", true
   207  	case ServerFieldType_PHONE_HOME_WHOLE_NUMBER:
   208  		return "PHONE_HOME_WHOLE_NUMBER", true
   209  	case ServerFieldType_ADDRESS_HOME_LINE1:
   210  		return "ADDRESS_HOME_LINE1", true
   211  	case ServerFieldType_ADDRESS_HOME_LINE2:
   212  		return "ADDRESS_HOME_LINE2", true
   213  	case ServerFieldType_ADDRESS_HOME_APT_NUM:
   214  		return "ADDRESS_HOME_APT_NUM", true
   215  	case ServerFieldType_ADDRESS_HOME_CITY:
   216  		return "ADDRESS_HOME_CITY", true
   217  	case ServerFieldType_ADDRESS_HOME_STATE:
   218  		return "ADDRESS_HOME_STATE", true
   219  	case ServerFieldType_ADDRESS_HOME_ZIP:
   220  		return "ADDRESS_HOME_ZIP", true
   221  	case ServerFieldType_ADDRESS_HOME_COUNTRY:
   222  		return "ADDRESS_HOME_COUNTRY", true
   223  	case ServerFieldType_CREDIT_CARD_NAME_FULL:
   224  		return "CREDIT_CARD_NAME_FULL", true
   225  	case ServerFieldType_CREDIT_CARD_NUMBER:
   226  		return "CREDIT_CARD_NUMBER", true
   227  	case ServerFieldType_CREDIT_CARD_EXP_MONTH:
   228  		return "CREDIT_CARD_EXP_MONTH", true
   229  	case ServerFieldType_CREDIT_CARD_EXP_2_DIGIT_YEAR:
   230  		return "CREDIT_CARD_EXP_2_DIGIT_YEAR", true
   231  	case ServerFieldType_CREDIT_CARD_EXP_4_DIGIT_YEAR:
   232  		return "CREDIT_CARD_EXP_4_DIGIT_YEAR", true
   233  	case ServerFieldType_CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR:
   234  		return "CREDIT_CARD_EXP_DATE_2_DIGIT_YEAR", true
   235  	case ServerFieldType_CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR:
   236  		return "CREDIT_CARD_EXP_DATE_4_DIGIT_YEAR", true
   237  	case ServerFieldType_CREDIT_CARD_TYPE:
   238  		return "CREDIT_CARD_TYPE", true
   239  	case ServerFieldType_CREDIT_CARD_VERIFICATION_CODE:
   240  		return "CREDIT_CARD_VERIFICATION_CODE", true
   241  	case ServerFieldType_COMPANY_NAME:
   242  		return "COMPANY_NAME", true
   243  	case ServerFieldType_FIELD_WITH_DEFAULT_VALUE:
   244  		return "FIELD_WITH_DEFAULT_VALUE", true
   245  	case ServerFieldType_MERCHANT_EMAIL_SIGNUP:
   246  		return "MERCHANT_EMAIL_SIGNUP", true
   247  	case ServerFieldType_MERCHANT_PROMO_CODE:
   248  		return "MERCHANT_PROMO_CODE", true
   249  	case ServerFieldType_PASSWORD:
   250  		return "PASSWORD", true
   251  	case ServerFieldType_ACCOUNT_CREATION_PASSWORD:
   252  		return "ACCOUNT_CREATION_PASSWORD", true
   253  	case ServerFieldType_ADDRESS_HOME_STREET_ADDRESS:
   254  		return "ADDRESS_HOME_STREET_ADDRESS", true
   255  	case ServerFieldType_ADDRESS_HOME_SORTING_CODE:
   256  		return "ADDRESS_HOME_SORTING_CODE", true
   257  	case ServerFieldType_ADDRESS_HOME_DEPENDENT_LOCALITY:
   258  		return "ADDRESS_HOME_DEPENDENT_LOCALITY", true
   259  	case ServerFieldType_ADDRESS_HOME_LINE3:
   260  		return "ADDRESS_HOME_LINE3", true
   261  	case ServerFieldType_NOT_ACCOUNT_CREATION_PASSWORD:
   262  		return "NOT_ACCOUNT_CREATION_PASSWORD", true
   263  	case ServerFieldType_USERNAME:
   264  		return "USERNAME", true
   265  	case ServerFieldType_USERNAME_AND_EMAIL_ADDRESS:
   266  		return "USERNAME_AND_EMAIL_ADDRESS", true
   267  	case ServerFieldType_NEW_PASSWORD:
   268  		return "NEW_PASSWORD", true
   269  	case ServerFieldType_PROBABLY_NEW_PASSWORD:
   270  		return "PROBABLY_NEW_PASSWORD", true
   271  	case ServerFieldType_NOT_NEW_PASSWORD:
   272  		return "NOT_NEW_PASSWORD", true
   273  	case ServerFieldType_CREDIT_CARD_NAME_FIRST:
   274  		return "CREDIT_CARD_NAME_FIRST", true
   275  	case ServerFieldType_CREDIT_CARD_NAME_LAST:
   276  		return "CREDIT_CARD_NAME_LAST", true
   277  	case ServerFieldType_PHONE_HOME_EXTENSION:
   278  		return "PHONE_HOME_EXTENSION", true
   279  	case ServerFieldType_CONFIRMATION_PASSWORD:
   280  		return "CONFIRMATION_PASSWORD", true
   281  	case ServerFieldType_AMBIGUOUS_TYPE:
   282  		return "AMBIGUOUS_TYPE", true
   283  	case ServerFieldType_SEARCH_TERM:
   284  		return "SEARCH_TERM", true
   285  	case ServerFieldType_PRICE:
   286  		return "PRICE", true
   287  	case ServerFieldType_NOT_PASSWORD:
   288  		return "NOT_PASSWORD", true
   289  	case ServerFieldType_SINGLE_USERNAME:
   290  		return "SINGLE_USERNAME", true
   291  	case ServerFieldType_NOT_USERNAME:
   292  		return "NOT_USERNAME", true
   293  	case ServerFieldType_UPI_VPA:
   294  		return "UPI_VPA", true
   295  	case ServerFieldType_ADDRESS_HOME_STREET_NAME:
   296  		return "ADDRESS_HOME_STREET_NAME", true
   297  	case ServerFieldType_ADDRESS_HOME_HOUSE_NUMBER:
   298  		return "ADDRESS_HOME_HOUSE_NUMBER", true
   299  	case ServerFieldType_ADDRESS_HOME_SUBPREMISE:
   300  		return "ADDRESS_HOME_SUBPREMISE", true
   301  	case ServerFieldType_ADDRESS_HOME_OTHER_SUBUNIT:
   302  		return "ADDRESS_HOME_OTHER_SUBUNIT", true
   303  	case ServerFieldType_NAME_LAST_FIRST:
   304  		return "NAME_LAST_FIRST", true
   305  	case ServerFieldType_NAME_LAST_CONJUNCTION:
   306  		return "NAME_LAST_CONJUNCTION", true
   307  	case ServerFieldType_NAME_LAST_SECOND:
   308  		return "NAME_LAST_SECOND", true
   309  	case ServerFieldType_NAME_HONORIFIC_PREFIX:
   310  		return "NAME_HONORIFIC_PREFIX", true
   311  	case ServerFieldType_ADDRESS_HOME_ADDRESS:
   312  		return "ADDRESS_HOME_ADDRESS", true
   313  	case ServerFieldType_ADDRESS_HOME_ADDRESS_WITH_NAME:
   314  		return "ADDRESS_HOME_ADDRESS_WITH_NAME", true
   315  	case ServerFieldType_ADDRESS_HOME_FLOOR:
   316  		return "ADDRESS_HOME_FLOOR", true
   317  	case ServerFieldType_NAME_FULL_WITH_HONORIFIC_PREFIX:
   318  		return "NAME_FULL_WITH_HONORIFIC_PREFIX", true
   319  	case ServerFieldType_BIRTHDATE_DAY:
   320  		return "BIRTHDATE_DAY", true
   321  	case ServerFieldType_BIRTHDATE_MONTH:
   322  		return "BIRTHDATE_MONTH", true
   323  	case ServerFieldType_BIRTHDATE_4_DIGIT_YEAR:
   324  		return "BIRTHDATE_4_DIGIT_YEAR", true
   325  	case ServerFieldType_PHONE_HOME_CITY_CODE_WITH_TRUNK_PREFIX:
   326  		return "PHONE_HOME_CITY_CODE_WITH_TRUNK_PREFIX", true
   327  	case ServerFieldType_PHONE_HOME_CITY_AND_NUMBER_WITHOUT_TRUNK_PREFIX:
   328  		return "PHONE_HOME_CITY_AND_NUMBER_WITHOUT_TRUNK_PREFIX", true
   329  	case ServerFieldType_PHONE_HOME_NUMBER_PREFIX:
   330  		return "PHONE_HOME_NUMBER_PREFIX", true
   331  	case ServerFieldType_PHONE_HOME_NUMBER_SUFFIX:
   332  		return "PHONE_HOME_NUMBER_SUFFIX", true
   333  	case ServerFieldType_IBAN_VALUE:
   334  		return "IBAN_VALUE", true
   335  	case ServerFieldType_CREDIT_CARD_STANDALONE_VERIFICATION_CODE:
   336  		return "CREDIT_CARD_STANDALONE_VERIFICATION_CODE", true
   337  	case ServerFieldType_NUMERIC_QUANTITY:
   338  		return "NUMERIC_QUANTITY", true
   339  	case ServerFieldType_ONE_TIME_CODE:
   340  		return "ONE_TIME_CODE", true
   341  	case ServerFieldType_DELIVERY_INSTRUCTIONS:
   342  		return "DELIVERY_INSTRUCTIONS", true
   343  	case ServerFieldType_ADDRESS_HOME_OVERFLOW:
   344  		return "ADDRESS_HOME_OVERFLOW", true
   345  	case ServerFieldType_ADDRESS_HOME_LANDMARK:
   346  		return "ADDRESS_HOME_LANDMARK", true
   347  	case ServerFieldType_ADDRESS_HOME_OVERFLOW_AND_LANDMARK:
   348  		return "ADDRESS_HOME_OVERFLOW_AND_LANDMARK", true
   349  	case ServerFieldType_ADDRESS_HOME_ADMIN_LEVEL2:
   350  		return "ADDRESS_HOME_ADMIN_LEVEL2", true
   351  	case ServerFieldType_ADDRESS_HOME_STREET_LOCATION:
   352  		return "ADDRESS_HOME_STREET_LOCATION", true
   353  	case ServerFieldType_ADDRESS_HOME_BETWEEN_STREETS:
   354  		return "ADDRESS_HOME_BETWEEN_STREETS", true
   355  	case ServerFieldType_ADDRESS_HOME_BETWEEN_STREETS_OR_LANDMARK:
   356  		return "ADDRESS_HOME_BETWEEN_STREETS_OR_LANDMARK", true
   357  	case ServerFieldType_ADDRESS_HOME_BETWEEN_STREETS_1:
   358  		return "ADDRESS_HOME_BETWEEN_STREETS_1", true
   359  	case ServerFieldType_ADDRESS_HOME_BETWEEN_STREETS_2:
   360  		return "ADDRESS_HOME_BETWEEN_STREETS_2", true
   361  	case ServerFieldType_SINGLE_USERNAME_FORGOT_PASSWORD:
   362  		return "SINGLE_USERNAME_FORGOT_PASSWORD", true
   363  	case ServerFieldType_MAX_VALID_FIELD_TYPE:
   364  		return "MAX_VALID_FIELD_TYPE", true
   365  	default:
   366  		return "", false
   367  	}
   368  }
   369  
   370  type AddressComponent struct {
   371  	// Field is "AddressComponent.field"
   372  	//
   373  	// Optional
   374  	Field ServerFieldType
   375  	// FieldName is "AddressComponent.fieldName"
   376  	//
   377  	// Optional
   378  	FieldName js.String
   379  	// IsLongField is "AddressComponent.isLongField"
   380  	//
   381  	// Optional
   382  	//
   383  	// NOTE: FFI_USE_IsLongField MUST be set to true to make this field effective.
   384  	IsLongField bool
   385  	// IsRequired is "AddressComponent.isRequired"
   386  	//
   387  	// Optional
   388  	//
   389  	// NOTE: FFI_USE_IsRequired MUST be set to true to make this field effective.
   390  	IsRequired bool
   391  	// Placeholder is "AddressComponent.placeholder"
   392  	//
   393  	// Optional
   394  	Placeholder js.String
   395  
   396  	FFI_USE_IsLongField bool // for IsLongField.
   397  	FFI_USE_IsRequired  bool // for IsRequired.
   398  
   399  	FFI_USE bool
   400  }
   401  
   402  // FromRef calls UpdateFrom and returns a AddressComponent with all fields set.
   403  func (p AddressComponent) FromRef(ref js.Ref) AddressComponent {
   404  	p.UpdateFrom(ref)
   405  	return p
   406  }
   407  
   408  // New creates a new AddressComponent in the application heap.
   409  func (p AddressComponent) New() js.Ref {
   410  	return bindings.AddressComponentJSLoad(
   411  		js.Pointer(&p), js.True, 0,
   412  	)
   413  }
   414  
   415  // UpdateFrom copies value of all fields of the heap object to p.
   416  func (p *AddressComponent) UpdateFrom(ref js.Ref) {
   417  	bindings.AddressComponentJSStore(
   418  		js.Pointer(p), ref,
   419  	)
   420  }
   421  
   422  // Update writes all fields of the p to the heap object referenced by ref.
   423  func (p *AddressComponent) Update(ref js.Ref) {
   424  	bindings.AddressComponentJSLoad(
   425  		js.Pointer(p), js.False, ref,
   426  	)
   427  }
   428  
   429  // FreeMembers frees fields with heap reference, if recursive is true
   430  // free all heap references reachable from p.
   431  func (p *AddressComponent) FreeMembers(recursive bool) {
   432  	js.Free(
   433  		p.FieldName.Ref(),
   434  		p.Placeholder.Ref(),
   435  	)
   436  	p.FieldName = p.FieldName.FromRef(js.Undefined)
   437  	p.Placeholder = p.Placeholder.FromRef(js.Undefined)
   438  }
   439  
   440  type AddressComponentRow struct {
   441  	// Row is "AddressComponentRow.row"
   442  	//
   443  	// Optional
   444  	Row js.Array[AddressComponent]
   445  
   446  	FFI_USE bool
   447  }
   448  
   449  // FromRef calls UpdateFrom and returns a AddressComponentRow with all fields set.
   450  func (p AddressComponentRow) FromRef(ref js.Ref) AddressComponentRow {
   451  	p.UpdateFrom(ref)
   452  	return p
   453  }
   454  
   455  // New creates a new AddressComponentRow in the application heap.
   456  func (p AddressComponentRow) New() js.Ref {
   457  	return bindings.AddressComponentRowJSLoad(
   458  		js.Pointer(&p), js.True, 0,
   459  	)
   460  }
   461  
   462  // UpdateFrom copies value of all fields of the heap object to p.
   463  func (p *AddressComponentRow) UpdateFrom(ref js.Ref) {
   464  	bindings.AddressComponentRowJSStore(
   465  		js.Pointer(p), ref,
   466  	)
   467  }
   468  
   469  // Update writes all fields of the p to the heap object referenced by ref.
   470  func (p *AddressComponentRow) Update(ref js.Ref) {
   471  	bindings.AddressComponentRowJSLoad(
   472  		js.Pointer(p), js.False, ref,
   473  	)
   474  }
   475  
   476  // FreeMembers frees fields with heap reference, if recursive is true
   477  // free all heap references reachable from p.
   478  func (p *AddressComponentRow) FreeMembers(recursive bool) {
   479  	js.Free(
   480  		p.Row.Ref(),
   481  	)
   482  	p.Row = p.Row.FromRef(js.Undefined)
   483  }
   484  
   485  type AddressComponents struct {
   486  	// Components is "AddressComponents.components"
   487  	//
   488  	// Optional
   489  	Components js.Array[AddressComponentRow]
   490  	// LanguageCode is "AddressComponents.languageCode"
   491  	//
   492  	// Optional
   493  	LanguageCode js.String
   494  
   495  	FFI_USE bool
   496  }
   497  
   498  // FromRef calls UpdateFrom and returns a AddressComponents with all fields set.
   499  func (p AddressComponents) FromRef(ref js.Ref) AddressComponents {
   500  	p.UpdateFrom(ref)
   501  	return p
   502  }
   503  
   504  // New creates a new AddressComponents in the application heap.
   505  func (p AddressComponents) New() js.Ref {
   506  	return bindings.AddressComponentsJSLoad(
   507  		js.Pointer(&p), js.True, 0,
   508  	)
   509  }
   510  
   511  // UpdateFrom copies value of all fields of the heap object to p.
   512  func (p *AddressComponents) UpdateFrom(ref js.Ref) {
   513  	bindings.AddressComponentsJSStore(
   514  		js.Pointer(p), ref,
   515  	)
   516  }
   517  
   518  // Update writes all fields of the p to the heap object referenced by ref.
   519  func (p *AddressComponents) Update(ref js.Ref) {
   520  	bindings.AddressComponentsJSLoad(
   521  		js.Pointer(p), js.False, ref,
   522  	)
   523  }
   524  
   525  // FreeMembers frees fields with heap reference, if recursive is true
   526  // free all heap references reachable from p.
   527  func (p *AddressComponents) FreeMembers(recursive bool) {
   528  	js.Free(
   529  		p.Components.Ref(),
   530  		p.LanguageCode.Ref(),
   531  	)
   532  	p.Components = p.Components.FromRef(js.Undefined)
   533  	p.LanguageCode = p.LanguageCode.FromRef(js.Undefined)
   534  }
   535  
   536  type AddressField struct {
   537  	// Type is "AddressField.type"
   538  	//
   539  	// Optional
   540  	Type ServerFieldType
   541  	// Value is "AddressField.value"
   542  	//
   543  	// Optional
   544  	Value js.String
   545  
   546  	FFI_USE bool
   547  }
   548  
   549  // FromRef calls UpdateFrom and returns a AddressField with all fields set.
   550  func (p AddressField) FromRef(ref js.Ref) AddressField {
   551  	p.UpdateFrom(ref)
   552  	return p
   553  }
   554  
   555  // New creates a new AddressField in the application heap.
   556  func (p AddressField) New() js.Ref {
   557  	return bindings.AddressFieldJSLoad(
   558  		js.Pointer(&p), js.True, 0,
   559  	)
   560  }
   561  
   562  // UpdateFrom copies value of all fields of the heap object to p.
   563  func (p *AddressField) UpdateFrom(ref js.Ref) {
   564  	bindings.AddressFieldJSStore(
   565  		js.Pointer(p), ref,
   566  	)
   567  }
   568  
   569  // Update writes all fields of the p to the heap object referenced by ref.
   570  func (p *AddressField) Update(ref js.Ref) {
   571  	bindings.AddressFieldJSLoad(
   572  		js.Pointer(p), js.False, ref,
   573  	)
   574  }
   575  
   576  // FreeMembers frees fields with heap reference, if recursive is true
   577  // free all heap references reachable from p.
   578  func (p *AddressField) FreeMembers(recursive bool) {
   579  	js.Free(
   580  		p.Value.Ref(),
   581  	)
   582  	p.Value = p.Value.FromRef(js.Undefined)
   583  }
   584  
   585  type AddressSource uint32
   586  
   587  const (
   588  	_ AddressSource = iota
   589  
   590  	AddressSource_LOCAL_OR_SYNCABLE
   591  	AddressSource_ACCOUNT
   592  )
   593  
   594  func (AddressSource) FromRef(str js.Ref) AddressSource {
   595  	return AddressSource(bindings.ConstOfAddressSource(str))
   596  }
   597  
   598  func (x AddressSource) String() (string, bool) {
   599  	switch x {
   600  	case AddressSource_LOCAL_OR_SYNCABLE:
   601  		return "LOCAL_OR_SYNCABLE", true
   602  	case AddressSource_ACCOUNT:
   603  		return "ACCOUNT", true
   604  	default:
   605  		return "", false
   606  	}
   607  }
   608  
   609  type AutofillMetadata struct {
   610  	// SummaryLabel is "AutofillMetadata.summaryLabel"
   611  	//
   612  	// Optional
   613  	SummaryLabel js.String
   614  	// SummarySublabel is "AutofillMetadata.summarySublabel"
   615  	//
   616  	// Optional
   617  	SummarySublabel js.String
   618  	// Source is "AutofillMetadata.source"
   619  	//
   620  	// Optional
   621  	Source AddressSource
   622  	// IsLocal is "AutofillMetadata.isLocal"
   623  	//
   624  	// Optional
   625  	//
   626  	// NOTE: FFI_USE_IsLocal MUST be set to true to make this field effective.
   627  	IsLocal bool
   628  	// IsCached is "AutofillMetadata.isCached"
   629  	//
   630  	// Optional
   631  	//
   632  	// NOTE: FFI_USE_IsCached MUST be set to true to make this field effective.
   633  	IsCached bool
   634  	// IsMigratable is "AutofillMetadata.isMigratable"
   635  	//
   636  	// Optional
   637  	//
   638  	// NOTE: FFI_USE_IsMigratable MUST be set to true to make this field effective.
   639  	IsMigratable bool
   640  	// IsVirtualCardEnrollmentEligible is "AutofillMetadata.isVirtualCardEnrollmentEligible"
   641  	//
   642  	// Optional
   643  	//
   644  	// NOTE: FFI_USE_IsVirtualCardEnrollmentEligible MUST be set to true to make this field effective.
   645  	IsVirtualCardEnrollmentEligible bool
   646  	// IsVirtualCardEnrolled is "AutofillMetadata.isVirtualCardEnrolled"
   647  	//
   648  	// Optional
   649  	//
   650  	// NOTE: FFI_USE_IsVirtualCardEnrolled MUST be set to true to make this field effective.
   651  	IsVirtualCardEnrolled bool
   652  
   653  	FFI_USE_IsLocal                         bool // for IsLocal.
   654  	FFI_USE_IsCached                        bool // for IsCached.
   655  	FFI_USE_IsMigratable                    bool // for IsMigratable.
   656  	FFI_USE_IsVirtualCardEnrollmentEligible bool // for IsVirtualCardEnrollmentEligible.
   657  	FFI_USE_IsVirtualCardEnrolled           bool // for IsVirtualCardEnrolled.
   658  
   659  	FFI_USE bool
   660  }
   661  
   662  // FromRef calls UpdateFrom and returns a AutofillMetadata with all fields set.
   663  func (p AutofillMetadata) FromRef(ref js.Ref) AutofillMetadata {
   664  	p.UpdateFrom(ref)
   665  	return p
   666  }
   667  
   668  // New creates a new AutofillMetadata in the application heap.
   669  func (p AutofillMetadata) New() js.Ref {
   670  	return bindings.AutofillMetadataJSLoad(
   671  		js.Pointer(&p), js.True, 0,
   672  	)
   673  }
   674  
   675  // UpdateFrom copies value of all fields of the heap object to p.
   676  func (p *AutofillMetadata) UpdateFrom(ref js.Ref) {
   677  	bindings.AutofillMetadataJSStore(
   678  		js.Pointer(p), ref,
   679  	)
   680  }
   681  
   682  // Update writes all fields of the p to the heap object referenced by ref.
   683  func (p *AutofillMetadata) Update(ref js.Ref) {
   684  	bindings.AutofillMetadataJSLoad(
   685  		js.Pointer(p), js.False, ref,
   686  	)
   687  }
   688  
   689  // FreeMembers frees fields with heap reference, if recursive is true
   690  // free all heap references reachable from p.
   691  func (p *AutofillMetadata) FreeMembers(recursive bool) {
   692  	js.Free(
   693  		p.SummaryLabel.Ref(),
   694  		p.SummarySublabel.Ref(),
   695  	)
   696  	p.SummaryLabel = p.SummaryLabel.FromRef(js.Undefined)
   697  	p.SummarySublabel = p.SummarySublabel.FromRef(js.Undefined)
   698  }
   699  
   700  type AddressEntry struct {
   701  	// Guid is "AddressEntry.guid"
   702  	//
   703  	// Optional
   704  	Guid js.String
   705  	// Fields is "AddressEntry.fields"
   706  	//
   707  	// Optional
   708  	Fields js.Array[AddressField]
   709  	// LanguageCode is "AddressEntry.languageCode"
   710  	//
   711  	// Optional
   712  	LanguageCode js.String
   713  	// Metadata is "AddressEntry.metadata"
   714  	//
   715  	// Optional
   716  	//
   717  	// NOTE: Metadata.FFI_USE MUST be set to true to get Metadata used.
   718  	Metadata AutofillMetadata
   719  
   720  	FFI_USE bool
   721  }
   722  
   723  // FromRef calls UpdateFrom and returns a AddressEntry with all fields set.
   724  func (p AddressEntry) FromRef(ref js.Ref) AddressEntry {
   725  	p.UpdateFrom(ref)
   726  	return p
   727  }
   728  
   729  // New creates a new AddressEntry in the application heap.
   730  func (p AddressEntry) New() js.Ref {
   731  	return bindings.AddressEntryJSLoad(
   732  		js.Pointer(&p), js.True, 0,
   733  	)
   734  }
   735  
   736  // UpdateFrom copies value of all fields of the heap object to p.
   737  func (p *AddressEntry) UpdateFrom(ref js.Ref) {
   738  	bindings.AddressEntryJSStore(
   739  		js.Pointer(p), ref,
   740  	)
   741  }
   742  
   743  // Update writes all fields of the p to the heap object referenced by ref.
   744  func (p *AddressEntry) Update(ref js.Ref) {
   745  	bindings.AddressEntryJSLoad(
   746  		js.Pointer(p), js.False, ref,
   747  	)
   748  }
   749  
   750  // FreeMembers frees fields with heap reference, if recursive is true
   751  // free all heap references reachable from p.
   752  func (p *AddressEntry) FreeMembers(recursive bool) {
   753  	js.Free(
   754  		p.Guid.Ref(),
   755  		p.Fields.Ref(),
   756  		p.LanguageCode.Ref(),
   757  	)
   758  	p.Guid = p.Guid.FromRef(js.Undefined)
   759  	p.Fields = p.Fields.FromRef(js.Undefined)
   760  	p.LanguageCode = p.LanguageCode.FromRef(js.Undefined)
   761  	if recursive {
   762  		p.Metadata.FreeMembers(true)
   763  	}
   764  }
   765  
   766  type CheckForDeviceAuthCallbackFunc func(this js.Ref, isDeviceAuthAvailable bool) js.Ref
   767  
   768  func (fn CheckForDeviceAuthCallbackFunc) Register() js.Func[func(isDeviceAuthAvailable bool)] {
   769  	return js.RegisterCallback[func(isDeviceAuthAvailable bool)](
   770  		fn, abi.FuncPCABIInternal(fn),
   771  	)
   772  }
   773  
   774  func (fn CheckForDeviceAuthCallbackFunc) DispatchCallback(
   775  	targetPC uintptr, ctx *js.CallbackContext,
   776  ) {
   777  	args := ctx.Args()
   778  	if len(args) != 1+1 /* js this */ ||
   779  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
   780  		js.ThrowInvalidCallbackInvocation()
   781  	}
   782  
   783  	if ctx.Return(fn(
   784  		args[0],
   785  
   786  		args[0+1] == js.True,
   787  	)) {
   788  		return
   789  	}
   790  
   791  	js.ThrowCallbackValueNotReturned()
   792  }
   793  
   794  type CheckForDeviceAuthCallback[T any] struct {
   795  	Fn  func(arg T, this js.Ref, isDeviceAuthAvailable bool) js.Ref
   796  	Arg T
   797  }
   798  
   799  func (cb *CheckForDeviceAuthCallback[T]) Register() js.Func[func(isDeviceAuthAvailable bool)] {
   800  	return js.RegisterCallback[func(isDeviceAuthAvailable bool)](
   801  		cb, abi.FuncPCABIInternal(cb.Fn),
   802  	)
   803  }
   804  
   805  func (cb *CheckForDeviceAuthCallback[T]) DispatchCallback(
   806  	targetPC uintptr, ctx *js.CallbackContext,
   807  ) {
   808  	args := ctx.Args()
   809  	if len(args) != 1+1 /* js this */ ||
   810  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
   811  		js.ThrowInvalidCallbackInvocation()
   812  	}
   813  
   814  	if ctx.Return(cb.Fn(
   815  		cb.Arg,
   816  		args[0],
   817  
   818  		args[0+1] == js.True,
   819  	)) {
   820  		return
   821  	}
   822  
   823  	js.ThrowCallbackValueNotReturned()
   824  }
   825  
   826  type CheckForUserAuthCallbackFunc func(this js.Ref, isUserAuthSuccessful bool) js.Ref
   827  
   828  func (fn CheckForUserAuthCallbackFunc) Register() js.Func[func(isUserAuthSuccessful bool)] {
   829  	return js.RegisterCallback[func(isUserAuthSuccessful bool)](
   830  		fn, abi.FuncPCABIInternal(fn),
   831  	)
   832  }
   833  
   834  func (fn CheckForUserAuthCallbackFunc) DispatchCallback(
   835  	targetPC uintptr, ctx *js.CallbackContext,
   836  ) {
   837  	args := ctx.Args()
   838  	if len(args) != 1+1 /* js this */ ||
   839  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
   840  		js.ThrowInvalidCallbackInvocation()
   841  	}
   842  
   843  	if ctx.Return(fn(
   844  		args[0],
   845  
   846  		args[0+1] == js.True,
   847  	)) {
   848  		return
   849  	}
   850  
   851  	js.ThrowCallbackValueNotReturned()
   852  }
   853  
   854  type CheckForUserAuthCallback[T any] struct {
   855  	Fn  func(arg T, this js.Ref, isUserAuthSuccessful bool) js.Ref
   856  	Arg T
   857  }
   858  
   859  func (cb *CheckForUserAuthCallback[T]) Register() js.Func[func(isUserAuthSuccessful bool)] {
   860  	return js.RegisterCallback[func(isUserAuthSuccessful bool)](
   861  		cb, abi.FuncPCABIInternal(cb.Fn),
   862  	)
   863  }
   864  
   865  func (cb *CheckForUserAuthCallback[T]) DispatchCallback(
   866  	targetPC uintptr, ctx *js.CallbackContext,
   867  ) {
   868  	args := ctx.Args()
   869  	if len(args) != 1+1 /* js this */ ||
   870  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
   871  		js.ThrowInvalidCallbackInvocation()
   872  	}
   873  
   874  	if ctx.Return(cb.Fn(
   875  		cb.Arg,
   876  		args[0],
   877  
   878  		args[0+1] == js.True,
   879  	)) {
   880  		return
   881  	}
   882  
   883  	js.ThrowCallbackValueNotReturned()
   884  }
   885  
   886  type CountryEntry struct {
   887  	// Name is "CountryEntry.name"
   888  	//
   889  	// Optional
   890  	Name js.String
   891  	// CountryCode is "CountryEntry.countryCode"
   892  	//
   893  	// Optional
   894  	CountryCode js.String
   895  
   896  	FFI_USE bool
   897  }
   898  
   899  // FromRef calls UpdateFrom and returns a CountryEntry with all fields set.
   900  func (p CountryEntry) FromRef(ref js.Ref) CountryEntry {
   901  	p.UpdateFrom(ref)
   902  	return p
   903  }
   904  
   905  // New creates a new CountryEntry in the application heap.
   906  func (p CountryEntry) New() js.Ref {
   907  	return bindings.CountryEntryJSLoad(
   908  		js.Pointer(&p), js.True, 0,
   909  	)
   910  }
   911  
   912  // UpdateFrom copies value of all fields of the heap object to p.
   913  func (p *CountryEntry) UpdateFrom(ref js.Ref) {
   914  	bindings.CountryEntryJSStore(
   915  		js.Pointer(p), ref,
   916  	)
   917  }
   918  
   919  // Update writes all fields of the p to the heap object referenced by ref.
   920  func (p *CountryEntry) Update(ref js.Ref) {
   921  	bindings.CountryEntryJSLoad(
   922  		js.Pointer(p), js.False, ref,
   923  	)
   924  }
   925  
   926  // FreeMembers frees fields with heap reference, if recursive is true
   927  // free all heap references reachable from p.
   928  func (p *CountryEntry) FreeMembers(recursive bool) {
   929  	js.Free(
   930  		p.Name.Ref(),
   931  		p.CountryCode.Ref(),
   932  	)
   933  	p.Name = p.Name.FromRef(js.Undefined)
   934  	p.CountryCode = p.CountryCode.FromRef(js.Undefined)
   935  }
   936  
   937  type CreditCardEntry struct {
   938  	// Guid is "CreditCardEntry.guid"
   939  	//
   940  	// Optional
   941  	Guid js.String
   942  	// Name is "CreditCardEntry.name"
   943  	//
   944  	// Optional
   945  	Name js.String
   946  	// CardNumber is "CreditCardEntry.cardNumber"
   947  	//
   948  	// Optional
   949  	CardNumber js.String
   950  	// ExpirationMonth is "CreditCardEntry.expirationMonth"
   951  	//
   952  	// Optional
   953  	ExpirationMonth js.String
   954  	// ExpirationYear is "CreditCardEntry.expirationYear"
   955  	//
   956  	// Optional
   957  	ExpirationYear js.String
   958  	// Nickname is "CreditCardEntry.nickname"
   959  	//
   960  	// Optional
   961  	Nickname js.String
   962  	// Network is "CreditCardEntry.network"
   963  	//
   964  	// Optional
   965  	Network js.String
   966  	// ImageSrc is "CreditCardEntry.imageSrc"
   967  	//
   968  	// Optional
   969  	ImageSrc js.String
   970  	// Metadata is "CreditCardEntry.metadata"
   971  	//
   972  	// Optional
   973  	//
   974  	// NOTE: Metadata.FFI_USE MUST be set to true to get Metadata used.
   975  	Metadata AutofillMetadata
   976  
   977  	FFI_USE bool
   978  }
   979  
   980  // FromRef calls UpdateFrom and returns a CreditCardEntry with all fields set.
   981  func (p CreditCardEntry) FromRef(ref js.Ref) CreditCardEntry {
   982  	p.UpdateFrom(ref)
   983  	return p
   984  }
   985  
   986  // New creates a new CreditCardEntry in the application heap.
   987  func (p CreditCardEntry) New() js.Ref {
   988  	return bindings.CreditCardEntryJSLoad(
   989  		js.Pointer(&p), js.True, 0,
   990  	)
   991  }
   992  
   993  // UpdateFrom copies value of all fields of the heap object to p.
   994  func (p *CreditCardEntry) UpdateFrom(ref js.Ref) {
   995  	bindings.CreditCardEntryJSStore(
   996  		js.Pointer(p), ref,
   997  	)
   998  }
   999  
  1000  // Update writes all fields of the p to the heap object referenced by ref.
  1001  func (p *CreditCardEntry) Update(ref js.Ref) {
  1002  	bindings.CreditCardEntryJSLoad(
  1003  		js.Pointer(p), js.False, ref,
  1004  	)
  1005  }
  1006  
  1007  // FreeMembers frees fields with heap reference, if recursive is true
  1008  // free all heap references reachable from p.
  1009  func (p *CreditCardEntry) FreeMembers(recursive bool) {
  1010  	js.Free(
  1011  		p.Guid.Ref(),
  1012  		p.Name.Ref(),
  1013  		p.CardNumber.Ref(),
  1014  		p.ExpirationMonth.Ref(),
  1015  		p.ExpirationYear.Ref(),
  1016  		p.Nickname.Ref(),
  1017  		p.Network.Ref(),
  1018  		p.ImageSrc.Ref(),
  1019  	)
  1020  	p.Guid = p.Guid.FromRef(js.Undefined)
  1021  	p.Name = p.Name.FromRef(js.Undefined)
  1022  	p.CardNumber = p.CardNumber.FromRef(js.Undefined)
  1023  	p.ExpirationMonth = p.ExpirationMonth.FromRef(js.Undefined)
  1024  	p.ExpirationYear = p.ExpirationYear.FromRef(js.Undefined)
  1025  	p.Nickname = p.Nickname.FromRef(js.Undefined)
  1026  	p.Network = p.Network.FromRef(js.Undefined)
  1027  	p.ImageSrc = p.ImageSrc.FromRef(js.Undefined)
  1028  	if recursive {
  1029  		p.Metadata.FreeMembers(true)
  1030  	}
  1031  }
  1032  
  1033  type GetAccountInfoCallbackFunc func(this js.Ref, accountInfo *AccountInfo) js.Ref
  1034  
  1035  func (fn GetAccountInfoCallbackFunc) Register() js.Func[func(accountInfo *AccountInfo)] {
  1036  	return js.RegisterCallback[func(accountInfo *AccountInfo)](
  1037  		fn, abi.FuncPCABIInternal(fn),
  1038  	)
  1039  }
  1040  
  1041  func (fn GetAccountInfoCallbackFunc) DispatchCallback(
  1042  	targetPC uintptr, ctx *js.CallbackContext,
  1043  ) {
  1044  	args := ctx.Args()
  1045  	if len(args) != 1+1 /* js this */ ||
  1046  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
  1047  		js.ThrowInvalidCallbackInvocation()
  1048  	}
  1049  	var arg0 AccountInfo
  1050  	arg0.UpdateFrom(args[0+1])
  1051  	defer arg0.FreeMembers(true)
  1052  
  1053  	if ctx.Return(fn(
  1054  		args[0],
  1055  
  1056  		mark.NoEscape(&arg0),
  1057  	)) {
  1058  		return
  1059  	}
  1060  
  1061  	js.ThrowCallbackValueNotReturned()
  1062  }
  1063  
  1064  type GetAccountInfoCallback[T any] struct {
  1065  	Fn  func(arg T, this js.Ref, accountInfo *AccountInfo) js.Ref
  1066  	Arg T
  1067  }
  1068  
  1069  func (cb *GetAccountInfoCallback[T]) Register() js.Func[func(accountInfo *AccountInfo)] {
  1070  	return js.RegisterCallback[func(accountInfo *AccountInfo)](
  1071  		cb, abi.FuncPCABIInternal(cb.Fn),
  1072  	)
  1073  }
  1074  
  1075  func (cb *GetAccountInfoCallback[T]) DispatchCallback(
  1076  	targetPC uintptr, ctx *js.CallbackContext,
  1077  ) {
  1078  	args := ctx.Args()
  1079  	if len(args) != 1+1 /* js this */ ||
  1080  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
  1081  		js.ThrowInvalidCallbackInvocation()
  1082  	}
  1083  	var arg0 AccountInfo
  1084  	arg0.UpdateFrom(args[0+1])
  1085  	defer arg0.FreeMembers(true)
  1086  
  1087  	if ctx.Return(cb.Fn(
  1088  		cb.Arg,
  1089  		args[0],
  1090  
  1091  		mark.NoEscape(&arg0),
  1092  	)) {
  1093  		return
  1094  	}
  1095  
  1096  	js.ThrowCallbackValueNotReturned()
  1097  }
  1098  
  1099  type GetAddressComponentsCallbackFunc func(this js.Ref, components *AddressComponents) js.Ref
  1100  
  1101  func (fn GetAddressComponentsCallbackFunc) Register() js.Func[func(components *AddressComponents)] {
  1102  	return js.RegisterCallback[func(components *AddressComponents)](
  1103  		fn, abi.FuncPCABIInternal(fn),
  1104  	)
  1105  }
  1106  
  1107  func (fn GetAddressComponentsCallbackFunc) DispatchCallback(
  1108  	targetPC uintptr, ctx *js.CallbackContext,
  1109  ) {
  1110  	args := ctx.Args()
  1111  	if len(args) != 1+1 /* js this */ ||
  1112  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
  1113  		js.ThrowInvalidCallbackInvocation()
  1114  	}
  1115  	var arg0 AddressComponents
  1116  	arg0.UpdateFrom(args[0+1])
  1117  	defer arg0.FreeMembers(true)
  1118  
  1119  	if ctx.Return(fn(
  1120  		args[0],
  1121  
  1122  		mark.NoEscape(&arg0),
  1123  	)) {
  1124  		return
  1125  	}
  1126  
  1127  	js.ThrowCallbackValueNotReturned()
  1128  }
  1129  
  1130  type GetAddressComponentsCallback[T any] struct {
  1131  	Fn  func(arg T, this js.Ref, components *AddressComponents) js.Ref
  1132  	Arg T
  1133  }
  1134  
  1135  func (cb *GetAddressComponentsCallback[T]) Register() js.Func[func(components *AddressComponents)] {
  1136  	return js.RegisterCallback[func(components *AddressComponents)](
  1137  		cb, abi.FuncPCABIInternal(cb.Fn),
  1138  	)
  1139  }
  1140  
  1141  func (cb *GetAddressComponentsCallback[T]) DispatchCallback(
  1142  	targetPC uintptr, ctx *js.CallbackContext,
  1143  ) {
  1144  	args := ctx.Args()
  1145  	if len(args) != 1+1 /* js this */ ||
  1146  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
  1147  		js.ThrowInvalidCallbackInvocation()
  1148  	}
  1149  	var arg0 AddressComponents
  1150  	arg0.UpdateFrom(args[0+1])
  1151  	defer arg0.FreeMembers(true)
  1152  
  1153  	if ctx.Return(cb.Fn(
  1154  		cb.Arg,
  1155  		args[0],
  1156  
  1157  		mark.NoEscape(&arg0),
  1158  	)) {
  1159  		return
  1160  	}
  1161  
  1162  	js.ThrowCallbackValueNotReturned()
  1163  }
  1164  
  1165  type GetAddressListCallbackFunc func(this js.Ref, entries js.Array[AddressEntry]) js.Ref
  1166  
  1167  func (fn GetAddressListCallbackFunc) Register() js.Func[func(entries js.Array[AddressEntry])] {
  1168  	return js.RegisterCallback[func(entries js.Array[AddressEntry])](
  1169  		fn, abi.FuncPCABIInternal(fn),
  1170  	)
  1171  }
  1172  
  1173  func (fn GetAddressListCallbackFunc) DispatchCallback(
  1174  	targetPC uintptr, ctx *js.CallbackContext,
  1175  ) {
  1176  	args := ctx.Args()
  1177  	if len(args) != 1+1 /* js this */ ||
  1178  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
  1179  		js.ThrowInvalidCallbackInvocation()
  1180  	}
  1181  
  1182  	if ctx.Return(fn(
  1183  		args[0],
  1184  
  1185  		js.Array[AddressEntry]{}.FromRef(args[0+1]),
  1186  	)) {
  1187  		return
  1188  	}
  1189  
  1190  	js.ThrowCallbackValueNotReturned()
  1191  }
  1192  
  1193  type GetAddressListCallback[T any] struct {
  1194  	Fn  func(arg T, this js.Ref, entries js.Array[AddressEntry]) js.Ref
  1195  	Arg T
  1196  }
  1197  
  1198  func (cb *GetAddressListCallback[T]) Register() js.Func[func(entries js.Array[AddressEntry])] {
  1199  	return js.RegisterCallback[func(entries js.Array[AddressEntry])](
  1200  		cb, abi.FuncPCABIInternal(cb.Fn),
  1201  	)
  1202  }
  1203  
  1204  func (cb *GetAddressListCallback[T]) DispatchCallback(
  1205  	targetPC uintptr, ctx *js.CallbackContext,
  1206  ) {
  1207  	args := ctx.Args()
  1208  	if len(args) != 1+1 /* js this */ ||
  1209  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
  1210  		js.ThrowInvalidCallbackInvocation()
  1211  	}
  1212  
  1213  	if ctx.Return(cb.Fn(
  1214  		cb.Arg,
  1215  		args[0],
  1216  
  1217  		js.Array[AddressEntry]{}.FromRef(args[0+1]),
  1218  	)) {
  1219  		return
  1220  	}
  1221  
  1222  	js.ThrowCallbackValueNotReturned()
  1223  }
  1224  
  1225  type GetCountryListCallbackFunc func(this js.Ref, countries js.Array[CountryEntry]) js.Ref
  1226  
  1227  func (fn GetCountryListCallbackFunc) Register() js.Func[func(countries js.Array[CountryEntry])] {
  1228  	return js.RegisterCallback[func(countries js.Array[CountryEntry])](
  1229  		fn, abi.FuncPCABIInternal(fn),
  1230  	)
  1231  }
  1232  
  1233  func (fn GetCountryListCallbackFunc) DispatchCallback(
  1234  	targetPC uintptr, ctx *js.CallbackContext,
  1235  ) {
  1236  	args := ctx.Args()
  1237  	if len(args) != 1+1 /* js this */ ||
  1238  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
  1239  		js.ThrowInvalidCallbackInvocation()
  1240  	}
  1241  
  1242  	if ctx.Return(fn(
  1243  		args[0],
  1244  
  1245  		js.Array[CountryEntry]{}.FromRef(args[0+1]),
  1246  	)) {
  1247  		return
  1248  	}
  1249  
  1250  	js.ThrowCallbackValueNotReturned()
  1251  }
  1252  
  1253  type GetCountryListCallback[T any] struct {
  1254  	Fn  func(arg T, this js.Ref, countries js.Array[CountryEntry]) js.Ref
  1255  	Arg T
  1256  }
  1257  
  1258  func (cb *GetCountryListCallback[T]) Register() js.Func[func(countries js.Array[CountryEntry])] {
  1259  	return js.RegisterCallback[func(countries js.Array[CountryEntry])](
  1260  		cb, abi.FuncPCABIInternal(cb.Fn),
  1261  	)
  1262  }
  1263  
  1264  func (cb *GetCountryListCallback[T]) DispatchCallback(
  1265  	targetPC uintptr, ctx *js.CallbackContext,
  1266  ) {
  1267  	args := ctx.Args()
  1268  	if len(args) != 1+1 /* js this */ ||
  1269  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
  1270  		js.ThrowInvalidCallbackInvocation()
  1271  	}
  1272  
  1273  	if ctx.Return(cb.Fn(
  1274  		cb.Arg,
  1275  		args[0],
  1276  
  1277  		js.Array[CountryEntry]{}.FromRef(args[0+1]),
  1278  	)) {
  1279  		return
  1280  	}
  1281  
  1282  	js.ThrowCallbackValueNotReturned()
  1283  }
  1284  
  1285  type GetCreditCardListCallbackFunc func(this js.Ref, entries js.Array[CreditCardEntry]) js.Ref
  1286  
  1287  func (fn GetCreditCardListCallbackFunc) Register() js.Func[func(entries js.Array[CreditCardEntry])] {
  1288  	return js.RegisterCallback[func(entries js.Array[CreditCardEntry])](
  1289  		fn, abi.FuncPCABIInternal(fn),
  1290  	)
  1291  }
  1292  
  1293  func (fn GetCreditCardListCallbackFunc) DispatchCallback(
  1294  	targetPC uintptr, ctx *js.CallbackContext,
  1295  ) {
  1296  	args := ctx.Args()
  1297  	if len(args) != 1+1 /* js this */ ||
  1298  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
  1299  		js.ThrowInvalidCallbackInvocation()
  1300  	}
  1301  
  1302  	if ctx.Return(fn(
  1303  		args[0],
  1304  
  1305  		js.Array[CreditCardEntry]{}.FromRef(args[0+1]),
  1306  	)) {
  1307  		return
  1308  	}
  1309  
  1310  	js.ThrowCallbackValueNotReturned()
  1311  }
  1312  
  1313  type GetCreditCardListCallback[T any] struct {
  1314  	Fn  func(arg T, this js.Ref, entries js.Array[CreditCardEntry]) js.Ref
  1315  	Arg T
  1316  }
  1317  
  1318  func (cb *GetCreditCardListCallback[T]) Register() js.Func[func(entries js.Array[CreditCardEntry])] {
  1319  	return js.RegisterCallback[func(entries js.Array[CreditCardEntry])](
  1320  		cb, abi.FuncPCABIInternal(cb.Fn),
  1321  	)
  1322  }
  1323  
  1324  func (cb *GetCreditCardListCallback[T]) DispatchCallback(
  1325  	targetPC uintptr, ctx *js.CallbackContext,
  1326  ) {
  1327  	args := ctx.Args()
  1328  	if len(args) != 1+1 /* js this */ ||
  1329  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
  1330  		js.ThrowInvalidCallbackInvocation()
  1331  	}
  1332  
  1333  	if ctx.Return(cb.Fn(
  1334  		cb.Arg,
  1335  		args[0],
  1336  
  1337  		js.Array[CreditCardEntry]{}.FromRef(args[0+1]),
  1338  	)) {
  1339  		return
  1340  	}
  1341  
  1342  	js.ThrowCallbackValueNotReturned()
  1343  }
  1344  
  1345  type GetIbanListCallbackFunc func(this js.Ref, entries js.Array[IbanEntry]) js.Ref
  1346  
  1347  func (fn GetIbanListCallbackFunc) Register() js.Func[func(entries js.Array[IbanEntry])] {
  1348  	return js.RegisterCallback[func(entries js.Array[IbanEntry])](
  1349  		fn, abi.FuncPCABIInternal(fn),
  1350  	)
  1351  }
  1352  
  1353  func (fn GetIbanListCallbackFunc) DispatchCallback(
  1354  	targetPC uintptr, ctx *js.CallbackContext,
  1355  ) {
  1356  	args := ctx.Args()
  1357  	if len(args) != 1+1 /* js this */ ||
  1358  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
  1359  		js.ThrowInvalidCallbackInvocation()
  1360  	}
  1361  
  1362  	if ctx.Return(fn(
  1363  		args[0],
  1364  
  1365  		js.Array[IbanEntry]{}.FromRef(args[0+1]),
  1366  	)) {
  1367  		return
  1368  	}
  1369  
  1370  	js.ThrowCallbackValueNotReturned()
  1371  }
  1372  
  1373  type GetIbanListCallback[T any] struct {
  1374  	Fn  func(arg T, this js.Ref, entries js.Array[IbanEntry]) js.Ref
  1375  	Arg T
  1376  }
  1377  
  1378  func (cb *GetIbanListCallback[T]) Register() js.Func[func(entries js.Array[IbanEntry])] {
  1379  	return js.RegisterCallback[func(entries js.Array[IbanEntry])](
  1380  		cb, abi.FuncPCABIInternal(cb.Fn),
  1381  	)
  1382  }
  1383  
  1384  func (cb *GetIbanListCallback[T]) DispatchCallback(
  1385  	targetPC uintptr, ctx *js.CallbackContext,
  1386  ) {
  1387  	args := ctx.Args()
  1388  	if len(args) != 1+1 /* js this */ ||
  1389  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
  1390  		js.ThrowInvalidCallbackInvocation()
  1391  	}
  1392  
  1393  	if ctx.Return(cb.Fn(
  1394  		cb.Arg,
  1395  		args[0],
  1396  
  1397  		js.Array[IbanEntry]{}.FromRef(args[0+1]),
  1398  	)) {
  1399  		return
  1400  	}
  1401  
  1402  	js.ThrowCallbackValueNotReturned()
  1403  }
  1404  
  1405  type IbanEntry struct {
  1406  	// Guid is "IbanEntry.guid"
  1407  	//
  1408  	// Optional
  1409  	Guid js.String
  1410  	// Value is "IbanEntry.value"
  1411  	//
  1412  	// Optional
  1413  	Value js.String
  1414  	// Nickname is "IbanEntry.nickname"
  1415  	//
  1416  	// Optional
  1417  	Nickname js.String
  1418  	// Metadata is "IbanEntry.metadata"
  1419  	//
  1420  	// Optional
  1421  	//
  1422  	// NOTE: Metadata.FFI_USE MUST be set to true to get Metadata used.
  1423  	Metadata AutofillMetadata
  1424  
  1425  	FFI_USE bool
  1426  }
  1427  
  1428  // FromRef calls UpdateFrom and returns a IbanEntry with all fields set.
  1429  func (p IbanEntry) FromRef(ref js.Ref) IbanEntry {
  1430  	p.UpdateFrom(ref)
  1431  	return p
  1432  }
  1433  
  1434  // New creates a new IbanEntry in the application heap.
  1435  func (p IbanEntry) New() js.Ref {
  1436  	return bindings.IbanEntryJSLoad(
  1437  		js.Pointer(&p), js.True, 0,
  1438  	)
  1439  }
  1440  
  1441  // UpdateFrom copies value of all fields of the heap object to p.
  1442  func (p *IbanEntry) UpdateFrom(ref js.Ref) {
  1443  	bindings.IbanEntryJSStore(
  1444  		js.Pointer(p), ref,
  1445  	)
  1446  }
  1447  
  1448  // Update writes all fields of the p to the heap object referenced by ref.
  1449  func (p *IbanEntry) Update(ref js.Ref) {
  1450  	bindings.IbanEntryJSLoad(
  1451  		js.Pointer(p), js.False, ref,
  1452  	)
  1453  }
  1454  
  1455  // FreeMembers frees fields with heap reference, if recursive is true
  1456  // free all heap references reachable from p.
  1457  func (p *IbanEntry) FreeMembers(recursive bool) {
  1458  	js.Free(
  1459  		p.Guid.Ref(),
  1460  		p.Value.Ref(),
  1461  		p.Nickname.Ref(),
  1462  	)
  1463  	p.Guid = p.Guid.FromRef(js.Undefined)
  1464  	p.Value = p.Value.FromRef(js.Undefined)
  1465  	p.Nickname = p.Nickname.FromRef(js.Undefined)
  1466  	if recursive {
  1467  		p.Metadata.FreeMembers(true)
  1468  	}
  1469  }
  1470  
  1471  type IsValidIbanCallbackFunc func(this js.Ref, isValid bool) js.Ref
  1472  
  1473  func (fn IsValidIbanCallbackFunc) Register() js.Func[func(isValid bool)] {
  1474  	return js.RegisterCallback[func(isValid bool)](
  1475  		fn, abi.FuncPCABIInternal(fn),
  1476  	)
  1477  }
  1478  
  1479  func (fn IsValidIbanCallbackFunc) DispatchCallback(
  1480  	targetPC uintptr, ctx *js.CallbackContext,
  1481  ) {
  1482  	args := ctx.Args()
  1483  	if len(args) != 1+1 /* js this */ ||
  1484  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
  1485  		js.ThrowInvalidCallbackInvocation()
  1486  	}
  1487  
  1488  	if ctx.Return(fn(
  1489  		args[0],
  1490  
  1491  		args[0+1] == js.True,
  1492  	)) {
  1493  		return
  1494  	}
  1495  
  1496  	js.ThrowCallbackValueNotReturned()
  1497  }
  1498  
  1499  type IsValidIbanCallback[T any] struct {
  1500  	Fn  func(arg T, this js.Ref, isValid bool) js.Ref
  1501  	Arg T
  1502  }
  1503  
  1504  func (cb *IsValidIbanCallback[T]) Register() js.Func[func(isValid bool)] {
  1505  	return js.RegisterCallback[func(isValid bool)](
  1506  		cb, abi.FuncPCABIInternal(cb.Fn),
  1507  	)
  1508  }
  1509  
  1510  func (cb *IsValidIbanCallback[T]) DispatchCallback(
  1511  	targetPC uintptr, ctx *js.CallbackContext,
  1512  ) {
  1513  	args := ctx.Args()
  1514  	if len(args) != 1+1 /* js this */ ||
  1515  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
  1516  		js.ThrowInvalidCallbackInvocation()
  1517  	}
  1518  
  1519  	if ctx.Return(cb.Fn(
  1520  		cb.Arg,
  1521  		args[0],
  1522  
  1523  		args[0+1] == js.True,
  1524  	)) {
  1525  		return
  1526  	}
  1527  
  1528  	js.ThrowCallbackValueNotReturned()
  1529  }
  1530  
  1531  // HasFuncAddVirtualCard returns true if the function "WEBEXT.autofillPrivate.addVirtualCard" exists.
  1532  func HasFuncAddVirtualCard() bool {
  1533  	return js.True == bindings.HasFuncAddVirtualCard()
  1534  }
  1535  
  1536  // FuncAddVirtualCard returns the function "WEBEXT.autofillPrivate.addVirtualCard".
  1537  func FuncAddVirtualCard() (fn js.Func[func(cardId js.String)]) {
  1538  	bindings.FuncAddVirtualCard(
  1539  		js.Pointer(&fn),
  1540  	)
  1541  	return
  1542  }
  1543  
  1544  // AddVirtualCard calls the function "WEBEXT.autofillPrivate.addVirtualCard" directly.
  1545  func AddVirtualCard(cardId js.String) (ret js.Void) {
  1546  	bindings.CallAddVirtualCard(
  1547  		js.Pointer(&ret),
  1548  		cardId.Ref(),
  1549  	)
  1550  
  1551  	return
  1552  }
  1553  
  1554  // TryAddVirtualCard calls the function "WEBEXT.autofillPrivate.addVirtualCard"
  1555  // in a try/catch block and returns (_, err, ok = false) when it went through
  1556  // the catch clause.
  1557  func TryAddVirtualCard(cardId js.String) (ret js.Void, exception js.Any, ok bool) {
  1558  	ok = js.True == bindings.TryAddVirtualCard(
  1559  		js.Pointer(&ret), js.Pointer(&exception),
  1560  		cardId.Ref(),
  1561  	)
  1562  
  1563  	return
  1564  }
  1565  
  1566  // HasFuncAuthenticateUserAndFlipMandatoryAuthToggle returns true if the function "WEBEXT.autofillPrivate.authenticateUserAndFlipMandatoryAuthToggle" exists.
  1567  func HasFuncAuthenticateUserAndFlipMandatoryAuthToggle() bool {
  1568  	return js.True == bindings.HasFuncAuthenticateUserAndFlipMandatoryAuthToggle()
  1569  }
  1570  
  1571  // FuncAuthenticateUserAndFlipMandatoryAuthToggle returns the function "WEBEXT.autofillPrivate.authenticateUserAndFlipMandatoryAuthToggle".
  1572  func FuncAuthenticateUserAndFlipMandatoryAuthToggle() (fn js.Func[func()]) {
  1573  	bindings.FuncAuthenticateUserAndFlipMandatoryAuthToggle(
  1574  		js.Pointer(&fn),
  1575  	)
  1576  	return
  1577  }
  1578  
  1579  // AuthenticateUserAndFlipMandatoryAuthToggle calls the function "WEBEXT.autofillPrivate.authenticateUserAndFlipMandatoryAuthToggle" directly.
  1580  func AuthenticateUserAndFlipMandatoryAuthToggle() (ret js.Void) {
  1581  	bindings.CallAuthenticateUserAndFlipMandatoryAuthToggle(
  1582  		js.Pointer(&ret),
  1583  	)
  1584  
  1585  	return
  1586  }
  1587  
  1588  // TryAuthenticateUserAndFlipMandatoryAuthToggle calls the function "WEBEXT.autofillPrivate.authenticateUserAndFlipMandatoryAuthToggle"
  1589  // in a try/catch block and returns (_, err, ok = false) when it went through
  1590  // the catch clause.
  1591  func TryAuthenticateUserAndFlipMandatoryAuthToggle() (ret js.Void, exception js.Any, ok bool) {
  1592  	ok = js.True == bindings.TryAuthenticateUserAndFlipMandatoryAuthToggle(
  1593  		js.Pointer(&ret), js.Pointer(&exception),
  1594  	)
  1595  
  1596  	return
  1597  }
  1598  
  1599  // HasFuncAuthenticateUserToEditLocalCard returns true if the function "WEBEXT.autofillPrivate.authenticateUserToEditLocalCard" exists.
  1600  func HasFuncAuthenticateUserToEditLocalCard() bool {
  1601  	return js.True == bindings.HasFuncAuthenticateUserToEditLocalCard()
  1602  }
  1603  
  1604  // FuncAuthenticateUserToEditLocalCard returns the function "WEBEXT.autofillPrivate.authenticateUserToEditLocalCard".
  1605  func FuncAuthenticateUserToEditLocalCard() (fn js.Func[func() js.Promise[js.Boolean]]) {
  1606  	bindings.FuncAuthenticateUserToEditLocalCard(
  1607  		js.Pointer(&fn),
  1608  	)
  1609  	return
  1610  }
  1611  
  1612  // AuthenticateUserToEditLocalCard calls the function "WEBEXT.autofillPrivate.authenticateUserToEditLocalCard" directly.
  1613  func AuthenticateUserToEditLocalCard() (ret js.Promise[js.Boolean]) {
  1614  	bindings.CallAuthenticateUserToEditLocalCard(
  1615  		js.Pointer(&ret),
  1616  	)
  1617  
  1618  	return
  1619  }
  1620  
  1621  // TryAuthenticateUserToEditLocalCard calls the function "WEBEXT.autofillPrivate.authenticateUserToEditLocalCard"
  1622  // in a try/catch block and returns (_, err, ok = false) when it went through
  1623  // the catch clause.
  1624  func TryAuthenticateUserToEditLocalCard() (ret js.Promise[js.Boolean], exception js.Any, ok bool) {
  1625  	ok = js.True == bindings.TryAuthenticateUserToEditLocalCard(
  1626  		js.Pointer(&ret), js.Pointer(&exception),
  1627  	)
  1628  
  1629  	return
  1630  }
  1631  
  1632  // HasFuncCheckIfDeviceAuthAvailable returns true if the function "WEBEXT.autofillPrivate.checkIfDeviceAuthAvailable" exists.
  1633  func HasFuncCheckIfDeviceAuthAvailable() bool {
  1634  	return js.True == bindings.HasFuncCheckIfDeviceAuthAvailable()
  1635  }
  1636  
  1637  // FuncCheckIfDeviceAuthAvailable returns the function "WEBEXT.autofillPrivate.checkIfDeviceAuthAvailable".
  1638  func FuncCheckIfDeviceAuthAvailable() (fn js.Func[func() js.Promise[js.Boolean]]) {
  1639  	bindings.FuncCheckIfDeviceAuthAvailable(
  1640  		js.Pointer(&fn),
  1641  	)
  1642  	return
  1643  }
  1644  
  1645  // CheckIfDeviceAuthAvailable calls the function "WEBEXT.autofillPrivate.checkIfDeviceAuthAvailable" directly.
  1646  func CheckIfDeviceAuthAvailable() (ret js.Promise[js.Boolean]) {
  1647  	bindings.CallCheckIfDeviceAuthAvailable(
  1648  		js.Pointer(&ret),
  1649  	)
  1650  
  1651  	return
  1652  }
  1653  
  1654  // TryCheckIfDeviceAuthAvailable calls the function "WEBEXT.autofillPrivate.checkIfDeviceAuthAvailable"
  1655  // in a try/catch block and returns (_, err, ok = false) when it went through
  1656  // the catch clause.
  1657  func TryCheckIfDeviceAuthAvailable() (ret js.Promise[js.Boolean], exception js.Any, ok bool) {
  1658  	ok = js.True == bindings.TryCheckIfDeviceAuthAvailable(
  1659  		js.Pointer(&ret), js.Pointer(&exception),
  1660  	)
  1661  
  1662  	return
  1663  }
  1664  
  1665  // HasFuncGetAccountInfo returns true if the function "WEBEXT.autofillPrivate.getAccountInfo" exists.
  1666  func HasFuncGetAccountInfo() bool {
  1667  	return js.True == bindings.HasFuncGetAccountInfo()
  1668  }
  1669  
  1670  // FuncGetAccountInfo returns the function "WEBEXT.autofillPrivate.getAccountInfo".
  1671  func FuncGetAccountInfo() (fn js.Func[func() js.Promise[AccountInfo]]) {
  1672  	bindings.FuncGetAccountInfo(
  1673  		js.Pointer(&fn),
  1674  	)
  1675  	return
  1676  }
  1677  
  1678  // GetAccountInfo calls the function "WEBEXT.autofillPrivate.getAccountInfo" directly.
  1679  func GetAccountInfo() (ret js.Promise[AccountInfo]) {
  1680  	bindings.CallGetAccountInfo(
  1681  		js.Pointer(&ret),
  1682  	)
  1683  
  1684  	return
  1685  }
  1686  
  1687  // TryGetAccountInfo calls the function "WEBEXT.autofillPrivate.getAccountInfo"
  1688  // in a try/catch block and returns (_, err, ok = false) when it went through
  1689  // the catch clause.
  1690  func TryGetAccountInfo() (ret js.Promise[AccountInfo], exception js.Any, ok bool) {
  1691  	ok = js.True == bindings.TryGetAccountInfo(
  1692  		js.Pointer(&ret), js.Pointer(&exception),
  1693  	)
  1694  
  1695  	return
  1696  }
  1697  
  1698  // HasFuncGetAddressComponents returns true if the function "WEBEXT.autofillPrivate.getAddressComponents" exists.
  1699  func HasFuncGetAddressComponents() bool {
  1700  	return js.True == bindings.HasFuncGetAddressComponents()
  1701  }
  1702  
  1703  // FuncGetAddressComponents returns the function "WEBEXT.autofillPrivate.getAddressComponents".
  1704  func FuncGetAddressComponents() (fn js.Func[func(countryCode js.String) js.Promise[AddressComponents]]) {
  1705  	bindings.FuncGetAddressComponents(
  1706  		js.Pointer(&fn),
  1707  	)
  1708  	return
  1709  }
  1710  
  1711  // GetAddressComponents calls the function "WEBEXT.autofillPrivate.getAddressComponents" directly.
  1712  func GetAddressComponents(countryCode js.String) (ret js.Promise[AddressComponents]) {
  1713  	bindings.CallGetAddressComponents(
  1714  		js.Pointer(&ret),
  1715  		countryCode.Ref(),
  1716  	)
  1717  
  1718  	return
  1719  }
  1720  
  1721  // TryGetAddressComponents calls the function "WEBEXT.autofillPrivate.getAddressComponents"
  1722  // in a try/catch block and returns (_, err, ok = false) when it went through
  1723  // the catch clause.
  1724  func TryGetAddressComponents(countryCode js.String) (ret js.Promise[AddressComponents], exception js.Any, ok bool) {
  1725  	ok = js.True == bindings.TryGetAddressComponents(
  1726  		js.Pointer(&ret), js.Pointer(&exception),
  1727  		countryCode.Ref(),
  1728  	)
  1729  
  1730  	return
  1731  }
  1732  
  1733  // HasFuncGetAddressList returns true if the function "WEBEXT.autofillPrivate.getAddressList" exists.
  1734  func HasFuncGetAddressList() bool {
  1735  	return js.True == bindings.HasFuncGetAddressList()
  1736  }
  1737  
  1738  // FuncGetAddressList returns the function "WEBEXT.autofillPrivate.getAddressList".
  1739  func FuncGetAddressList() (fn js.Func[func() js.Promise[js.Array[AddressEntry]]]) {
  1740  	bindings.FuncGetAddressList(
  1741  		js.Pointer(&fn),
  1742  	)
  1743  	return
  1744  }
  1745  
  1746  // GetAddressList calls the function "WEBEXT.autofillPrivate.getAddressList" directly.
  1747  func GetAddressList() (ret js.Promise[js.Array[AddressEntry]]) {
  1748  	bindings.CallGetAddressList(
  1749  		js.Pointer(&ret),
  1750  	)
  1751  
  1752  	return
  1753  }
  1754  
  1755  // TryGetAddressList calls the function "WEBEXT.autofillPrivate.getAddressList"
  1756  // in a try/catch block and returns (_, err, ok = false) when it went through
  1757  // the catch clause.
  1758  func TryGetAddressList() (ret js.Promise[js.Array[AddressEntry]], exception js.Any, ok bool) {
  1759  	ok = js.True == bindings.TryGetAddressList(
  1760  		js.Pointer(&ret), js.Pointer(&exception),
  1761  	)
  1762  
  1763  	return
  1764  }
  1765  
  1766  // HasFuncGetCountryList returns true if the function "WEBEXT.autofillPrivate.getCountryList" exists.
  1767  func HasFuncGetCountryList() bool {
  1768  	return js.True == bindings.HasFuncGetCountryList()
  1769  }
  1770  
  1771  // FuncGetCountryList returns the function "WEBEXT.autofillPrivate.getCountryList".
  1772  func FuncGetCountryList() (fn js.Func[func() js.Promise[js.Array[CountryEntry]]]) {
  1773  	bindings.FuncGetCountryList(
  1774  		js.Pointer(&fn),
  1775  	)
  1776  	return
  1777  }
  1778  
  1779  // GetCountryList calls the function "WEBEXT.autofillPrivate.getCountryList" directly.
  1780  func GetCountryList() (ret js.Promise[js.Array[CountryEntry]]) {
  1781  	bindings.CallGetCountryList(
  1782  		js.Pointer(&ret),
  1783  	)
  1784  
  1785  	return
  1786  }
  1787  
  1788  // TryGetCountryList calls the function "WEBEXT.autofillPrivate.getCountryList"
  1789  // in a try/catch block and returns (_, err, ok = false) when it went through
  1790  // the catch clause.
  1791  func TryGetCountryList() (ret js.Promise[js.Array[CountryEntry]], exception js.Any, ok bool) {
  1792  	ok = js.True == bindings.TryGetCountryList(
  1793  		js.Pointer(&ret), js.Pointer(&exception),
  1794  	)
  1795  
  1796  	return
  1797  }
  1798  
  1799  // HasFuncGetCreditCardList returns true if the function "WEBEXT.autofillPrivate.getCreditCardList" exists.
  1800  func HasFuncGetCreditCardList() bool {
  1801  	return js.True == bindings.HasFuncGetCreditCardList()
  1802  }
  1803  
  1804  // FuncGetCreditCardList returns the function "WEBEXT.autofillPrivate.getCreditCardList".
  1805  func FuncGetCreditCardList() (fn js.Func[func() js.Promise[js.Array[CreditCardEntry]]]) {
  1806  	bindings.FuncGetCreditCardList(
  1807  		js.Pointer(&fn),
  1808  	)
  1809  	return
  1810  }
  1811  
  1812  // GetCreditCardList calls the function "WEBEXT.autofillPrivate.getCreditCardList" directly.
  1813  func GetCreditCardList() (ret js.Promise[js.Array[CreditCardEntry]]) {
  1814  	bindings.CallGetCreditCardList(
  1815  		js.Pointer(&ret),
  1816  	)
  1817  
  1818  	return
  1819  }
  1820  
  1821  // TryGetCreditCardList calls the function "WEBEXT.autofillPrivate.getCreditCardList"
  1822  // in a try/catch block and returns (_, err, ok = false) when it went through
  1823  // the catch clause.
  1824  func TryGetCreditCardList() (ret js.Promise[js.Array[CreditCardEntry]], exception js.Any, ok bool) {
  1825  	ok = js.True == bindings.TryGetCreditCardList(
  1826  		js.Pointer(&ret), js.Pointer(&exception),
  1827  	)
  1828  
  1829  	return
  1830  }
  1831  
  1832  // HasFuncGetIbanList returns true if the function "WEBEXT.autofillPrivate.getIbanList" exists.
  1833  func HasFuncGetIbanList() bool {
  1834  	return js.True == bindings.HasFuncGetIbanList()
  1835  }
  1836  
  1837  // FuncGetIbanList returns the function "WEBEXT.autofillPrivate.getIbanList".
  1838  func FuncGetIbanList() (fn js.Func[func() js.Promise[js.Array[IbanEntry]]]) {
  1839  	bindings.FuncGetIbanList(
  1840  		js.Pointer(&fn),
  1841  	)
  1842  	return
  1843  }
  1844  
  1845  // GetIbanList calls the function "WEBEXT.autofillPrivate.getIbanList" directly.
  1846  func GetIbanList() (ret js.Promise[js.Array[IbanEntry]]) {
  1847  	bindings.CallGetIbanList(
  1848  		js.Pointer(&ret),
  1849  	)
  1850  
  1851  	return
  1852  }
  1853  
  1854  // TryGetIbanList calls the function "WEBEXT.autofillPrivate.getIbanList"
  1855  // in a try/catch block and returns (_, err, ok = false) when it went through
  1856  // the catch clause.
  1857  func TryGetIbanList() (ret js.Promise[js.Array[IbanEntry]], exception js.Any, ok bool) {
  1858  	ok = js.True == bindings.TryGetIbanList(
  1859  		js.Pointer(&ret), js.Pointer(&exception),
  1860  	)
  1861  
  1862  	return
  1863  }
  1864  
  1865  // HasFuncIsValidIban returns true if the function "WEBEXT.autofillPrivate.isValidIban" exists.
  1866  func HasFuncIsValidIban() bool {
  1867  	return js.True == bindings.HasFuncIsValidIban()
  1868  }
  1869  
  1870  // FuncIsValidIban returns the function "WEBEXT.autofillPrivate.isValidIban".
  1871  func FuncIsValidIban() (fn js.Func[func(ibanValue js.String) js.Promise[js.Boolean]]) {
  1872  	bindings.FuncIsValidIban(
  1873  		js.Pointer(&fn),
  1874  	)
  1875  	return
  1876  }
  1877  
  1878  // IsValidIban calls the function "WEBEXT.autofillPrivate.isValidIban" directly.
  1879  func IsValidIban(ibanValue js.String) (ret js.Promise[js.Boolean]) {
  1880  	bindings.CallIsValidIban(
  1881  		js.Pointer(&ret),
  1882  		ibanValue.Ref(),
  1883  	)
  1884  
  1885  	return
  1886  }
  1887  
  1888  // TryIsValidIban calls the function "WEBEXT.autofillPrivate.isValidIban"
  1889  // in a try/catch block and returns (_, err, ok = false) when it went through
  1890  // the catch clause.
  1891  func TryIsValidIban(ibanValue js.String) (ret js.Promise[js.Boolean], exception js.Any, ok bool) {
  1892  	ok = js.True == bindings.TryIsValidIban(
  1893  		js.Pointer(&ret), js.Pointer(&exception),
  1894  		ibanValue.Ref(),
  1895  	)
  1896  
  1897  	return
  1898  }
  1899  
  1900  // HasFuncLogServerCardLinkClicked returns true if the function "WEBEXT.autofillPrivate.logServerCardLinkClicked" exists.
  1901  func HasFuncLogServerCardLinkClicked() bool {
  1902  	return js.True == bindings.HasFuncLogServerCardLinkClicked()
  1903  }
  1904  
  1905  // FuncLogServerCardLinkClicked returns the function "WEBEXT.autofillPrivate.logServerCardLinkClicked".
  1906  func FuncLogServerCardLinkClicked() (fn js.Func[func()]) {
  1907  	bindings.FuncLogServerCardLinkClicked(
  1908  		js.Pointer(&fn),
  1909  	)
  1910  	return
  1911  }
  1912  
  1913  // LogServerCardLinkClicked calls the function "WEBEXT.autofillPrivate.logServerCardLinkClicked" directly.
  1914  func LogServerCardLinkClicked() (ret js.Void) {
  1915  	bindings.CallLogServerCardLinkClicked(
  1916  		js.Pointer(&ret),
  1917  	)
  1918  
  1919  	return
  1920  }
  1921  
  1922  // TryLogServerCardLinkClicked calls the function "WEBEXT.autofillPrivate.logServerCardLinkClicked"
  1923  // in a try/catch block and returns (_, err, ok = false) when it went through
  1924  // the catch clause.
  1925  func TryLogServerCardLinkClicked() (ret js.Void, exception js.Any, ok bool) {
  1926  	ok = js.True == bindings.TryLogServerCardLinkClicked(
  1927  		js.Pointer(&ret), js.Pointer(&exception),
  1928  	)
  1929  
  1930  	return
  1931  }
  1932  
  1933  // HasFuncMaskCreditCard returns true if the function "WEBEXT.autofillPrivate.maskCreditCard" exists.
  1934  func HasFuncMaskCreditCard() bool {
  1935  	return js.True == bindings.HasFuncMaskCreditCard()
  1936  }
  1937  
  1938  // FuncMaskCreditCard returns the function "WEBEXT.autofillPrivate.maskCreditCard".
  1939  func FuncMaskCreditCard() (fn js.Func[func(guid js.String)]) {
  1940  	bindings.FuncMaskCreditCard(
  1941  		js.Pointer(&fn),
  1942  	)
  1943  	return
  1944  }
  1945  
  1946  // MaskCreditCard calls the function "WEBEXT.autofillPrivate.maskCreditCard" directly.
  1947  func MaskCreditCard(guid js.String) (ret js.Void) {
  1948  	bindings.CallMaskCreditCard(
  1949  		js.Pointer(&ret),
  1950  		guid.Ref(),
  1951  	)
  1952  
  1953  	return
  1954  }
  1955  
  1956  // TryMaskCreditCard calls the function "WEBEXT.autofillPrivate.maskCreditCard"
  1957  // in a try/catch block and returns (_, err, ok = false) when it went through
  1958  // the catch clause.
  1959  func TryMaskCreditCard(guid js.String) (ret js.Void, exception js.Any, ok bool) {
  1960  	ok = js.True == bindings.TryMaskCreditCard(
  1961  		js.Pointer(&ret), js.Pointer(&exception),
  1962  		guid.Ref(),
  1963  	)
  1964  
  1965  	return
  1966  }
  1967  
  1968  // HasFuncMigrateCreditCards returns true if the function "WEBEXT.autofillPrivate.migrateCreditCards" exists.
  1969  func HasFuncMigrateCreditCards() bool {
  1970  	return js.True == bindings.HasFuncMigrateCreditCards()
  1971  }
  1972  
  1973  // FuncMigrateCreditCards returns the function "WEBEXT.autofillPrivate.migrateCreditCards".
  1974  func FuncMigrateCreditCards() (fn js.Func[func()]) {
  1975  	bindings.FuncMigrateCreditCards(
  1976  		js.Pointer(&fn),
  1977  	)
  1978  	return
  1979  }
  1980  
  1981  // MigrateCreditCards calls the function "WEBEXT.autofillPrivate.migrateCreditCards" directly.
  1982  func MigrateCreditCards() (ret js.Void) {
  1983  	bindings.CallMigrateCreditCards(
  1984  		js.Pointer(&ret),
  1985  	)
  1986  
  1987  	return
  1988  }
  1989  
  1990  // TryMigrateCreditCards calls the function "WEBEXT.autofillPrivate.migrateCreditCards"
  1991  // in a try/catch block and returns (_, err, ok = false) when it went through
  1992  // the catch clause.
  1993  func TryMigrateCreditCards() (ret js.Void, exception js.Any, ok bool) {
  1994  	ok = js.True == bindings.TryMigrateCreditCards(
  1995  		js.Pointer(&ret), js.Pointer(&exception),
  1996  	)
  1997  
  1998  	return
  1999  }
  2000  
  2001  type OnPersonalDataChangedEventCallbackFunc func(this js.Ref, addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo) js.Ref
  2002  
  2003  func (fn OnPersonalDataChangedEventCallbackFunc) Register() js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)] {
  2004  	return js.RegisterCallback[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)](
  2005  		fn, abi.FuncPCABIInternal(fn),
  2006  	)
  2007  }
  2008  
  2009  func (fn OnPersonalDataChangedEventCallbackFunc) DispatchCallback(
  2010  	targetPC uintptr, ctx *js.CallbackContext,
  2011  ) {
  2012  	args := ctx.Args()
  2013  	if len(args) != 4+1 /* js this */ ||
  2014  		targetPC != uintptr(abi.FuncPCABIInternal(fn)) {
  2015  		js.ThrowInvalidCallbackInvocation()
  2016  	}
  2017  	var arg3 AccountInfo
  2018  	arg3.UpdateFrom(args[3+1])
  2019  	defer arg3.FreeMembers(true)
  2020  
  2021  	if ctx.Return(fn(
  2022  		args[0],
  2023  
  2024  		js.Array[AddressEntry]{}.FromRef(args[0+1]),
  2025  		js.Array[CreditCardEntry]{}.FromRef(args[1+1]),
  2026  		js.Array[IbanEntry]{}.FromRef(args[2+1]),
  2027  		mark.NoEscape(&arg3),
  2028  	)) {
  2029  		return
  2030  	}
  2031  
  2032  	js.ThrowCallbackValueNotReturned()
  2033  }
  2034  
  2035  type OnPersonalDataChangedEventCallback[T any] struct {
  2036  	Fn  func(arg T, this js.Ref, addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo) js.Ref
  2037  	Arg T
  2038  }
  2039  
  2040  func (cb *OnPersonalDataChangedEventCallback[T]) Register() js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)] {
  2041  	return js.RegisterCallback[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)](
  2042  		cb, abi.FuncPCABIInternal(cb.Fn),
  2043  	)
  2044  }
  2045  
  2046  func (cb *OnPersonalDataChangedEventCallback[T]) DispatchCallback(
  2047  	targetPC uintptr, ctx *js.CallbackContext,
  2048  ) {
  2049  	args := ctx.Args()
  2050  	if len(args) != 4+1 /* js this */ ||
  2051  		targetPC != uintptr(abi.FuncPCABIInternal(cb.Fn)) {
  2052  		js.ThrowInvalidCallbackInvocation()
  2053  	}
  2054  	var arg3 AccountInfo
  2055  	arg3.UpdateFrom(args[3+1])
  2056  	defer arg3.FreeMembers(true)
  2057  
  2058  	if ctx.Return(cb.Fn(
  2059  		cb.Arg,
  2060  		args[0],
  2061  
  2062  		js.Array[AddressEntry]{}.FromRef(args[0+1]),
  2063  		js.Array[CreditCardEntry]{}.FromRef(args[1+1]),
  2064  		js.Array[IbanEntry]{}.FromRef(args[2+1]),
  2065  		mark.NoEscape(&arg3),
  2066  	)) {
  2067  		return
  2068  	}
  2069  
  2070  	js.ThrowCallbackValueNotReturned()
  2071  }
  2072  
  2073  // HasFuncOnPersonalDataChanged returns true if the function "WEBEXT.autofillPrivate.onPersonalDataChanged.addListener" exists.
  2074  func HasFuncOnPersonalDataChanged() bool {
  2075  	return js.True == bindings.HasFuncOnPersonalDataChanged()
  2076  }
  2077  
  2078  // FuncOnPersonalDataChanged returns the function "WEBEXT.autofillPrivate.onPersonalDataChanged.addListener".
  2079  func FuncOnPersonalDataChanged() (fn js.Func[func(callback js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)])]) {
  2080  	bindings.FuncOnPersonalDataChanged(
  2081  		js.Pointer(&fn),
  2082  	)
  2083  	return
  2084  }
  2085  
  2086  // OnPersonalDataChanged calls the function "WEBEXT.autofillPrivate.onPersonalDataChanged.addListener" directly.
  2087  func OnPersonalDataChanged(callback js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)]) (ret js.Void) {
  2088  	bindings.CallOnPersonalDataChanged(
  2089  		js.Pointer(&ret),
  2090  		callback.Ref(),
  2091  	)
  2092  
  2093  	return
  2094  }
  2095  
  2096  // TryOnPersonalDataChanged calls the function "WEBEXT.autofillPrivate.onPersonalDataChanged.addListener"
  2097  // in a try/catch block and returns (_, err, ok = false) when it went through
  2098  // the catch clause.
  2099  func TryOnPersonalDataChanged(callback js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)]) (ret js.Void, exception js.Any, ok bool) {
  2100  	ok = js.True == bindings.TryOnPersonalDataChanged(
  2101  		js.Pointer(&ret), js.Pointer(&exception),
  2102  		callback.Ref(),
  2103  	)
  2104  
  2105  	return
  2106  }
  2107  
  2108  // HasFuncOffPersonalDataChanged returns true if the function "WEBEXT.autofillPrivate.onPersonalDataChanged.removeListener" exists.
  2109  func HasFuncOffPersonalDataChanged() bool {
  2110  	return js.True == bindings.HasFuncOffPersonalDataChanged()
  2111  }
  2112  
  2113  // FuncOffPersonalDataChanged returns the function "WEBEXT.autofillPrivate.onPersonalDataChanged.removeListener".
  2114  func FuncOffPersonalDataChanged() (fn js.Func[func(callback js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)])]) {
  2115  	bindings.FuncOffPersonalDataChanged(
  2116  		js.Pointer(&fn),
  2117  	)
  2118  	return
  2119  }
  2120  
  2121  // OffPersonalDataChanged calls the function "WEBEXT.autofillPrivate.onPersonalDataChanged.removeListener" directly.
  2122  func OffPersonalDataChanged(callback js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)]) (ret js.Void) {
  2123  	bindings.CallOffPersonalDataChanged(
  2124  		js.Pointer(&ret),
  2125  		callback.Ref(),
  2126  	)
  2127  
  2128  	return
  2129  }
  2130  
  2131  // TryOffPersonalDataChanged calls the function "WEBEXT.autofillPrivate.onPersonalDataChanged.removeListener"
  2132  // in a try/catch block and returns (_, err, ok = false) when it went through
  2133  // the catch clause.
  2134  func TryOffPersonalDataChanged(callback js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)]) (ret js.Void, exception js.Any, ok bool) {
  2135  	ok = js.True == bindings.TryOffPersonalDataChanged(
  2136  		js.Pointer(&ret), js.Pointer(&exception),
  2137  		callback.Ref(),
  2138  	)
  2139  
  2140  	return
  2141  }
  2142  
  2143  // HasFuncHasOnPersonalDataChanged returns true if the function "WEBEXT.autofillPrivate.onPersonalDataChanged.hasListener" exists.
  2144  func HasFuncHasOnPersonalDataChanged() bool {
  2145  	return js.True == bindings.HasFuncHasOnPersonalDataChanged()
  2146  }
  2147  
  2148  // FuncHasOnPersonalDataChanged returns the function "WEBEXT.autofillPrivate.onPersonalDataChanged.hasListener".
  2149  func FuncHasOnPersonalDataChanged() (fn js.Func[func(callback js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)]) bool]) {
  2150  	bindings.FuncHasOnPersonalDataChanged(
  2151  		js.Pointer(&fn),
  2152  	)
  2153  	return
  2154  }
  2155  
  2156  // HasOnPersonalDataChanged calls the function "WEBEXT.autofillPrivate.onPersonalDataChanged.hasListener" directly.
  2157  func HasOnPersonalDataChanged(callback js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)]) (ret bool) {
  2158  	bindings.CallHasOnPersonalDataChanged(
  2159  		js.Pointer(&ret),
  2160  		callback.Ref(),
  2161  	)
  2162  
  2163  	return
  2164  }
  2165  
  2166  // TryHasOnPersonalDataChanged calls the function "WEBEXT.autofillPrivate.onPersonalDataChanged.hasListener"
  2167  // in a try/catch block and returns (_, err, ok = false) when it went through
  2168  // the catch clause.
  2169  func TryHasOnPersonalDataChanged(callback js.Func[func(addressEntries js.Array[AddressEntry], creditCardEntries js.Array[CreditCardEntry], ibans js.Array[IbanEntry], accountInfo *AccountInfo)]) (ret bool, exception js.Any, ok bool) {
  2170  	ok = js.True == bindings.TryHasOnPersonalDataChanged(
  2171  		js.Pointer(&ret), js.Pointer(&exception),
  2172  		callback.Ref(),
  2173  	)
  2174  
  2175  	return
  2176  }
  2177  
  2178  // HasFuncRemoveEntry returns true if the function "WEBEXT.autofillPrivate.removeEntry" exists.
  2179  func HasFuncRemoveEntry() bool {
  2180  	return js.True == bindings.HasFuncRemoveEntry()
  2181  }
  2182  
  2183  // FuncRemoveEntry returns the function "WEBEXT.autofillPrivate.removeEntry".
  2184  func FuncRemoveEntry() (fn js.Func[func(guid js.String)]) {
  2185  	bindings.FuncRemoveEntry(
  2186  		js.Pointer(&fn),
  2187  	)
  2188  	return
  2189  }
  2190  
  2191  // RemoveEntry calls the function "WEBEXT.autofillPrivate.removeEntry" directly.
  2192  func RemoveEntry(guid js.String) (ret js.Void) {
  2193  	bindings.CallRemoveEntry(
  2194  		js.Pointer(&ret),
  2195  		guid.Ref(),
  2196  	)
  2197  
  2198  	return
  2199  }
  2200  
  2201  // TryRemoveEntry calls the function "WEBEXT.autofillPrivate.removeEntry"
  2202  // in a try/catch block and returns (_, err, ok = false) when it went through
  2203  // the catch clause.
  2204  func TryRemoveEntry(guid js.String) (ret js.Void, exception js.Any, ok bool) {
  2205  	ok = js.True == bindings.TryRemoveEntry(
  2206  		js.Pointer(&ret), js.Pointer(&exception),
  2207  		guid.Ref(),
  2208  	)
  2209  
  2210  	return
  2211  }
  2212  
  2213  // HasFuncRemoveVirtualCard returns true if the function "WEBEXT.autofillPrivate.removeVirtualCard" exists.
  2214  func HasFuncRemoveVirtualCard() bool {
  2215  	return js.True == bindings.HasFuncRemoveVirtualCard()
  2216  }
  2217  
  2218  // FuncRemoveVirtualCard returns the function "WEBEXT.autofillPrivate.removeVirtualCard".
  2219  func FuncRemoveVirtualCard() (fn js.Func[func(cardId js.String)]) {
  2220  	bindings.FuncRemoveVirtualCard(
  2221  		js.Pointer(&fn),
  2222  	)
  2223  	return
  2224  }
  2225  
  2226  // RemoveVirtualCard calls the function "WEBEXT.autofillPrivate.removeVirtualCard" directly.
  2227  func RemoveVirtualCard(cardId js.String) (ret js.Void) {
  2228  	bindings.CallRemoveVirtualCard(
  2229  		js.Pointer(&ret),
  2230  		cardId.Ref(),
  2231  	)
  2232  
  2233  	return
  2234  }
  2235  
  2236  // TryRemoveVirtualCard calls the function "WEBEXT.autofillPrivate.removeVirtualCard"
  2237  // in a try/catch block and returns (_, err, ok = false) when it went through
  2238  // the catch clause.
  2239  func TryRemoveVirtualCard(cardId js.String) (ret js.Void, exception js.Any, ok bool) {
  2240  	ok = js.True == bindings.TryRemoveVirtualCard(
  2241  		js.Pointer(&ret), js.Pointer(&exception),
  2242  		cardId.Ref(),
  2243  	)
  2244  
  2245  	return
  2246  }
  2247  
  2248  // HasFuncSaveAddress returns true if the function "WEBEXT.autofillPrivate.saveAddress" exists.
  2249  func HasFuncSaveAddress() bool {
  2250  	return js.True == bindings.HasFuncSaveAddress()
  2251  }
  2252  
  2253  // FuncSaveAddress returns the function "WEBEXT.autofillPrivate.saveAddress".
  2254  func FuncSaveAddress() (fn js.Func[func(address AddressEntry)]) {
  2255  	bindings.FuncSaveAddress(
  2256  		js.Pointer(&fn),
  2257  	)
  2258  	return
  2259  }
  2260  
  2261  // SaveAddress calls the function "WEBEXT.autofillPrivate.saveAddress" directly.
  2262  func SaveAddress(address AddressEntry) (ret js.Void) {
  2263  	bindings.CallSaveAddress(
  2264  		js.Pointer(&ret),
  2265  		js.Pointer(&address),
  2266  	)
  2267  
  2268  	return
  2269  }
  2270  
  2271  // TrySaveAddress calls the function "WEBEXT.autofillPrivate.saveAddress"
  2272  // in a try/catch block and returns (_, err, ok = false) when it went through
  2273  // the catch clause.
  2274  func TrySaveAddress(address AddressEntry) (ret js.Void, exception js.Any, ok bool) {
  2275  	ok = js.True == bindings.TrySaveAddress(
  2276  		js.Pointer(&ret), js.Pointer(&exception),
  2277  		js.Pointer(&address),
  2278  	)
  2279  
  2280  	return
  2281  }
  2282  
  2283  // HasFuncSaveCreditCard returns true if the function "WEBEXT.autofillPrivate.saveCreditCard" exists.
  2284  func HasFuncSaveCreditCard() bool {
  2285  	return js.True == bindings.HasFuncSaveCreditCard()
  2286  }
  2287  
  2288  // FuncSaveCreditCard returns the function "WEBEXT.autofillPrivate.saveCreditCard".
  2289  func FuncSaveCreditCard() (fn js.Func[func(card CreditCardEntry)]) {
  2290  	bindings.FuncSaveCreditCard(
  2291  		js.Pointer(&fn),
  2292  	)
  2293  	return
  2294  }
  2295  
  2296  // SaveCreditCard calls the function "WEBEXT.autofillPrivate.saveCreditCard" directly.
  2297  func SaveCreditCard(card CreditCardEntry) (ret js.Void) {
  2298  	bindings.CallSaveCreditCard(
  2299  		js.Pointer(&ret),
  2300  		js.Pointer(&card),
  2301  	)
  2302  
  2303  	return
  2304  }
  2305  
  2306  // TrySaveCreditCard calls the function "WEBEXT.autofillPrivate.saveCreditCard"
  2307  // in a try/catch block and returns (_, err, ok = false) when it went through
  2308  // the catch clause.
  2309  func TrySaveCreditCard(card CreditCardEntry) (ret js.Void, exception js.Any, ok bool) {
  2310  	ok = js.True == bindings.TrySaveCreditCard(
  2311  		js.Pointer(&ret), js.Pointer(&exception),
  2312  		js.Pointer(&card),
  2313  	)
  2314  
  2315  	return
  2316  }
  2317  
  2318  // HasFuncSaveIban returns true if the function "WEBEXT.autofillPrivate.saveIban" exists.
  2319  func HasFuncSaveIban() bool {
  2320  	return js.True == bindings.HasFuncSaveIban()
  2321  }
  2322  
  2323  // FuncSaveIban returns the function "WEBEXT.autofillPrivate.saveIban".
  2324  func FuncSaveIban() (fn js.Func[func(iban IbanEntry)]) {
  2325  	bindings.FuncSaveIban(
  2326  		js.Pointer(&fn),
  2327  	)
  2328  	return
  2329  }
  2330  
  2331  // SaveIban calls the function "WEBEXT.autofillPrivate.saveIban" directly.
  2332  func SaveIban(iban IbanEntry) (ret js.Void) {
  2333  	bindings.CallSaveIban(
  2334  		js.Pointer(&ret),
  2335  		js.Pointer(&iban),
  2336  	)
  2337  
  2338  	return
  2339  }
  2340  
  2341  // TrySaveIban calls the function "WEBEXT.autofillPrivate.saveIban"
  2342  // in a try/catch block and returns (_, err, ok = false) when it went through
  2343  // the catch clause.
  2344  func TrySaveIban(iban IbanEntry) (ret js.Void, exception js.Any, ok bool) {
  2345  	ok = js.True == bindings.TrySaveIban(
  2346  		js.Pointer(&ret), js.Pointer(&exception),
  2347  		js.Pointer(&iban),
  2348  	)
  2349  
  2350  	return
  2351  }
  2352  
  2353  // HasFuncSetCreditCardFIDOAuthEnabledState returns true if the function "WEBEXT.autofillPrivate.setCreditCardFIDOAuthEnabledState" exists.
  2354  func HasFuncSetCreditCardFIDOAuthEnabledState() bool {
  2355  	return js.True == bindings.HasFuncSetCreditCardFIDOAuthEnabledState()
  2356  }
  2357  
  2358  // FuncSetCreditCardFIDOAuthEnabledState returns the function "WEBEXT.autofillPrivate.setCreditCardFIDOAuthEnabledState".
  2359  func FuncSetCreditCardFIDOAuthEnabledState() (fn js.Func[func(enabled bool)]) {
  2360  	bindings.FuncSetCreditCardFIDOAuthEnabledState(
  2361  		js.Pointer(&fn),
  2362  	)
  2363  	return
  2364  }
  2365  
  2366  // SetCreditCardFIDOAuthEnabledState calls the function "WEBEXT.autofillPrivate.setCreditCardFIDOAuthEnabledState" directly.
  2367  func SetCreditCardFIDOAuthEnabledState(enabled bool) (ret js.Void) {
  2368  	bindings.CallSetCreditCardFIDOAuthEnabledState(
  2369  		js.Pointer(&ret),
  2370  		js.Bool(bool(enabled)),
  2371  	)
  2372  
  2373  	return
  2374  }
  2375  
  2376  // TrySetCreditCardFIDOAuthEnabledState calls the function "WEBEXT.autofillPrivate.setCreditCardFIDOAuthEnabledState"
  2377  // in a try/catch block and returns (_, err, ok = false) when it went through
  2378  // the catch clause.
  2379  func TrySetCreditCardFIDOAuthEnabledState(enabled bool) (ret js.Void, exception js.Any, ok bool) {
  2380  	ok = js.True == bindings.TrySetCreditCardFIDOAuthEnabledState(
  2381  		js.Pointer(&ret), js.Pointer(&exception),
  2382  		js.Bool(bool(enabled)),
  2383  	)
  2384  
  2385  	return
  2386  }