{"version":3,"file":"purpose.mjs","names":[],"sources":["../../src/enums/purpose.ts"],"sourcesContent":["// main\nimport { makeEnum } from '@transcend-io/type-utils';\n\n/**\n * The options for the type of purpose that airgap classifies requests into\n */\nexport const SpecialTrackingPurpose = makeEnum({\n  /** The request has an unknown tracking purpose */\n  Unknown: 'Unknown',\n  /** The request is necessary for the essential features of the website */\n  Essential: 'Essential',\n});\n\n/** Type override */\nexport type SpecialTrackingPurpose =\n  (typeof SpecialTrackingPurpose)[keyof typeof SpecialTrackingPurpose];\n\n/**\n * Possible values for the default consent that can be given to a tracking purpose\n */\nexport const DefaultConsentValue = makeEnum({\n  /** Tracking purpose is NOT consented to by default */\n  Off: 'off',\n  /**\n   * Tracking purpose is consented to by default, unless user is protected by GDPR\n   * or has DNT or GPC enabled\n   */\n  Auto: 'Auto',\n});\n\n/** Type override */\nexport type DefaultConsentValue = (typeof DefaultConsentValue)[keyof typeof DefaultConsentValue];\n\n/**\n * Purposes that can be configured\n */\nexport const ConfigurablePurpose = makeEnum({\n  /** SaaS tools used for advertising purposes */\n  Advertising: 'Advertising',\n  /** SaaS tools used for analytics purposes */\n  Analytics: 'Analytics',\n  /** SaaS tools used for functional purposes */\n  Functional: 'Functional',\n  /** SaaS tools used for selling personal information */\n  SaleOfInfo: 'SaleOfInfo',\n});\n\n/** Type override */\nexport type ConfigurablePurpose = (typeof ConfigurablePurpose)[keyof typeof ConfigurablePurpose];\n\n/**\n * Purposes that can be configured\n */\nexport const KnownDefaultPurpose = makeEnum({\n  /** The request is necessary for the essential features of the website */\n  Essential: 'Essential',\n  ...ConfigurablePurpose,\n});\n\n/** Type override */\nexport type KnownDefaultPurpose = (typeof KnownDefaultPurpose)[keyof typeof KnownDefaultPurpose];\n\n/**\n * Purposes used by the purpose map\n */\nexport const Purpose = makeEnum({\n  ...SpecialTrackingPurpose,\n  ...ConfigurablePurpose,\n});\n\n/** Type override */\nexport type Purpose = (typeof Purpose)[keyof typeof Purpose];\n\n/** User-configurable user agent privacy signal */\nexport const UserPrivacySignalEnum = makeEnum({\n  /** Global Privacy Control */\n  GPC: 'GPC',\n  /** Do Not Track */\n  DNT: 'DNT',\n});\n\n/**\n * Type override\n */\nexport type UserPrivacySignalEnum =\n  (typeof UserPrivacySignalEnum)[keyof typeof UserPrivacySignalEnum];\n"],"mappings":";;;;;AAMA,MAAa,yBAAyB,SAAS;CAE7C,SAAS;CAET,WAAW;CACZ,CAAC;;;;AASF,MAAa,sBAAsB,SAAS;CAE1C,KAAK;CAKL,MAAM;CACP,CAAC;;;;AAQF,MAAa,sBAAsB,SAAS;CAE1C,aAAa;CAEb,WAAW;CAEX,YAAY;CAEZ,YAAY;CACb,CAAC;;;;AAQF,MAAa,sBAAsB,SAAS;CAE1C,WAAW;CACX,GAAG;CACJ,CAAC;;;;AAQF,MAAa,UAAU,SAAS;CAC9B,GAAG;CACH,GAAG;CACJ,CAAC;;AAMF,MAAa,wBAAwB,SAAS;CAE5C,KAAK;CAEL,KAAK;CACN,CAAC"}