@atlassian/clientside-extensions-debug 5.1.6-eadeedb5-mltiipai → 6.0.0-m002

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,7 +26,7 @@ const defineDebugGlobal = (previousGlobal) => {
26
26
  // In dev mode we set default loglevel to INFO
27
27
  logLevel: process.env.NODE_ENV === 'production' ? logger_1.LogLevel.error : logger_1.LogLevel.info,
28
28
  };
29
- const debugStateSubject = (0, debug_subjects_1.registerDebugSubject)("state" /* DebugSubjects.State */, () => new clientside_extensions_base_1.ReplaySubject(1));
29
+ const debugStateSubject = (0, debug_subjects_1.registerDebugSubject)(debug_subjects_1.DebugSubjects.State, () => new clientside_extensions_base_1.ReplaySubject(1));
30
30
  const properties = {
31
31
  debug: {
32
32
  get() {
@@ -116,7 +116,7 @@ const defineDebugGlobal = (previousGlobal) => {
116
116
  if (!('____c_p_d' in window) || !window.____c_p_d.__initialized) {
117
117
  defineDebugGlobal((_a = window.____c_p_d) !== null && _a !== void 0 ? _a : process.env.NODE_ENV !== 'production');
118
118
  }
119
- const observeStateChange = (observer) => (0, debug_subjects_1.observeDebugSubject)("state" /* DebugSubjects.State */, observer);
119
+ const observeStateChange = (observer) => (0, debug_subjects_1.observeDebugSubject)(debug_subjects_1.DebugSubjects.State, observer);
120
120
  exports.observeStateChange = observeStateChange;
121
121
  const isDebugEnabled = () => {
122
122
  return window.____c_p_d.debug;
@@ -1 +1 @@
1
- {"version":3,"file":"debug-state.js","sourceRoot":"","sources":["../../lib/debug-state.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\n\nimport type { Observer } from '@atlassian/clientside-extensions-base';\nimport { ReplaySubject } from '@atlassian/clientside-extensions-base';\nimport { DebugSubjects, observeDebugSubject, registerDebugSubject } from './debug-subjects';\nimport { LogLevel } from './logger/logger';\n\nenum ClientExtensionDebugTypes {\n debug = 'debug',\n logging = 'logging',\n validation = 'validation',\n discovery = 'discovery',\n /** @since 2.1.0 */\n logLevel = 'logLevel',\n}\n\ntype DebugTypeKeys = Exclude<keyof typeof ClientExtensionDebugTypes, 'logLevel'>;\n\nexport type ClientExtensionDebug = {\n [key in DebugTypeKeys]: boolean;\n} & {\n [ClientExtensionDebugTypes.logLevel]: LogLevel;\n};\n\n// Type for the internal property descriptors used during setup\ntype DebugPropertyDescriptors = { [key in keyof ClientExtensionDebug]: PropertyDescriptor } & {\n __initialized: PropertyDescriptor;\n};\n\n// Type for the runtime interface - what you actually get when accessing the properties\nexport type ExposedClientExtensionDebug = ClientExtensionDebug & {\n __initialized: boolean;\n};\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface Window {\n // The global ____c_p_d is a primitive boolean value that holds additional properties\n // Due to historical name changes the \"p\" still represents the old \"plugin\" nomenclature\n ____c_p_d: ExposedClientExtensionDebug;\n }\n}\n\nconst defineDebugGlobal = (previousGlobal: unknown) => {\n const debugGlobal: DebugPropertyDescriptors = Object.create(null);\n const debugStates: ClientExtensionDebug = {\n debug: false,\n logging: false,\n validation: false,\n discovery: false,\n /** @since 2.1.0 */\n // In dev mode we set default loglevel to INFO\n logLevel: process.env.NODE_ENV === 'production' ? LogLevel.error : LogLevel.info,\n };\n\n const debugStateSubject = registerDebugSubject(DebugSubjects.State, () => new ReplaySubject(1));\n\n const properties: DebugPropertyDescriptors = {\n debug: {\n get() {\n return debugStates.debug;\n },\n set(val: unknown) {\n debugStates.debug = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n logging: {\n get() {\n return debugStates.logging;\n },\n set(val: unknown) {\n debugStates.logging = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n validation: {\n get() {\n return debugStates.validation;\n },\n set(val: unknown) {\n debugStates.validation = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n discovery: {\n get() {\n return debugStates.discovery;\n },\n set(val: unknown) {\n debugStates.discovery = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n /** @since 2.1.0 */\n logLevel: {\n get() {\n return debugStates.logLevel;\n },\n set(val: unknown) {\n let level = String(val).toUpperCase() as LogLevel;\n\n // Handle runtime errors\n if (!Object.values(LogLevel).includes(level)) {\n level = LogLevel.info;\n }\n\n debugStates.logLevel = level;\n debugStateSubject.notify(debugStates);\n },\n },\n __initialized: { value: true, writable: false },\n };\n Object.defineProperties(debugGlobal, properties);\n\n Object.defineProperty(window, '____c_p_d', {\n configurable: true, // needed for testing :(\n get() {\n return debugGlobal;\n },\n set(val) {\n // its a boolean\n if (val === true || val === false) {\n debugGlobal.debug = val;\n debugGlobal.logging = val;\n debugGlobal.validation = val;\n debugGlobal.discovery = val;\n return;\n }\n\n // we can handle booleans - like above\n // or objects (except null) and nothing else.\n if (typeof val !== 'object' || val === null) {\n return;\n }\n\n const clientExtensionDebugKeys = Object.keys(ClientExtensionDebugTypes) as (keyof ClientExtensionDebug)[];\n\n clientExtensionDebugKeys.forEach((key) => {\n if (key in val) {\n debugGlobal[key] = val[key];\n }\n });\n },\n });\n\n // Now, we can use the previous value e.g. boolean, to set the value for all flags\n window.____c_p_d = previousGlobal as ExposedClientExtensionDebug;\n};\n\n// Register global value only once\nif (!('____c_p_d' in window) || !window.____c_p_d.__initialized) {\n defineDebugGlobal(window.____c_p_d ?? process.env.NODE_ENV !== 'production');\n}\n\nexport const observeStateChange = (observer: Observer<ClientExtensionDebug>) =>\n observeDebugSubject<ClientExtensionDebug>(DebugSubjects.State, observer);\n\nexport const isDebugEnabled = () => {\n return window.____c_p_d.debug;\n};\n\nexport const isLoggingEnabled = () => {\n return window.____c_p_d.logging;\n};\n\nexport const isValidationEnabled = () => {\n return window.____c_p_d.validation;\n};\n\nexport const isDiscoveryEnabled = () => {\n return window.____c_p_d.discovery;\n};\n\n/** @since 2.1.0 */\nexport const getLogLevel = (): LogLevel => {\n return window.____c_p_d.logLevel ?? LogLevel.info;\n};\n\nexport const setDebugEnabled = (value: boolean) => {\n window.____c_p_d.debug = value;\n};\n\nexport const setLoggingEnabled = (value: boolean) => {\n window.____c_p_d.logging = value;\n};\n\nexport const setValidationEnabled = (value: boolean) => {\n window.____c_p_d.validation = value;\n};\n\nexport const setDiscoveryEnabled = (value: boolean) => {\n window.____c_p_d.discovery = value;\n};\n\n/** @since 2.1.0 */\nexport const setLogLevel = (value: string) => {\n const level = value.toUpperCase() as LogLevel;\n\n window.____c_p_d.logLevel = level;\n};\n"]}
1
+ {"version":3,"file":"debug-state.js","sourceRoot":"","sources":["../../lib/debug-state.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\n\nimport type { Observer } from '@atlassian/clientside-extensions-base';\nimport { ReplaySubject } from '@atlassian/clientside-extensions-base';\nimport { DebugSubjects, observeDebugSubject, registerDebugSubject } from './debug-subjects';\nimport { LogLevel } from './logger/logger';\n\nenum ClientExtensionDebugTypes {\n debug = 'debug',\n logging = 'logging',\n validation = 'validation',\n discovery = 'discovery',\n /** @since 2.1.0 */\n logLevel = 'logLevel',\n}\n\ntype DebugTypeKeys = Exclude<keyof typeof ClientExtensionDebugTypes, 'logLevel'>;\n\nexport type ClientExtensionDebug = {\n [key in DebugTypeKeys]: boolean;\n} & {\n [ClientExtensionDebugTypes.logLevel]: LogLevel;\n};\n\n// Type for the internal property descriptors used during setup\ntype DebugPropertyDescriptors = { [key in keyof ClientExtensionDebug]: PropertyDescriptor } & {\n __initialized: PropertyDescriptor;\n};\n\n// Type for the runtime interface - what you actually get when accessing the properties\nexport type ExposedClientExtensionDebug = ClientExtensionDebug & {\n __initialized: boolean;\n};\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface Window {\n // The global ____c_p_d is a primitive boolean value that holds additional properties\n // Due to historical name changes the \"p\" still represents the old \"plugin\" nomenclature\n ____c_p_d: ExposedClientExtensionDebug;\n }\n}\n\nconst defineDebugGlobal = (previousGlobal: unknown) => {\n const debugGlobal: DebugPropertyDescriptors = Object.create(null);\n const debugStates: ClientExtensionDebug = {\n debug: false,\n logging: false,\n validation: false,\n discovery: false,\n /** @since 2.1.0 */\n // In dev mode we set default loglevel to INFO\n logLevel: process.env.NODE_ENV === 'production' ? LogLevel.error : LogLevel.info,\n };\n\n const debugStateSubject = registerDebugSubject(DebugSubjects.State, () => new ReplaySubject(1));\n\n const properties: DebugPropertyDescriptors = {\n debug: {\n get() {\n return debugStates.debug;\n },\n set(val: unknown) {\n debugStates.debug = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n logging: {\n get() {\n return debugStates.logging;\n },\n set(val: unknown) {\n debugStates.logging = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n validation: {\n get() {\n return debugStates.validation;\n },\n set(val: unknown) {\n debugStates.validation = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n discovery: {\n get() {\n return debugStates.discovery;\n },\n set(val: unknown) {\n debugStates.discovery = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n /** @since 2.1.0 */\n logLevel: {\n get() {\n return debugStates.logLevel;\n },\n set(val: unknown) {\n let level = String(val).toUpperCase() as LogLevel;\n\n // Handle runtime errors\n if (!Object.values(LogLevel).includes(level)) {\n level = LogLevel.info;\n }\n\n debugStates.logLevel = level;\n debugStateSubject.notify(debugStates);\n },\n },\n __initialized: { value: true, writable: false },\n };\n Object.defineProperties(debugGlobal, properties);\n\n Object.defineProperty(window, '____c_p_d', {\n configurable: true, // needed for testing :(\n get() {\n return debugGlobal;\n },\n set(val) {\n // its a boolean\n if (val === true || val === false) {\n debugGlobal.debug = val;\n debugGlobal.logging = val;\n debugGlobal.validation = val;\n debugGlobal.discovery = val;\n return;\n }\n\n // we can handle booleans - like above\n // or objects (except null) and nothing else.\n if (typeof val !== 'object' || val === null) {\n return;\n }\n\n const clientExtensionDebugKeys = Object.keys(ClientExtensionDebugTypes) as (keyof ClientExtensionDebug)[];\n\n clientExtensionDebugKeys.forEach((key) => {\n if (key in val) {\n debugGlobal[key] = val[key];\n }\n });\n },\n });\n\n // Now, we can use the previous value e.g. boolean, to set the value for all flags\n window.____c_p_d = previousGlobal as ExposedClientExtensionDebug;\n};\n\n// Register global value only once\nif (!('____c_p_d' in window) || !window.____c_p_d.__initialized) {\n defineDebugGlobal(window.____c_p_d ?? process.env.NODE_ENV !== 'production');\n}\n\nexport const observeStateChange = (observer: Observer<ClientExtensionDebug>) =>\n observeDebugSubject<ClientExtensionDebug>(DebugSubjects.State, observer);\n\nexport const isDebugEnabled = () => {\n return window.____c_p_d.debug;\n};\n\nexport const isLoggingEnabled = () => {\n return window.____c_p_d.logging;\n};\n\nexport const isValidationEnabled = () => {\n return window.____c_p_d.validation;\n};\n\nexport const isDiscoveryEnabled = () => {\n return window.____c_p_d.discovery;\n};\n\n/** @since 2.1.0 */\nexport const getLogLevel = (): LogLevel => {\n return window.____c_p_d.logLevel ?? LogLevel.info;\n};\n\nexport const setDebugEnabled = (value: boolean) => {\n window.____c_p_d.debug = value;\n};\n\nexport const setLoggingEnabled = (value: boolean) => {\n window.____c_p_d.logging = value;\n};\n\nexport const setValidationEnabled = (value: boolean) => {\n window.____c_p_d.validation = value;\n};\n\nexport const setDiscoveryEnabled = (value: boolean) => {\n window.____c_p_d.discovery = value;\n};\n\n/** @since 2.1.0 */\nexport const setLogLevel = (value: string) => {\n const level = value.toUpperCase() as LogLevel;\n\n window.____c_p_d.logLevel = level;\n};\n"]}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.observeDebugSubject = exports.registerDebugSubject = void 0;
3
+ exports.observeDebugSubject = exports.registerDebugSubject = exports.DebugSubjects = void 0;
4
+ var DebugSubjects;
5
+ (function (DebugSubjects) {
6
+ DebugSubjects["Logger"] = "logger";
7
+ DebugSubjects["State"] = "state";
8
+ })(DebugSubjects || (exports.DebugSubjects = DebugSubjects = {}));
4
9
  const defineSubjectGlobal = () => {
5
10
  // initialize as boolean
6
11
  const subjectGlobal = Object.create(null);
@@ -1 +1 @@
1
- {"version":3,"file":"debug-subjects.js","sourceRoot":"","sources":["../../lib/debug-subjects.ts"],"names":[],"mappings":";;;AAyBA,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC7B,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAmC;QAC/C,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC/C,QAAQ,EAAE;YACN,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,KAAK;SAClB;KACJ,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAEnD,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC;AACrC,CAAC,CAAC;AAEF,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IAC9D,mBAAmB,EAAE,CAAC;AAC1B,CAAC;AAID;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,CAChC,GAAkB,EAClB,cAAiC,EACtB,EAAE;IACb,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAyC,CAAC;IAEjF,0EAA0E;IAC1E,6HAA6H;IAC7H,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAbW,QAAA,oBAAoB,wBAa/B;AAEK,MAAM,mBAAmB,GAAG,CAAc,GAAkB,EAAE,QAA+B,EAAE,EAAE;IACpG,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAkD,CAAC;IAE1F,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { Observer, Subject } from '@atlassian/clientside-extensions-base';\n\ntype ExposedClientExtensionSubjects = {\n __initialized: PropertyDescriptor;\n subjects: PropertyDescriptor;\n};\n\nexport const enum DebugSubjects {\n Logger = 'logger',\n State = 'state',\n}\n\ntype DebugSubjectsMap<SubjectT> = {\n [key in DebugSubjects]: SubjectT;\n};\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface Window {\n // Due to historical name changes the \"p\" still represents the old \"plugin\" nomenclature\n ____c_p_s: ExposedClientExtensionSubjects;\n }\n}\n\nconst defineSubjectGlobal = () => {\n // initialize as boolean\n const subjectGlobal = Object.create(null);\n\n const properties: ExposedClientExtensionSubjects = {\n __initialized: { value: true, writable: false },\n subjects: {\n value: subjectGlobal,\n writable: false,\n },\n };\n\n Object.defineProperties(subjectGlobal, properties);\n\n window.____c_p_s = subjectGlobal;\n};\n\nif (!('____c_p_s' in window) || !window.____c_p_s.__initialized) {\n defineSubjectGlobal();\n}\n\ntype UnpackPayloadType<SubjectType> = SubjectType extends Subject<infer U> ? U : never;\n\n/**\n * Registers a debug subject as singleton\n *\n * @param key\n * @param subjectFactory\n */\nexport const registerDebugSubject = <SubjectType extends Subject<PayloadType>, PayloadType = UnpackPayloadType<SubjectType>>(\n key: DebugSubjects,\n subjectFactory: () => SubjectType,\n): SubjectType => {\n const debugSubjects = window.____c_p_s.subjects as DebugSubjectsMap<SubjectType>;\n\n // good old singletons - ensure we do not register the same subject twice.\n // we also can't fail as multiple instances might try to access the same, so instead we return the previously registered one.\n if (!(key in debugSubjects)) {\n debugSubjects[key] = subjectFactory();\n }\n\n return debugSubjects[key];\n};\n\nexport const observeDebugSubject = <PayloadType>(key: DebugSubjects, observer: Observer<PayloadType>) => {\n const debugSubjects = window.____c_p_s.subjects as DebugSubjectsMap<Subject<PayloadType>>;\n\n if (!(key in debugSubjects)) {\n throw new Error(`No subject registered for key: \"${key}\"`);\n }\n\n return debugSubjects[key].subscribe(observer);\n};\n"]}
1
+ {"version":3,"file":"debug-subjects.js","sourceRoot":"","sources":["../../lib/debug-subjects.ts"],"names":[],"mappings":";;;AAQA,IAAkB,aAGjB;AAHD,WAAkB,aAAa;IAC3B,kCAAiB,CAAA;IACjB,gCAAe,CAAA;AACnB,CAAC,EAHiB,aAAa,6BAAb,aAAa,QAG9B;AAcD,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC7B,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAmC;QAC/C,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC/C,QAAQ,EAAE;YACN,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,KAAK;SAClB;KACJ,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAEnD,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC;AACrC,CAAC,CAAC;AAEF,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IAC9D,mBAAmB,EAAE,CAAC;AAC1B,CAAC;AAID;;;;;GAKG;AACI,MAAM,oBAAoB,GAAG,CAChC,GAAkB,EAClB,cAAiC,EACtB,EAAE;IACb,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAyC,CAAC;IAEjF,0EAA0E;IAC1E,6HAA6H;IAC7H,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAbW,QAAA,oBAAoB,wBAa/B;AAEK,MAAM,mBAAmB,GAAG,CAAc,GAAkB,EAAE,QAA+B,EAAE,EAAE;IACpG,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAkD,CAAC;IAE1F,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC,CAAC;AARW,QAAA,mBAAmB,uBAQ9B","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { Observer, Subject } from '@atlassian/clientside-extensions-base';\n\ntype ExposedClientExtensionSubjects = {\n __initialized: PropertyDescriptor;\n subjects: PropertyDescriptor;\n};\n\nexport const enum DebugSubjects {\n Logger = 'logger',\n State = 'state',\n}\n\ntype DebugSubjectsMap<SubjectT> = {\n [key in DebugSubjects]: SubjectT;\n};\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface Window {\n // Due to historical name changes the \"p\" still represents the old \"plugin\" nomenclature\n ____c_p_s: ExposedClientExtensionSubjects;\n }\n}\n\nconst defineSubjectGlobal = () => {\n // initialize as boolean\n const subjectGlobal = Object.create(null);\n\n const properties: ExposedClientExtensionSubjects = {\n __initialized: { value: true, writable: false },\n subjects: {\n value: subjectGlobal,\n writable: false,\n },\n };\n\n Object.defineProperties(subjectGlobal, properties);\n\n window.____c_p_s = subjectGlobal;\n};\n\nif (!('____c_p_s' in window) || !window.____c_p_s.__initialized) {\n defineSubjectGlobal();\n}\n\ntype UnpackPayloadType<SubjectType> = SubjectType extends Subject<infer U> ? U : never;\n\n/**\n * Registers a debug subject as singleton\n *\n * @param key\n * @param subjectFactory\n */\nexport const registerDebugSubject = <SubjectType extends Subject<PayloadType>, PayloadType = UnpackPayloadType<SubjectType>>(\n key: DebugSubjects,\n subjectFactory: () => SubjectType,\n): SubjectType => {\n const debugSubjects = window.____c_p_s.subjects as DebugSubjectsMap<SubjectType>;\n\n // good old singletons - ensure we do not register the same subject twice.\n // we also can't fail as multiple instances might try to access the same, so instead we return the previously registered one.\n if (!(key in debugSubjects)) {\n debugSubjects[key] = subjectFactory();\n }\n\n return debugSubjects[key];\n};\n\nexport const observeDebugSubject = <PayloadType>(key: DebugSubjects, observer: Observer<PayloadType>) => {\n const debugSubjects = window.____c_p_s.subjects as DebugSubjectsMap<Subject<PayloadType>>;\n\n if (!(key in debugSubjects)) {\n throw new Error(`No subject registered for key: \"${key}\"`);\n }\n\n return debugSubjects[key].subscribe(observer);\n};\n"]}
package/dist/cjs/debug.js CHANGED
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.onDebug = void 0;
4
4
  const debug_state_1 = require("./debug-state");
5
5
  const logger_1 = require("./logger/logger");
6
- // eslint-disable-next-line import/prefer-default-export
7
6
  const onDebug = (callback) => {
8
7
  // Return early if both debug and logging is disabled
9
8
  if (!(0, debug_state_1.isDebugEnabled)() || !(0, debug_state_1.isLoggingEnabled)()) {
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../lib/debug.ts"],"names":[],"mappings":";;;AAAA,+CAAiE;AAGjE,4CAA2D;AAE3D,wDAAwD;AACjD,MAAM,OAAO,GAAG,CAAC,QAAwB,EAAE,EAAE;IAChD,qDAAqD;IACrD,IAAI,CAAC,IAAA,4BAAc,GAAE,IAAI,CAAC,IAAA,8BAAgB,GAAE,EAAE,CAAC;QAC3C,OAAO;IACX,CAAC;IAED,IAAI,OAAkC,CAAC;IAEvC,IAAI,CAAC;QACD,OAAO,GAAG,QAAQ,CAAC,iBAAQ,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,oCAAoC;IACxC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,uBAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,OAAO,WAiBlB","sourcesContent":["import { isDebugEnabled, isLoggingEnabled } from './debug-state';\n\nimport type { LoggerCallback, LoggerPayload } from './logger/logger';\nimport { _loggerSubject, LogLevel } from './logger/logger';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const onDebug = (callback: LoggerCallback) => {\n // Return early if both debug and logging is disabled\n if (!isDebugEnabled() || !isLoggingEnabled()) {\n return;\n }\n\n let payload: LoggerPayload | undefined;\n\n try {\n payload = callback(LogLevel);\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n\n if (payload) {\n _loggerSubject.notify(payload);\n }\n};\n"]}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../lib/debug.ts"],"names":[],"mappings":";;;AAAA,+CAAiE;AAGjE,4CAA2D;AACpD,MAAM,OAAO,GAAG,CAAC,QAAwB,EAAE,EAAE;IAChD,qDAAqD;IACrD,IAAI,CAAC,IAAA,4BAAc,GAAE,IAAI,CAAC,IAAA,8BAAgB,GAAE,EAAE,CAAC;QAC3C,OAAO;IACX,CAAC;IAED,IAAI,OAAkC,CAAC;IAEvC,IAAI,CAAC;QACD,OAAO,GAAG,QAAQ,CAAC,iBAAQ,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,oCAAoC;IACxC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,uBAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,OAAO,WAiBlB","sourcesContent":["import { isDebugEnabled, isLoggingEnabled } from './debug-state';\n\nimport type { LoggerCallback, LoggerPayload } from './logger/logger';\nimport { _loggerSubject, LogLevel } from './logger/logger';\nexport const onDebug = (callback: LoggerCallback) => {\n // Return early if both debug and logging is disabled\n if (!isDebugEnabled() || !isLoggingEnabled()) {\n return;\n }\n\n let payload: LoggerPayload | undefined;\n\n try {\n payload = callback(LogLevel);\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n\n if (payload) {\n _loggerSubject.notify(payload);\n }\n};\n"]}
@@ -39,7 +39,6 @@ function shouldDisplayLog(logLevel, eventLogLevel) {
39
39
  const levels = levelsMap[logLevel];
40
40
  return Array.isArray(levels) ? levels.includes(eventLogLevel) : false;
41
41
  }
42
- // eslint-disable-next-line import/prefer-default-export
43
42
  const consoleLogger = (payload) => {
44
43
  const eventLogLevel = payload.level;
45
44
  const logLevel = (0, debug_state_1.getLogLevel)();
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../lib/logger/console.ts"],"names":[],"mappings":";AAAA,+BAA+B;;;AAG/B,qCAAoC;AACpC,gDAA6C;AAK7C,MAAM,mBAAmB,GAAG,CAAC,KAAe,EAAoB,EAAE;IAC9D,QAAQ,KAAK,EAAE,CAAC;QACZ,KAAK,iBAAQ,CAAC,KAAK;YACf,OAAO,OAAO,CAAC;QACnB,KAAK,iBAAQ,CAAC,KAAK;YACf,OAAO,OAAO,CAAC;QACnB,KAAK,iBAAQ,CAAC,IAAI;YACd,OAAO,MAAM,CAAC;QAClB,KAAK,iBAAQ,CAAC,IAAI,CAAC;QACnB,KAAK,iBAAQ,CAAC,WAAW;YACrB,OAAO,MAAM,CAAC;QAClB;YACI,OAAO,OAAO,CAAC;IACvB,CAAC;AACL,CAAC,CAAC;AAEF,6DAA6D;AAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAQ,CAAC,CAAC;AAC5C,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,iBAAQ,CAAC,KAAK,CAAC,CAAC;AAC5E,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,iBAAQ,CAAC,KAAK,CAAC,CAAC;AAC3E,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,iBAAQ,CAAC,IAAI,CAAC,CAAC;AAChF,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,iBAAQ,CAAC,WAAW,CAAC,CAAC;AAEvF,MAAM,SAAS,GAAgC;IAC3C,CAAC,iBAAQ,CAAC,KAAK,CAAC,EAAE,WAAW;IAC7B,CAAC,iBAAQ,CAAC,KAAK,CAAC,EAAE,WAAW;IAC7B,CAAC,iBAAQ,CAAC,IAAI,CAAC,EAAE,UAAU;IAC3B,CAAC,iBAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB;IACzC,CAAC,iBAAQ,CAAC,IAAI,CAAC,EAAE,UAAU;CAC9B,CAAC;AAEF,SAAS,gBAAgB,CAAC,QAAkB,EAAE,aAAuB;IACjE,IAAI,QAAQ,KAAK,iBAAQ,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1E,CAAC;AAED,wDAAwD;AACjD,MAAM,aAAa,GAAG,CAAC,OAAsB,EAAE,EAAE;IACpD,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAA,yBAAW,GAAE,CAAC;IAE/B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;QAC7C,OAAO;IACX,CAAC;IAED,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACtD,MAAM,kBAAkB,GACpB,OAAO,CAAC,KAAK,KAAK,iBAAQ,CAAC,WAAW;QAClC,CAAC,CAAC;CACb;QACW,CAAC,CAAC,EAAE,CAAC;IAEb,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,kBAAkB,uCAAuC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEnG,kBAAkB;IAClB,IAAI,QAAQ,KAAK,iBAAQ,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,CAAC,cAAc,CAAC,qDAAqD,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC;YACR,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,IAAI,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC;AACL,CAAC,CAAC;AA1BW,QAAA,aAAa,iBA0BxB","sourcesContent":["/* eslint-disable no-console */\n\nimport type { LoggerPayload } from './logger';\nimport { LogLevel } from './logger';\nimport { getLogLevel } from '../debug-state';\n\n// We need to pick the callable keys from the console object\ntype ConsoleLogsTypes = keyof Pick<typeof console, 'log' | 'warn' | 'error' | 'info' | 'debug'>;\n\nconst getLoggingFromLevel = (level: LogLevel): ConsoleLogsTypes => {\n switch (level) {\n case LogLevel.error:\n return 'error';\n case LogLevel.debug:\n return 'debug';\n case LogLevel.info:\n return 'info';\n case LogLevel.warn:\n case LogLevel.deprecation:\n return 'warn';\n default:\n return 'debug';\n }\n};\n\n// Naive implementation but we can't use bitwise operators :(\nconst debugLevels = Object.values(LogLevel);\nconst errorLevels = debugLevels.filter((level) => level !== LogLevel.debug);\nconst warnLevels = errorLevels.filter((level) => level !== LogLevel.error);\nconst deprecationLevels = warnLevels.filter((level) => level !== LogLevel.warn);\nconst infoLevels = deprecationLevels.filter((level) => level !== LogLevel.deprecation);\n\nconst levelsMap: { [key: string]: string[] } = {\n [LogLevel.debug]: debugLevels,\n [LogLevel.error]: errorLevels,\n [LogLevel.warn]: warnLevels,\n [LogLevel.deprecation]: deprecationLevels,\n [LogLevel.info]: infoLevels,\n};\n\nfunction shouldDisplayLog(logLevel: LogLevel, eventLogLevel: LogLevel) {\n if (logLevel === LogLevel.debug) {\n return true;\n }\n\n const levels = levelsMap[logLevel];\n\n return Array.isArray(levels) ? levels.includes(eventLogLevel) : false;\n}\n\n// eslint-disable-next-line import/prefer-default-export\nexport const consoleLogger = (payload: LoggerPayload) => {\n const eventLogLevel = payload.level;\n const logLevel = getLogLevel();\n\n if (!shouldDisplayLog(logLevel, eventLogLevel)) {\n return;\n }\n\n const consoleKey = getLoggingFromLevel(eventLogLevel);\n const deprecationWarning =\n payload.level === LogLevel.deprecation\n ? `⚠️⚠️⚠️ DEPRECATION WARNING ⚠️⚠️⚠️\n`\n : '';\n\n console[consoleKey](`${deprecationWarning}[Atlassian Client-side Extensions]: ${payload.message}`);\n\n // Verbose logging\n if (logLevel === LogLevel.debug) {\n console.groupCollapsed(' <click here for more details about above message>');\n console.log({\n components: payload.components,\n meta: payload.meta,\n });\n console.groupEnd();\n }\n};\n"]}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../lib/logger/console.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\n\nimport type { LoggerPayload } from './logger';\nimport { LogLevel } from './logger';\nimport { getLogLevel } from '../debug-state';\n\n// We need to pick the callable keys from the console object\ntype ConsoleLogsTypes = keyof Pick<typeof console, 'log' | 'warn' | 'error' | 'info' | 'debug'>;\n\nconst getLoggingFromLevel = (level: LogLevel): ConsoleLogsTypes => {\n switch (level) {\n case LogLevel.error:\n return 'error';\n case LogLevel.debug:\n return 'debug';\n case LogLevel.info:\n return 'info';\n case LogLevel.warn:\n case LogLevel.deprecation:\n return 'warn';\n default:\n return 'debug';\n }\n};\n\n// Naive implementation but we can't use bitwise operators :(\nconst debugLevels = Object.values(LogLevel);\nconst errorLevels = debugLevels.filter((level) => level !== LogLevel.debug);\nconst warnLevels = errorLevels.filter((level) => level !== LogLevel.error);\nconst deprecationLevels = warnLevels.filter((level) => level !== LogLevel.warn);\nconst infoLevels = deprecationLevels.filter((level) => level !== LogLevel.deprecation);\n\nconst levelsMap: { [key: string]: string[] } = {\n [LogLevel.debug]: debugLevels,\n [LogLevel.error]: errorLevels,\n [LogLevel.warn]: warnLevels,\n [LogLevel.deprecation]: deprecationLevels,\n [LogLevel.info]: infoLevels,\n};\n\nfunction shouldDisplayLog(logLevel: LogLevel, eventLogLevel: LogLevel) {\n if (logLevel === LogLevel.debug) {\n return true;\n }\n\n const levels = levelsMap[logLevel];\n\n return Array.isArray(levels) ? levels.includes(eventLogLevel) : false;\n}\nexport const consoleLogger = (payload: LoggerPayload) => {\n const eventLogLevel = payload.level;\n const logLevel = getLogLevel();\n\n if (!shouldDisplayLog(logLevel, eventLogLevel)) {\n return;\n }\n\n const consoleKey = getLoggingFromLevel(eventLogLevel);\n const deprecationWarning =\n payload.level === LogLevel.deprecation\n ? `⚠️⚠️⚠️ DEPRECATION WARNING ⚠️⚠️⚠️\n`\n : '';\n\n console[consoleKey](`${deprecationWarning}[Atlassian Client-side Extensions]: ${payload.message}`);\n\n // Verbose logging\n if (logLevel === LogLevel.debug) {\n console.groupCollapsed(' <click here for more details about above message>');\n console.log({\n components: payload.components,\n meta: payload.meta,\n });\n console.groupEnd();\n }\n};\n"]}
@@ -11,7 +11,7 @@ const logger_1 = require("./logger");
11
11
  * @deprecated
12
12
  */
13
13
  const observeLogger = (observer) => {
14
- return (0, debug_subjects_1.observeDebugSubject)("logger" /* DebugSubjects.Logger */, observer);
14
+ return (0, debug_subjects_1.observeDebugSubject)(debug_subjects_1.DebugSubjects.Logger, observer);
15
15
  };
16
16
  exports.observeLogger = observeLogger;
17
17
  const registerConsoleLogger = () => {
@@ -42,7 +42,7 @@ const setLogger = (logger) => {
42
42
  }
43
43
  deregisterLogger();
44
44
  logger_1._loggerSubject.prune();
45
- (0, debug_subjects_1.observeDebugSubject)("logger" /* DebugSubjects.Logger */, logger);
45
+ (0, debug_subjects_1.observeDebugSubject)(debug_subjects_1.DebugSubjects.Logger, logger);
46
46
  };
47
47
  exports.setLogger = setLogger;
48
48
  const deregisterDefaultLogger = () => exports.defaultLogger.unsubscribe();
@@ -1 +1 @@
1
- {"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../../lib/logger/default-logger.ts"],"names":[],"mappings":";;;AAEA,uCAA0C;AAC1C,sDAAuE;AAEvE,qCAA0C;AAS1C;;;;;GAKG;AACI,MAAM,aAAa,GAAG,CAAC,QAAiC,EAAgB,EAAE;IAC7E,OAAO,IAAA,oCAAmB,uCAAsC,QAAQ,CAAC,CAAC;AAC9E,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,MAAM,qBAAqB,GAAG,GAAiB,EAAE;IAC7C,sEAAsE;IACtE,wDAAwD;IACxD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,aAAa,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,aAAa,GAAG,IAAA,qBAAa,EAAC,uBAAa,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC,aAAa,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAS,EAAE;IAChC,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO;IACX,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC;AAEW,QAAA,aAAa,GAAG,qBAAqB,EAAE,CAAC;AAErD;;;;;GAKG;AACI,MAAM,SAAS,GAAG,CAAC,MAA+B,EAAQ,EAAE;IAC/D,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACzF,CAAC;IAED,gBAAgB,EAAE,CAAC;IACnB,uBAAc,CAAC,KAAK,EAAE,CAAC;IAEvB,IAAA,oCAAmB,uCAAsC,MAAM,CAAC,CAAC;AACrE,CAAC,CAAC;AATW,QAAA,SAAS,aASpB;AAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,qBAAa,CAAC,WAAW,EAAE,CAAC;AAG9B,2DAAwB","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { Observer, Subscription } from '@atlassian/clientside-extensions-base';\nimport { consoleLogger } from './console';\nimport { DebugSubjects, observeDebugSubject } from '../debug-subjects';\nimport type { LoggerPayload } from './logger';\nimport { _loggerSubject } from './logger';\n\ndeclare global {\n interface Window {\n // clientside extension default logging deregister\n ____c_p_d_l_d?: Subscription;\n }\n}\n\n/**\n * We need to keep and expose the \"observeLogger\" function for a legacy reason.\n * It should be removed in CSEv3\n *\n * @deprecated\n */\nexport const observeLogger = (observer: Observer<LoggerPayload>): Subscription => {\n return observeDebugSubject<LoggerPayload>(DebugSubjects.Logger, observer);\n};\n\nconst registerConsoleLogger = (): Subscription => {\n // Singleton workaround as this module may be executed more than once.\n // We only ever want one global default logger, however.\n if (window.____c_p_d_l_d !== undefined) {\n return window.____c_p_d_l_d;\n }\n\n window.____c_p_d_l_d = observeLogger(consoleLogger);\n\n return window.____c_p_d_l_d;\n};\n\nconst deregisterLogger = (): void => {\n if (window.____c_p_d_l_d === undefined) {\n return;\n }\n\n window.____c_p_d_l_d.unsubscribe();\n};\n\nexport const defaultLogger = registerConsoleLogger();\n\n/**\n * Added in CSE 2.1.0\n *\n * @param logger\n * @public\n */\nexport const setLogger = (logger: Observer<LoggerPayload>): void => {\n if (typeof logger !== 'function') {\n throw new Error(`Client-side Extension: The provided logger needs to be a function`);\n }\n\n deregisterLogger();\n _loggerSubject.prune();\n\n observeDebugSubject<LoggerPayload>(DebugSubjects.Logger, logger);\n};\n\nconst deregisterDefaultLogger = () => defaultLogger.unsubscribe();\n\n// @VisibleForTesting\nexport { deregisterDefaultLogger as _deregisterDefaultLogger };\n"]}
1
+ {"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../../lib/logger/default-logger.ts"],"names":[],"mappings":";;;AAEA,uCAA0C;AAC1C,sDAAuE;AAEvE,qCAA0C;AAS1C;;;;;GAKG;AACI,MAAM,aAAa,GAAG,CAAC,QAAiC,EAAgB,EAAE;IAC7E,OAAO,IAAA,oCAAmB,EAAgB,8BAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEF,MAAM,qBAAqB,GAAG,GAAiB,EAAE;IAC7C,sEAAsE;IACtE,wDAAwD;IACxD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,aAAa,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,aAAa,GAAG,IAAA,qBAAa,EAAC,uBAAa,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC,aAAa,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAS,EAAE;IAChC,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO;IACX,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC;AAEW,QAAA,aAAa,GAAG,qBAAqB,EAAE,CAAC;AAErD;;;;;GAKG;AACI,MAAM,SAAS,GAAG,CAAC,MAA+B,EAAQ,EAAE;IAC/D,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACzF,CAAC;IAED,gBAAgB,EAAE,CAAC;IACnB,uBAAc,CAAC,KAAK,EAAE,CAAC;IAEvB,IAAA,oCAAmB,EAAgB,8BAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC,CAAC;AATW,QAAA,SAAS,aASpB;AAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,qBAAa,CAAC,WAAW,EAAE,CAAC;AAG9B,2DAAwB","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { Observer, Subscription } from '@atlassian/clientside-extensions-base';\nimport { consoleLogger } from './console';\nimport { DebugSubjects, observeDebugSubject } from '../debug-subjects';\nimport type { LoggerPayload } from './logger';\nimport { _loggerSubject } from './logger';\n\ndeclare global {\n interface Window {\n // clientside extension default logging deregister\n ____c_p_d_l_d?: Subscription;\n }\n}\n\n/**\n * We need to keep and expose the \"observeLogger\" function for a legacy reason.\n * It should be removed in CSEv3\n *\n * @deprecated\n */\nexport const observeLogger = (observer: Observer<LoggerPayload>): Subscription => {\n return observeDebugSubject<LoggerPayload>(DebugSubjects.Logger, observer);\n};\n\nconst registerConsoleLogger = (): Subscription => {\n // Singleton workaround as this module may be executed more than once.\n // We only ever want one global default logger, however.\n if (window.____c_p_d_l_d !== undefined) {\n return window.____c_p_d_l_d;\n }\n\n window.____c_p_d_l_d = observeLogger(consoleLogger);\n\n return window.____c_p_d_l_d;\n};\n\nconst deregisterLogger = (): void => {\n if (window.____c_p_d_l_d === undefined) {\n return;\n }\n\n window.____c_p_d_l_d.unsubscribe();\n};\n\nexport const defaultLogger = registerConsoleLogger();\n\n/**\n * Added in CSE 2.1.0\n *\n * @param logger\n * @public\n */\nexport const setLogger = (logger: Observer<LoggerPayload>): void => {\n if (typeof logger !== 'function') {\n throw new Error(`Client-side Extension: The provided logger needs to be a function`);\n }\n\n deregisterLogger();\n _loggerSubject.prune();\n\n observeDebugSubject<LoggerPayload>(DebugSubjects.Logger, logger);\n};\n\nconst deregisterDefaultLogger = () => defaultLogger.unsubscribe();\n\n// @VisibleForTesting\nexport { deregisterDefaultLogger as _deregisterDefaultLogger };\n"]}
@@ -11,6 +11,6 @@ var LogLevel;
11
11
  LogLevel["deprecation"] = "DEPRECATION";
12
12
  LogLevel["info"] = "INFO";
13
13
  })(LogLevel || (exports.LogLevel = LogLevel = {}));
14
- const loggerSubject = (0, debug_subjects_1.registerDebugSubject)("logger" /* DebugSubjects.Logger */, () => new clientside_extensions_base_1.ReplaySubject(20));
14
+ const loggerSubject = (0, debug_subjects_1.registerDebugSubject)(debug_subjects_1.DebugSubjects.Logger, () => new clientside_extensions_base_1.ReplaySubject(20));
15
15
  exports._loggerSubject = loggerSubject;
16
16
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../lib/logger/logger.ts"],"names":[],"mappings":";;;AAAA,sFAAsE;AACtE,sDAAwE;AAExE,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,uCAA2B,CAAA;IAC3B,yBAAa,CAAA;AACjB,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAaD,MAAM,aAAa,GAAG,IAAA,qCAAoB,uCAAuB,GAAG,EAAE,CAAC,IAAI,0CAAa,CAAgB,EAAE,CAAC,CAAC,CAAC;AAGnF,uCAAc","sourcesContent":["import { ReplaySubject } from '@atlassian/clientside-extensions-base';\nimport { DebugSubjects, registerDebugSubject } from '../debug-subjects';\n\nexport enum LogLevel {\n debug = 'DEBUG', // Logs all the things\n error = 'ERROR',\n warn = 'WARN',\n deprecation = 'DEPRECATION',\n info = 'INFO', // The lowest level\n}\n\nexport type LoggerCallback = (levels: typeof LogLevel) => LoggerPayload;\n\nexport type LoggerPayload = {\n level: LogLevel;\n message: string;\n components?: string | string[];\n meta?: {\n [key: string]: unknown;\n };\n};\n\nconst loggerSubject = registerDebugSubject(DebugSubjects.Logger, () => new ReplaySubject<LoggerPayload>(20));\n\n// Exported for internal use only\nexport { loggerSubject as _loggerSubject };\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../lib/logger/logger.ts"],"names":[],"mappings":";;;AAAA,sFAAsE;AACtE,sDAAwE;AAExE,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,uCAA2B,CAAA;IAC3B,yBAAa,CAAA;AACjB,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAaD,MAAM,aAAa,GAAG,IAAA,qCAAoB,EAAC,8BAAa,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,0CAAa,CAAgB,EAAE,CAAC,CAAC,CAAC;AAGnF,uCAAc","sourcesContent":["import { ReplaySubject } from '@atlassian/clientside-extensions-base';\nimport { DebugSubjects, registerDebugSubject } from '../debug-subjects';\n\nexport enum LogLevel {\n debug = 'DEBUG', // Logs all the things\n error = 'ERROR',\n warn = 'WARN',\n deprecation = 'DEPRECATION',\n info = 'INFO', // The lowest level\n}\n\nexport type LoggerCallback = (levels: typeof LogLevel) => LoggerPayload;\n\nexport type LoggerPayload = {\n level: LogLevel;\n message: string;\n components?: string | string[];\n meta?: {\n [key: string]: unknown;\n };\n};\n\nconst loggerSubject = registerDebugSubject(DebugSubjects.Logger, () => new ReplaySubject<LoggerPayload>(20));\n\n// Exported for internal use only\nexport { loggerSubject as _loggerSubject };\n"]}
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable no-underscore-dangle */
2
2
  var _a;
3
3
  import { ReplaySubject } from '@atlassian/clientside-extensions-base';
4
- import { observeDebugSubject, registerDebugSubject } from './debug-subjects';
4
+ import { DebugSubjects, observeDebugSubject, registerDebugSubject } from './debug-subjects';
5
5
  import { LogLevel } from './logger/logger';
6
6
  var ClientExtensionDebugTypes;
7
7
  (function (ClientExtensionDebugTypes) {
@@ -23,7 +23,7 @@ const defineDebugGlobal = (previousGlobal) => {
23
23
  // In dev mode we set default loglevel to INFO
24
24
  logLevel: process.env.NODE_ENV === 'production' ? LogLevel.error : LogLevel.info,
25
25
  };
26
- const debugStateSubject = registerDebugSubject("state" /* DebugSubjects.State */, () => new ReplaySubject(1));
26
+ const debugStateSubject = registerDebugSubject(DebugSubjects.State, () => new ReplaySubject(1));
27
27
  const properties = {
28
28
  debug: {
29
29
  get() {
@@ -113,7 +113,7 @@ const defineDebugGlobal = (previousGlobal) => {
113
113
  if (!('____c_p_d' in window) || !window.____c_p_d.__initialized) {
114
114
  defineDebugGlobal((_a = window.____c_p_d) !== null && _a !== void 0 ? _a : process.env.NODE_ENV !== 'production');
115
115
  }
116
- export const observeStateChange = (observer) => observeDebugSubject("state" /* DebugSubjects.State */, observer);
116
+ export const observeStateChange = (observer) => observeDebugSubject(DebugSubjects.State, observer);
117
117
  export const isDebugEnabled = () => {
118
118
  return window.____c_p_d.debug;
119
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"debug-state.js","sourceRoot":"","sources":["../../lib/debug-state.ts"],"names":[],"mappings":"AAAA,yCAAyC;;AAGzC,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAiB,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,IAAK,yBAOJ;AAPD,WAAK,yBAAyB;IAC1B,4CAAe,CAAA;IACf,gDAAmB,CAAA;IACnB,sDAAyB,CAAA;IACzB,oDAAuB,CAAA;IACvB,mBAAmB;IACnB,kDAAqB,CAAA;AACzB,CAAC,EAPI,yBAAyB,KAAzB,yBAAyB,QAO7B;AA6BD,MAAM,iBAAiB,GAAG,CAAC,cAAuB,EAAE,EAAE;IAClD,MAAM,WAAW,GAA6B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,WAAW,GAAyB;QACtC,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,KAAK;QACjB,SAAS,EAAE,KAAK;QAChB,mBAAmB;QACnB,8CAA8C;QAC9C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;KACnF,CAAC;IAEF,MAAM,iBAAiB,GAAG,oBAAoB,oCAAsB,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhG,MAAM,UAAU,GAA6B;QACzC,KAAK,EAAE;YACH,GAAG;gBACC,OAAO,WAAW,CAAC,KAAK,CAAC;YAC7B,CAAC;YACD,GAAG,CAAC,GAAY;gBACZ,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;SACJ;QACD,OAAO,EAAE;YACL,GAAG;gBACC,OAAO,WAAW,CAAC,OAAO,CAAC;YAC/B,CAAC;YACD,GAAG,CAAC,GAAY;gBACZ,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACnC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;SACJ;QACD,UAAU,EAAE;YACR,GAAG;gBACC,OAAO,WAAW,CAAC,UAAU,CAAC;YAClC,CAAC;YACD,GAAG,CAAC,GAAY;gBACZ,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;SACJ;QACD,SAAS,EAAE;YACP,GAAG;gBACC,OAAO,WAAW,CAAC,SAAS,CAAC;YACjC,CAAC;YACD,GAAG,CAAC,GAAY;gBACZ,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;SACJ;QACD,mBAAmB;QACnB,QAAQ,EAAE;YACN,GAAG;gBACC,OAAO,WAAW,CAAC,QAAQ,CAAC;YAChC,CAAC;YACD,GAAG,CAAC,GAAY;gBACZ,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAc,CAAC;gBAElD,wBAAwB;gBACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3C,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC1B,CAAC;gBAED,WAAW,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7B,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;SACJ;QACD,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;KAClD,CAAC;IACF,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAEjD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;QACvC,YAAY,EAAE,IAAI,EAAE,wBAAwB;QAC5C,GAAG;YACC,OAAO,WAAW,CAAC;QACvB,CAAC;QACD,GAAG,CAAC,GAAG;YACH,gBAAgB;YAChB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAChC,WAAW,CAAC,KAAK,GAAG,GAAG,CAAC;gBACxB,WAAW,CAAC,OAAO,GAAG,GAAG,CAAC;gBAC1B,WAAW,CAAC,UAAU,GAAG,GAAG,CAAC;gBAC7B,WAAW,CAAC,SAAS,GAAG,GAAG,CAAC;gBAC5B,OAAO;YACX,CAAC;YAED,sCAAsC;YACtC,6CAA6C;YAC7C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC1C,OAAO;YACX,CAAC;YAED,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAmC,CAAC;YAE1G,wBAAwB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;oBACb,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC,CAAC;IAEH,kFAAkF;IAClF,MAAM,CAAC,SAAS,GAAG,cAA6C,CAAC;AACrE,CAAC,CAAC;AAEF,kCAAkC;AAClC,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IAC9D,iBAAiB,CAAC,MAAA,MAAM,CAAC,SAAS,mCAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAwC,EAAE,EAAE,CAC3E,mBAAmB,oCAA4C,QAAQ,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IAC/B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACjC,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACpC,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACnC,OAAO,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;AACtC,CAAC,CAAC;AAEF,mBAAmB;AACnB,MAAM,CAAC,MAAM,WAAW,GAAG,GAAa,EAAE;;IACtC,OAAO,MAAA,MAAM,CAAC,SAAS,CAAC,QAAQ,mCAAI,QAAQ,CAAC,IAAI,CAAC;AACtD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAE,EAAE;IAC9C,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAE,EAAE;IAChD,MAAM,CAAC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAE,EAAE;IACnD,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAE,EAAE;IAClD,MAAM,CAAC,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;AACvC,CAAC,CAAC;AAEF,mBAAmB;AACnB,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAc,CAAC;IAE9C,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtC,CAAC,CAAC","sourcesContent":["/* eslint-disable no-underscore-dangle */\n\nimport type { Observer } from '@atlassian/clientside-extensions-base';\nimport { ReplaySubject } from '@atlassian/clientside-extensions-base';\nimport { DebugSubjects, observeDebugSubject, registerDebugSubject } from './debug-subjects';\nimport { LogLevel } from './logger/logger';\n\nenum ClientExtensionDebugTypes {\n debug = 'debug',\n logging = 'logging',\n validation = 'validation',\n discovery = 'discovery',\n /** @since 2.1.0 */\n logLevel = 'logLevel',\n}\n\ntype DebugTypeKeys = Exclude<keyof typeof ClientExtensionDebugTypes, 'logLevel'>;\n\nexport type ClientExtensionDebug = {\n [key in DebugTypeKeys]: boolean;\n} & {\n [ClientExtensionDebugTypes.logLevel]: LogLevel;\n};\n\n// Type for the internal property descriptors used during setup\ntype DebugPropertyDescriptors = { [key in keyof ClientExtensionDebug]: PropertyDescriptor } & {\n __initialized: PropertyDescriptor;\n};\n\n// Type for the runtime interface - what you actually get when accessing the properties\nexport type ExposedClientExtensionDebug = ClientExtensionDebug & {\n __initialized: boolean;\n};\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface Window {\n // The global ____c_p_d is a primitive boolean value that holds additional properties\n // Due to historical name changes the \"p\" still represents the old \"plugin\" nomenclature\n ____c_p_d: ExposedClientExtensionDebug;\n }\n}\n\nconst defineDebugGlobal = (previousGlobal: unknown) => {\n const debugGlobal: DebugPropertyDescriptors = Object.create(null);\n const debugStates: ClientExtensionDebug = {\n debug: false,\n logging: false,\n validation: false,\n discovery: false,\n /** @since 2.1.0 */\n // In dev mode we set default loglevel to INFO\n logLevel: process.env.NODE_ENV === 'production' ? LogLevel.error : LogLevel.info,\n };\n\n const debugStateSubject = registerDebugSubject(DebugSubjects.State, () => new ReplaySubject(1));\n\n const properties: DebugPropertyDescriptors = {\n debug: {\n get() {\n return debugStates.debug;\n },\n set(val: unknown) {\n debugStates.debug = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n logging: {\n get() {\n return debugStates.logging;\n },\n set(val: unknown) {\n debugStates.logging = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n validation: {\n get() {\n return debugStates.validation;\n },\n set(val: unknown) {\n debugStates.validation = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n discovery: {\n get() {\n return debugStates.discovery;\n },\n set(val: unknown) {\n debugStates.discovery = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n /** @since 2.1.0 */\n logLevel: {\n get() {\n return debugStates.logLevel;\n },\n set(val: unknown) {\n let level = String(val).toUpperCase() as LogLevel;\n\n // Handle runtime errors\n if (!Object.values(LogLevel).includes(level)) {\n level = LogLevel.info;\n }\n\n debugStates.logLevel = level;\n debugStateSubject.notify(debugStates);\n },\n },\n __initialized: { value: true, writable: false },\n };\n Object.defineProperties(debugGlobal, properties);\n\n Object.defineProperty(window, '____c_p_d', {\n configurable: true, // needed for testing :(\n get() {\n return debugGlobal;\n },\n set(val) {\n // its a boolean\n if (val === true || val === false) {\n debugGlobal.debug = val;\n debugGlobal.logging = val;\n debugGlobal.validation = val;\n debugGlobal.discovery = val;\n return;\n }\n\n // we can handle booleans - like above\n // or objects (except null) and nothing else.\n if (typeof val !== 'object' || val === null) {\n return;\n }\n\n const clientExtensionDebugKeys = Object.keys(ClientExtensionDebugTypes) as (keyof ClientExtensionDebug)[];\n\n clientExtensionDebugKeys.forEach((key) => {\n if (key in val) {\n debugGlobal[key] = val[key];\n }\n });\n },\n });\n\n // Now, we can use the previous value e.g. boolean, to set the value for all flags\n window.____c_p_d = previousGlobal as ExposedClientExtensionDebug;\n};\n\n// Register global value only once\nif (!('____c_p_d' in window) || !window.____c_p_d.__initialized) {\n defineDebugGlobal(window.____c_p_d ?? process.env.NODE_ENV !== 'production');\n}\n\nexport const observeStateChange = (observer: Observer<ClientExtensionDebug>) =>\n observeDebugSubject<ClientExtensionDebug>(DebugSubjects.State, observer);\n\nexport const isDebugEnabled = () => {\n return window.____c_p_d.debug;\n};\n\nexport const isLoggingEnabled = () => {\n return window.____c_p_d.logging;\n};\n\nexport const isValidationEnabled = () => {\n return window.____c_p_d.validation;\n};\n\nexport const isDiscoveryEnabled = () => {\n return window.____c_p_d.discovery;\n};\n\n/** @since 2.1.0 */\nexport const getLogLevel = (): LogLevel => {\n return window.____c_p_d.logLevel ?? LogLevel.info;\n};\n\nexport const setDebugEnabled = (value: boolean) => {\n window.____c_p_d.debug = value;\n};\n\nexport const setLoggingEnabled = (value: boolean) => {\n window.____c_p_d.logging = value;\n};\n\nexport const setValidationEnabled = (value: boolean) => {\n window.____c_p_d.validation = value;\n};\n\nexport const setDiscoveryEnabled = (value: boolean) => {\n window.____c_p_d.discovery = value;\n};\n\n/** @since 2.1.0 */\nexport const setLogLevel = (value: string) => {\n const level = value.toUpperCase() as LogLevel;\n\n window.____c_p_d.logLevel = level;\n};\n"]}
1
+ {"version":3,"file":"debug-state.js","sourceRoot":"","sources":["../../lib/debug-state.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\n\nimport type { Observer } from '@atlassian/clientside-extensions-base';\nimport { ReplaySubject } from '@atlassian/clientside-extensions-base';\nimport { DebugSubjects, observeDebugSubject, registerDebugSubject } from './debug-subjects';\nimport { LogLevel } from './logger/logger';\n\nenum ClientExtensionDebugTypes {\n debug = 'debug',\n logging = 'logging',\n validation = 'validation',\n discovery = 'discovery',\n /** @since 2.1.0 */\n logLevel = 'logLevel',\n}\n\ntype DebugTypeKeys = Exclude<keyof typeof ClientExtensionDebugTypes, 'logLevel'>;\n\nexport type ClientExtensionDebug = {\n [key in DebugTypeKeys]: boolean;\n} & {\n [ClientExtensionDebugTypes.logLevel]: LogLevel;\n};\n\n// Type for the internal property descriptors used during setup\ntype DebugPropertyDescriptors = { [key in keyof ClientExtensionDebug]: PropertyDescriptor } & {\n __initialized: PropertyDescriptor;\n};\n\n// Type for the runtime interface - what you actually get when accessing the properties\nexport type ExposedClientExtensionDebug = ClientExtensionDebug & {\n __initialized: boolean;\n};\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface Window {\n // The global ____c_p_d is a primitive boolean value that holds additional properties\n // Due to historical name changes the \"p\" still represents the old \"plugin\" nomenclature\n ____c_p_d: ExposedClientExtensionDebug;\n }\n}\n\nconst defineDebugGlobal = (previousGlobal: unknown) => {\n const debugGlobal: DebugPropertyDescriptors = Object.create(null);\n const debugStates: ClientExtensionDebug = {\n debug: false,\n logging: false,\n validation: false,\n discovery: false,\n /** @since 2.1.0 */\n // In dev mode we set default loglevel to INFO\n logLevel: process.env.NODE_ENV === 'production' ? LogLevel.error : LogLevel.info,\n };\n\n const debugStateSubject = registerDebugSubject(DebugSubjects.State, () => new ReplaySubject(1));\n\n const properties: DebugPropertyDescriptors = {\n debug: {\n get() {\n return debugStates.debug;\n },\n set(val: unknown) {\n debugStates.debug = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n logging: {\n get() {\n return debugStates.logging;\n },\n set(val: unknown) {\n debugStates.logging = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n validation: {\n get() {\n return debugStates.validation;\n },\n set(val: unknown) {\n debugStates.validation = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n discovery: {\n get() {\n return debugStates.discovery;\n },\n set(val: unknown) {\n debugStates.discovery = Boolean(val);\n debugStateSubject.notify(debugStates);\n },\n },\n /** @since 2.1.0 */\n logLevel: {\n get() {\n return debugStates.logLevel;\n },\n set(val: unknown) {\n let level = String(val).toUpperCase() as LogLevel;\n\n // Handle runtime errors\n if (!Object.values(LogLevel).includes(level)) {\n level = LogLevel.info;\n }\n\n debugStates.logLevel = level;\n debugStateSubject.notify(debugStates);\n },\n },\n __initialized: { value: true, writable: false },\n };\n Object.defineProperties(debugGlobal, properties);\n\n Object.defineProperty(window, '____c_p_d', {\n configurable: true, // needed for testing :(\n get() {\n return debugGlobal;\n },\n set(val) {\n // its a boolean\n if (val === true || val === false) {\n debugGlobal.debug = val;\n debugGlobal.logging = val;\n debugGlobal.validation = val;\n debugGlobal.discovery = val;\n return;\n }\n\n // we can handle booleans - like above\n // or objects (except null) and nothing else.\n if (typeof val !== 'object' || val === null) {\n return;\n }\n\n const clientExtensionDebugKeys = Object.keys(ClientExtensionDebugTypes) as (keyof ClientExtensionDebug)[];\n\n clientExtensionDebugKeys.forEach((key) => {\n if (key in val) {\n debugGlobal[key] = val[key];\n }\n });\n },\n });\n\n // Now, we can use the previous value e.g. boolean, to set the value for all flags\n window.____c_p_d = previousGlobal as ExposedClientExtensionDebug;\n};\n\n// Register global value only once\nif (!('____c_p_d' in window) || !window.____c_p_d.__initialized) {\n defineDebugGlobal(window.____c_p_d ?? process.env.NODE_ENV !== 'production');\n}\n\nexport const observeStateChange = (observer: Observer<ClientExtensionDebug>) =>\n observeDebugSubject<ClientExtensionDebug>(DebugSubjects.State, observer);\n\nexport const isDebugEnabled = () => {\n return window.____c_p_d.debug;\n};\n\nexport const isLoggingEnabled = () => {\n return window.____c_p_d.logging;\n};\n\nexport const isValidationEnabled = () => {\n return window.____c_p_d.validation;\n};\n\nexport const isDiscoveryEnabled = () => {\n return window.____c_p_d.discovery;\n};\n\n/** @since 2.1.0 */\nexport const getLogLevel = (): LogLevel => {\n return window.____c_p_d.logLevel ?? LogLevel.info;\n};\n\nexport const setDebugEnabled = (value: boolean) => {\n window.____c_p_d.debug = value;\n};\n\nexport const setLoggingEnabled = (value: boolean) => {\n window.____c_p_d.logging = value;\n};\n\nexport const setValidationEnabled = (value: boolean) => {\n window.____c_p_d.validation = value;\n};\n\nexport const setDiscoveryEnabled = (value: boolean) => {\n window.____c_p_d.discovery = value;\n};\n\n/** @since 2.1.0 */\nexport const setLogLevel = (value: string) => {\n const level = value.toUpperCase() as LogLevel;\n\n window.____c_p_d.logLevel = level;\n};\n"]}
@@ -1,3 +1,8 @@
1
+ export var DebugSubjects;
2
+ (function (DebugSubjects) {
3
+ DebugSubjects["Logger"] = "logger";
4
+ DebugSubjects["State"] = "state";
5
+ })(DebugSubjects || (DebugSubjects = {}));
1
6
  const defineSubjectGlobal = () => {
2
7
  // initialize as boolean
3
8
  const subjectGlobal = Object.create(null);
@@ -1 +1 @@
1
- {"version":3,"file":"debug-subjects.js","sourceRoot":"","sources":["../../lib/debug-subjects.ts"],"names":[],"mappings":"AAyBA,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC7B,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAmC;QAC/C,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC/C,QAAQ,EAAE;YACN,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,KAAK;SAClB;KACJ,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAEnD,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC;AACrC,CAAC,CAAC;AAEF,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IAC9D,mBAAmB,EAAE,CAAC;AAC1B,CAAC;AAID;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,GAAkB,EAClB,cAAiC,EACtB,EAAE;IACb,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAyC,CAAC;IAEjF,0EAA0E;IAC1E,6HAA6H;IAC7H,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAc,GAAkB,EAAE,QAA+B,EAAE,EAAE;IACpG,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAkD,CAAC;IAE1F,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC,CAAC","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { Observer, Subject } from '@atlassian/clientside-extensions-base';\n\ntype ExposedClientExtensionSubjects = {\n __initialized: PropertyDescriptor;\n subjects: PropertyDescriptor;\n};\n\nexport const enum DebugSubjects {\n Logger = 'logger',\n State = 'state',\n}\n\ntype DebugSubjectsMap<SubjectT> = {\n [key in DebugSubjects]: SubjectT;\n};\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface Window {\n // Due to historical name changes the \"p\" still represents the old \"plugin\" nomenclature\n ____c_p_s: ExposedClientExtensionSubjects;\n }\n}\n\nconst defineSubjectGlobal = () => {\n // initialize as boolean\n const subjectGlobal = Object.create(null);\n\n const properties: ExposedClientExtensionSubjects = {\n __initialized: { value: true, writable: false },\n subjects: {\n value: subjectGlobal,\n writable: false,\n },\n };\n\n Object.defineProperties(subjectGlobal, properties);\n\n window.____c_p_s = subjectGlobal;\n};\n\nif (!('____c_p_s' in window) || !window.____c_p_s.__initialized) {\n defineSubjectGlobal();\n}\n\ntype UnpackPayloadType<SubjectType> = SubjectType extends Subject<infer U> ? U : never;\n\n/**\n * Registers a debug subject as singleton\n *\n * @param key\n * @param subjectFactory\n */\nexport const registerDebugSubject = <SubjectType extends Subject<PayloadType>, PayloadType = UnpackPayloadType<SubjectType>>(\n key: DebugSubjects,\n subjectFactory: () => SubjectType,\n): SubjectType => {\n const debugSubjects = window.____c_p_s.subjects as DebugSubjectsMap<SubjectType>;\n\n // good old singletons - ensure we do not register the same subject twice.\n // we also can't fail as multiple instances might try to access the same, so instead we return the previously registered one.\n if (!(key in debugSubjects)) {\n debugSubjects[key] = subjectFactory();\n }\n\n return debugSubjects[key];\n};\n\nexport const observeDebugSubject = <PayloadType>(key: DebugSubjects, observer: Observer<PayloadType>) => {\n const debugSubjects = window.____c_p_s.subjects as DebugSubjectsMap<Subject<PayloadType>>;\n\n if (!(key in debugSubjects)) {\n throw new Error(`No subject registered for key: \"${key}\"`);\n }\n\n return debugSubjects[key].subscribe(observer);\n};\n"]}
1
+ {"version":3,"file":"debug-subjects.js","sourceRoot":"","sources":["../../lib/debug-subjects.ts"],"names":[],"mappings":"AAQA,MAAM,CAAN,IAAkB,aAGjB;AAHD,WAAkB,aAAa;IAC3B,kCAAiB,CAAA;IACjB,gCAAe,CAAA;AACnB,CAAC,EAHiB,aAAa,KAAb,aAAa,QAG9B;AAcD,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC7B,wBAAwB;IACxB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAmC;QAC/C,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC/C,QAAQ,EAAE;YACN,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,KAAK;SAClB;KACJ,CAAC;IAEF,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAEnD,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC;AACrC,CAAC,CAAC;AAEF,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IAC9D,mBAAmB,EAAE,CAAC;AAC1B,CAAC;AAID;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAChC,GAAkB,EAClB,cAAiC,EACtB,EAAE;IACb,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAyC,CAAC;IAEjF,0EAA0E;IAC1E,6HAA6H;IAC7H,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC;QAC1B,aAAa,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAc,GAAkB,EAAE,QAA+B,EAAE,EAAE;IACpG,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,QAAkD,CAAC;IAE1F,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,GAAG,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC,CAAC","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { Observer, Subject } from '@atlassian/clientside-extensions-base';\n\ntype ExposedClientExtensionSubjects = {\n __initialized: PropertyDescriptor;\n subjects: PropertyDescriptor;\n};\n\nexport const enum DebugSubjects {\n Logger = 'logger',\n State = 'state',\n}\n\ntype DebugSubjectsMap<SubjectT> = {\n [key in DebugSubjects]: SubjectT;\n};\n\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface Window {\n // Due to historical name changes the \"p\" still represents the old \"plugin\" nomenclature\n ____c_p_s: ExposedClientExtensionSubjects;\n }\n}\n\nconst defineSubjectGlobal = () => {\n // initialize as boolean\n const subjectGlobal = Object.create(null);\n\n const properties: ExposedClientExtensionSubjects = {\n __initialized: { value: true, writable: false },\n subjects: {\n value: subjectGlobal,\n writable: false,\n },\n };\n\n Object.defineProperties(subjectGlobal, properties);\n\n window.____c_p_s = subjectGlobal;\n};\n\nif (!('____c_p_s' in window) || !window.____c_p_s.__initialized) {\n defineSubjectGlobal();\n}\n\ntype UnpackPayloadType<SubjectType> = SubjectType extends Subject<infer U> ? U : never;\n\n/**\n * Registers a debug subject as singleton\n *\n * @param key\n * @param subjectFactory\n */\nexport const registerDebugSubject = <SubjectType extends Subject<PayloadType>, PayloadType = UnpackPayloadType<SubjectType>>(\n key: DebugSubjects,\n subjectFactory: () => SubjectType,\n): SubjectType => {\n const debugSubjects = window.____c_p_s.subjects as DebugSubjectsMap<SubjectType>;\n\n // good old singletons - ensure we do not register the same subject twice.\n // we also can't fail as multiple instances might try to access the same, so instead we return the previously registered one.\n if (!(key in debugSubjects)) {\n debugSubjects[key] = subjectFactory();\n }\n\n return debugSubjects[key];\n};\n\nexport const observeDebugSubject = <PayloadType>(key: DebugSubjects, observer: Observer<PayloadType>) => {\n const debugSubjects = window.____c_p_s.subjects as DebugSubjectsMap<Subject<PayloadType>>;\n\n if (!(key in debugSubjects)) {\n throw new Error(`No subject registered for key: \"${key}\"`);\n }\n\n return debugSubjects[key].subscribe(observer);\n};\n"]}
package/dist/esm/debug.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import { isDebugEnabled, isLoggingEnabled } from './debug-state';
2
2
  import { _loggerSubject, LogLevel } from './logger/logger';
3
- // eslint-disable-next-line import/prefer-default-export
4
3
  export const onDebug = (callback) => {
5
4
  // Return early if both debug and logging is disabled
6
5
  if (!isDebugEnabled() || !isLoggingEnabled()) {
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../lib/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3D,wDAAwD;AACxD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,QAAwB,EAAE,EAAE;IAChD,qDAAqD;IACrD,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAC3C,OAAO;IACX,CAAC;IAED,IAAI,OAAkC,CAAC;IAEvC,IAAI,CAAC;QACD,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,oCAAoC;IACxC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { isDebugEnabled, isLoggingEnabled } from './debug-state';\n\nimport type { LoggerCallback, LoggerPayload } from './logger/logger';\nimport { _loggerSubject, LogLevel } from './logger/logger';\n\n// eslint-disable-next-line import/prefer-default-export\nexport const onDebug = (callback: LoggerCallback) => {\n // Return early if both debug and logging is disabled\n if (!isDebugEnabled() || !isLoggingEnabled()) {\n return;\n }\n\n let payload: LoggerPayload | undefined;\n\n try {\n payload = callback(LogLevel);\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n\n if (payload) {\n _loggerSubject.notify(payload);\n }\n};\n"]}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../lib/debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,QAAwB,EAAE,EAAE;IAChD,qDAAqD;IACrD,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAC3C,OAAO;IACX,CAAC;IAED,IAAI,OAAkC,CAAC;IAEvC,IAAI,CAAC;QACD,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,oCAAoC;IACxC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACV,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { isDebugEnabled, isLoggingEnabled } from './debug-state';\n\nimport type { LoggerCallback, LoggerPayload } from './logger/logger';\nimport { _loggerSubject, LogLevel } from './logger/logger';\nexport const onDebug = (callback: LoggerCallback) => {\n // Return early if both debug and logging is disabled\n if (!isDebugEnabled() || !isLoggingEnabled()) {\n return;\n }\n\n let payload: LoggerPayload | undefined;\n\n try {\n payload = callback(LogLevel);\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n\n if (payload) {\n _loggerSubject.notify(payload);\n }\n};\n"]}
@@ -36,7 +36,6 @@ function shouldDisplayLog(logLevel, eventLogLevel) {
36
36
  const levels = levelsMap[logLevel];
37
37
  return Array.isArray(levels) ? levels.includes(eventLogLevel) : false;
38
38
  }
39
- // eslint-disable-next-line import/prefer-default-export
40
39
  export const consoleLogger = (payload) => {
41
40
  const eventLogLevel = payload.level;
42
41
  const logLevel = getLogLevel();
@@ -1 +1 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../lib/logger/console.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\n\nimport type { LoggerPayload } from './logger';\nimport { LogLevel } from './logger';\nimport { getLogLevel } from '../debug-state';\n\n// We need to pick the callable keys from the console object\ntype ConsoleLogsTypes = keyof Pick<typeof console, 'log' | 'warn' | 'error' | 'info' | 'debug'>;\n\nconst getLoggingFromLevel = (level: LogLevel): ConsoleLogsTypes => {\n switch (level) {\n case LogLevel.error:\n return 'error';\n case LogLevel.debug:\n return 'debug';\n case LogLevel.info:\n return 'info';\n case LogLevel.warn:\n case LogLevel.deprecation:\n return 'warn';\n default:\n return 'debug';\n }\n};\n\n// Naive implementation but we can't use bitwise operators :(\nconst debugLevels = Object.values(LogLevel);\nconst errorLevels = debugLevels.filter((level) => level !== LogLevel.debug);\nconst warnLevels = errorLevels.filter((level) => level !== LogLevel.error);\nconst deprecationLevels = warnLevels.filter((level) => level !== LogLevel.warn);\nconst infoLevels = deprecationLevels.filter((level) => level !== LogLevel.deprecation);\n\nconst levelsMap: { [key: string]: string[] } = {\n [LogLevel.debug]: debugLevels,\n [LogLevel.error]: errorLevels,\n [LogLevel.warn]: warnLevels,\n [LogLevel.deprecation]: deprecationLevels,\n [LogLevel.info]: infoLevels,\n};\n\nfunction shouldDisplayLog(logLevel: LogLevel, eventLogLevel: LogLevel) {\n if (logLevel === LogLevel.debug) {\n return true;\n }\n\n const levels = levelsMap[logLevel];\n\n return Array.isArray(levels) ? levels.includes(eventLogLevel) : false;\n}\n\n// eslint-disable-next-line import/prefer-default-export\nexport const consoleLogger = (payload: LoggerPayload) => {\n const eventLogLevel = payload.level;\n const logLevel = getLogLevel();\n\n if (!shouldDisplayLog(logLevel, eventLogLevel)) {\n return;\n }\n\n const consoleKey = getLoggingFromLevel(eventLogLevel);\n const deprecationWarning =\n payload.level === LogLevel.deprecation\n ? `⚠️⚠️⚠️ DEPRECATION WARNING ⚠️⚠️⚠️\n`\n : '';\n\n console[consoleKey](`${deprecationWarning}[Atlassian Client-side Extensions]: ${payload.message}`);\n\n // Verbose logging\n if (logLevel === LogLevel.debug) {\n console.groupCollapsed(' <click here for more details about above message>');\n console.log({\n components: payload.components,\n meta: payload.meta,\n });\n console.groupEnd();\n }\n};\n"]}
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../lib/logger/console.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\n\nimport type { LoggerPayload } from './logger';\nimport { LogLevel } from './logger';\nimport { getLogLevel } from '../debug-state';\n\n// We need to pick the callable keys from the console object\ntype ConsoleLogsTypes = keyof Pick<typeof console, 'log' | 'warn' | 'error' | 'info' | 'debug'>;\n\nconst getLoggingFromLevel = (level: LogLevel): ConsoleLogsTypes => {\n switch (level) {\n case LogLevel.error:\n return 'error';\n case LogLevel.debug:\n return 'debug';\n case LogLevel.info:\n return 'info';\n case LogLevel.warn:\n case LogLevel.deprecation:\n return 'warn';\n default:\n return 'debug';\n }\n};\n\n// Naive implementation but we can't use bitwise operators :(\nconst debugLevels = Object.values(LogLevel);\nconst errorLevels = debugLevels.filter((level) => level !== LogLevel.debug);\nconst warnLevels = errorLevels.filter((level) => level !== LogLevel.error);\nconst deprecationLevels = warnLevels.filter((level) => level !== LogLevel.warn);\nconst infoLevels = deprecationLevels.filter((level) => level !== LogLevel.deprecation);\n\nconst levelsMap: { [key: string]: string[] } = {\n [LogLevel.debug]: debugLevels,\n [LogLevel.error]: errorLevels,\n [LogLevel.warn]: warnLevels,\n [LogLevel.deprecation]: deprecationLevels,\n [LogLevel.info]: infoLevels,\n};\n\nfunction shouldDisplayLog(logLevel: LogLevel, eventLogLevel: LogLevel) {\n if (logLevel === LogLevel.debug) {\n return true;\n }\n\n const levels = levelsMap[logLevel];\n\n return Array.isArray(levels) ? levels.includes(eventLogLevel) : false;\n}\nexport const consoleLogger = (payload: LoggerPayload) => {\n const eventLogLevel = payload.level;\n const logLevel = getLogLevel();\n\n if (!shouldDisplayLog(logLevel, eventLogLevel)) {\n return;\n }\n\n const consoleKey = getLoggingFromLevel(eventLogLevel);\n const deprecationWarning =\n payload.level === LogLevel.deprecation\n ? `⚠️⚠️⚠️ DEPRECATION WARNING ⚠️⚠️⚠️\n`\n : '';\n\n console[consoleKey](`${deprecationWarning}[Atlassian Client-side Extensions]: ${payload.message}`);\n\n // Verbose logging\n if (logLevel === LogLevel.debug) {\n console.groupCollapsed(' <click here for more details about above message>');\n console.log({\n components: payload.components,\n meta: payload.meta,\n });\n console.groupEnd();\n }\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import { consoleLogger } from './console';
2
- import { observeDebugSubject } from '../debug-subjects';
2
+ import { DebugSubjects, observeDebugSubject } from '../debug-subjects';
3
3
  import { _loggerSubject } from './logger';
4
4
  /**
5
5
  * We need to keep and expose the "observeLogger" function for a legacy reason.
@@ -8,7 +8,7 @@ import { _loggerSubject } from './logger';
8
8
  * @deprecated
9
9
  */
10
10
  export const observeLogger = (observer) => {
11
- return observeDebugSubject("logger" /* DebugSubjects.Logger */, observer);
11
+ return observeDebugSubject(DebugSubjects.Logger, observer);
12
12
  };
13
13
  const registerConsoleLogger = () => {
14
14
  // Singleton workaround as this module may be executed more than once.
@@ -38,7 +38,7 @@ export const setLogger = (logger) => {
38
38
  }
39
39
  deregisterLogger();
40
40
  _loggerSubject.prune();
41
- observeDebugSubject("logger" /* DebugSubjects.Logger */, logger);
41
+ observeDebugSubject(DebugSubjects.Logger, logger);
42
42
  };
43
43
  const deregisterDefaultLogger = () => defaultLogger.unsubscribe();
44
44
  // @VisibleForTesting
@@ -1 +1 @@
1
- {"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../../lib/logger/default-logger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAiB,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAS1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAiC,EAAgB,EAAE;IAC7E,OAAO,mBAAmB,sCAAsC,QAAQ,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAiB,EAAE;IAC7C,sEAAsE;IACtE,wDAAwD;IACxD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,aAAa,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC,aAAa,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAS,EAAE;IAChC,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO;IACX,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAA+B,EAAQ,EAAE;IAC/D,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACzF,CAAC;IAED,gBAAgB,EAAE,CAAC;IACnB,cAAc,CAAC,KAAK,EAAE,CAAC;IAEvB,mBAAmB,sCAAsC,MAAM,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AAElE,qBAAqB;AACrB,OAAO,EAAE,uBAAuB,IAAI,wBAAwB,EAAE,CAAC","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { Observer, Subscription } from '@atlassian/clientside-extensions-base';\nimport { consoleLogger } from './console';\nimport { DebugSubjects, observeDebugSubject } from '../debug-subjects';\nimport type { LoggerPayload } from './logger';\nimport { _loggerSubject } from './logger';\n\ndeclare global {\n interface Window {\n // clientside extension default logging deregister\n ____c_p_d_l_d?: Subscription;\n }\n}\n\n/**\n * We need to keep and expose the \"observeLogger\" function for a legacy reason.\n * It should be removed in CSEv3\n *\n * @deprecated\n */\nexport const observeLogger = (observer: Observer<LoggerPayload>): Subscription => {\n return observeDebugSubject<LoggerPayload>(DebugSubjects.Logger, observer);\n};\n\nconst registerConsoleLogger = (): Subscription => {\n // Singleton workaround as this module may be executed more than once.\n // We only ever want one global default logger, however.\n if (window.____c_p_d_l_d !== undefined) {\n return window.____c_p_d_l_d;\n }\n\n window.____c_p_d_l_d = observeLogger(consoleLogger);\n\n return window.____c_p_d_l_d;\n};\n\nconst deregisterLogger = (): void => {\n if (window.____c_p_d_l_d === undefined) {\n return;\n }\n\n window.____c_p_d_l_d.unsubscribe();\n};\n\nexport const defaultLogger = registerConsoleLogger();\n\n/**\n * Added in CSE 2.1.0\n *\n * @param logger\n * @public\n */\nexport const setLogger = (logger: Observer<LoggerPayload>): void => {\n if (typeof logger !== 'function') {\n throw new Error(`Client-side Extension: The provided logger needs to be a function`);\n }\n\n deregisterLogger();\n _loggerSubject.prune();\n\n observeDebugSubject<LoggerPayload>(DebugSubjects.Logger, logger);\n};\n\nconst deregisterDefaultLogger = () => defaultLogger.unsubscribe();\n\n// @VisibleForTesting\nexport { deregisterDefaultLogger as _deregisterDefaultLogger };\n"]}
1
+ {"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../../lib/logger/default-logger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAS1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAiC,EAAgB,EAAE;IAC7E,OAAO,mBAAmB,CAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAiB,EAAE;IAC7C,sEAAsE;IACtE,wDAAwD;IACxD,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,aAAa,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAEpD,OAAO,MAAM,CAAC,aAAa,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAS,EAAE;IAChC,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO;IACX,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,EAAE,CAAC;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAA+B,EAAQ,EAAE;IAC/D,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACzF,CAAC;IAED,gBAAgB,EAAE,CAAC;IACnB,cAAc,CAAC,KAAK,EAAE,CAAC;IAEvB,mBAAmB,CAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;AAElE,qBAAqB;AACrB,OAAO,EAAE,uBAAuB,IAAI,wBAAwB,EAAE,CAAC","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { Observer, Subscription } from '@atlassian/clientside-extensions-base';\nimport { consoleLogger } from './console';\nimport { DebugSubjects, observeDebugSubject } from '../debug-subjects';\nimport type { LoggerPayload } from './logger';\nimport { _loggerSubject } from './logger';\n\ndeclare global {\n interface Window {\n // clientside extension default logging deregister\n ____c_p_d_l_d?: Subscription;\n }\n}\n\n/**\n * We need to keep and expose the \"observeLogger\" function for a legacy reason.\n * It should be removed in CSEv3\n *\n * @deprecated\n */\nexport const observeLogger = (observer: Observer<LoggerPayload>): Subscription => {\n return observeDebugSubject<LoggerPayload>(DebugSubjects.Logger, observer);\n};\n\nconst registerConsoleLogger = (): Subscription => {\n // Singleton workaround as this module may be executed more than once.\n // We only ever want one global default logger, however.\n if (window.____c_p_d_l_d !== undefined) {\n return window.____c_p_d_l_d;\n }\n\n window.____c_p_d_l_d = observeLogger(consoleLogger);\n\n return window.____c_p_d_l_d;\n};\n\nconst deregisterLogger = (): void => {\n if (window.____c_p_d_l_d === undefined) {\n return;\n }\n\n window.____c_p_d_l_d.unsubscribe();\n};\n\nexport const defaultLogger = registerConsoleLogger();\n\n/**\n * Added in CSE 2.1.0\n *\n * @param logger\n * @public\n */\nexport const setLogger = (logger: Observer<LoggerPayload>): void => {\n if (typeof logger !== 'function') {\n throw new Error(`Client-side Extension: The provided logger needs to be a function`);\n }\n\n deregisterLogger();\n _loggerSubject.prune();\n\n observeDebugSubject<LoggerPayload>(DebugSubjects.Logger, logger);\n};\n\nconst deregisterDefaultLogger = () => defaultLogger.unsubscribe();\n\n// @VisibleForTesting\nexport { deregisterDefaultLogger as _deregisterDefaultLogger };\n"]}
@@ -1,5 +1,5 @@
1
1
  import { ReplaySubject } from '@atlassian/clientside-extensions-base';
2
- import { registerDebugSubject } from '../debug-subjects';
2
+ import { DebugSubjects, registerDebugSubject } from '../debug-subjects';
3
3
  export var LogLevel;
4
4
  (function (LogLevel) {
5
5
  LogLevel["debug"] = "DEBUG";
@@ -8,7 +8,7 @@ export var LogLevel;
8
8
  LogLevel["deprecation"] = "DEPRECATION";
9
9
  LogLevel["info"] = "INFO";
10
10
  })(LogLevel || (LogLevel = {}));
11
- const loggerSubject = registerDebugSubject("logger" /* DebugSubjects.Logger */, () => new ReplaySubject(20));
11
+ const loggerSubject = registerDebugSubject(DebugSubjects.Logger, () => new ReplaySubject(20));
12
12
  // Exported for internal use only
13
13
  export { loggerSubject as _loggerSubject };
14
14
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../lib/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAiB,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAExE,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,uCAA2B,CAAA;IAC3B,yBAAa,CAAA;AACjB,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAaD,MAAM,aAAa,GAAG,oBAAoB,sCAAuB,GAAG,EAAE,CAAC,IAAI,aAAa,CAAgB,EAAE,CAAC,CAAC,CAAC;AAE7G,iCAAiC;AACjC,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,CAAC","sourcesContent":["import { ReplaySubject } from '@atlassian/clientside-extensions-base';\nimport { DebugSubjects, registerDebugSubject } from '../debug-subjects';\n\nexport enum LogLevel {\n debug = 'DEBUG', // Logs all the things\n error = 'ERROR',\n warn = 'WARN',\n deprecation = 'DEPRECATION',\n info = 'INFO', // The lowest level\n}\n\nexport type LoggerCallback = (levels: typeof LogLevel) => LoggerPayload;\n\nexport type LoggerPayload = {\n level: LogLevel;\n message: string;\n components?: string | string[];\n meta?: {\n [key: string]: unknown;\n };\n};\n\nconst loggerSubject = registerDebugSubject(DebugSubjects.Logger, () => new ReplaySubject<LoggerPayload>(20));\n\n// Exported for internal use only\nexport { loggerSubject as _loggerSubject };\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../lib/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAExE,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,uCAA2B,CAAA;IAC3B,yBAAa,CAAA;AACjB,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAaD,MAAM,aAAa,GAAG,oBAAoB,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,aAAa,CAAgB,EAAE,CAAC,CAAC,CAAC;AAE7G,iCAAiC;AACjC,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,CAAC","sourcesContent":["import { ReplaySubject } from '@atlassian/clientside-extensions-base';\nimport { DebugSubjects, registerDebugSubject } from '../debug-subjects';\n\nexport enum LogLevel {\n debug = 'DEBUG', // Logs all the things\n error = 'ERROR',\n warn = 'WARN',\n deprecation = 'DEPRECATION',\n info = 'INFO', // The lowest level\n}\n\nexport type LoggerCallback = (levels: typeof LogLevel) => LoggerPayload;\n\nexport type LoggerPayload = {\n level: LogLevel;\n message: string;\n components?: string | string[];\n meta?: {\n [key: string]: unknown;\n };\n};\n\nconst loggerSubject = registerDebugSubject(DebugSubjects.Logger, () => new ReplaySubject<LoggerPayload>(20));\n\n// Exported for internal use only\nexport { loggerSubject as _loggerSubject };\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"debug-state.d.ts","sourceRoot":"","sources":["../../lib/debug-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAGtE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,aAAK,yBAAyB;IAC1B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,mBAAmB;IACnB,QAAQ,aAAa;CACxB;AAED,KAAK,aAAa,GAAG,OAAO,CAAC,MAAM,OAAO,yBAAyB,EAAE,UAAU,CAAC,CAAC;AAEjF,MAAM,MAAM,oBAAoB,GAAG;KAC9B,GAAG,IAAI,aAAa,GAAG,OAAO;CAClC,GAAG;IACA,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CAClD,CAAC;AAQF,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAAG;IAC7D,aAAa,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IAEX,UAAU,MAAM;QAGZ,SAAS,EAAE,2BAA2B,CAAC;KAC1C;CACJ;AAkHD,eAAO,MAAM,kBAAkB,aAAc,QAAQ,CAAC,oBAAoB,CAAC,iEACC,CAAC;AAE7E,eAAO,MAAM,cAAc,eAE1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,eAE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAE/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,eAE9B,CAAC;AAEF,mBAAmB;AACnB,eAAO,MAAM,WAAW,QAAO,QAE9B,CAAC;AAEF,eAAO,MAAM,eAAe,UAAW,OAAO,SAE7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAW,OAAO,SAE/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAAW,OAAO,SAElD,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAW,OAAO,SAEjD,CAAC;AAEF,mBAAmB;AACnB,eAAO,MAAM,WAAW,UAAW,MAAM,SAIxC,CAAC"}
1
+ {"version":3,"file":"debug-state.d.ts","sourceRoot":"","sources":["../../lib/debug-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAGtE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,aAAK,yBAAyB;IAC1B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,SAAS,cAAc;IACvB,mBAAmB;IACnB,QAAQ,aAAa;CACxB;AAED,KAAK,aAAa,GAAG,OAAO,CAAC,MAAM,OAAO,yBAAyB,EAAE,UAAU,CAAC,CAAC;AAEjF,MAAM,MAAM,oBAAoB,GAAG;KAC9B,GAAG,IAAI,aAAa,GAAG,OAAO;CAClC,GAAG;IACA,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CAClD,CAAC;AAQF,MAAM,MAAM,2BAA2B,GAAG,oBAAoB,GAAG;IAC7D,aAAa,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IAEX,UAAU,MAAM;QAGZ,SAAS,EAAE,2BAA2B,CAAC;KAC1C;CACJ;AAkHD,eAAO,MAAM,kBAAkB,GAAI,UAAU,QAAQ,CAAC,oBAAoB,CAAC,iEACC,CAAC;AAE7E,eAAO,MAAM,cAAc,eAE1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,eAE5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,eAE/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,eAE9B,CAAC;AAEF,mBAAmB;AACnB,eAAO,MAAM,WAAW,QAAO,QAE9B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,SAE7C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,SAE/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,SAElD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,SAEjD,CAAC;AAEF,mBAAmB;AACnB,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,SAIxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug-subjects.d.ts","sourceRoot":"","sources":["../../lib/debug-subjects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAE/E,KAAK,8BAA8B,GAAG;IAClC,aAAa,EAAE,kBAAkB,CAAC;IAClC,QAAQ,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,0BAAkB,aAAa;IAC3B,MAAM,WAAW;IACjB,KAAK,UAAU;CAClB;AAMD,OAAO,CAAC,MAAM,CAAC;IAEX,UAAU,MAAM;QAEZ,SAAS,EAAE,8BAA8B,CAAC;KAC7C;CACJ;AAuBD,KAAK,iBAAiB,CAAC,WAAW,IAAI,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEvF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,SAAS,OAAO,CAAC,WAAW,CAAC,EAAE,WAAW,wCACjF,aAAa,kBACF,MAAM,WAAW,KAClC,WAUF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,WAAW,OAAO,aAAa,YAAY,QAAQ,CAAC,WAAW,CAAC,iEAQnG,CAAC"}
1
+ {"version":3,"file":"debug-subjects.d.ts","sourceRoot":"","sources":["../../lib/debug-subjects.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAE/E,KAAK,8BAA8B,GAAG;IAClC,aAAa,EAAE,kBAAkB,CAAC;IAClC,QAAQ,EAAE,kBAAkB,CAAC;CAChC,CAAC;AAEF,0BAAkB,aAAa;IAC3B,MAAM,WAAW;IACjB,KAAK,UAAU;CAClB;AAMD,OAAO,CAAC,MAAM,CAAC;IAEX,UAAU,MAAM;QAEZ,SAAS,EAAE,8BAA8B,CAAC;KAC7C;CACJ;AAuBD,KAAK,iBAAiB,CAAC,WAAW,IAAI,WAAW,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEvF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,WAAW,SAAS,OAAO,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,EACvH,KAAK,aAAa,EAClB,gBAAgB,MAAM,WAAW,KAClC,WAUF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,WAAW,EAAE,KAAK,aAAa,EAAE,UAAU,QAAQ,CAAC,WAAW,CAAC,iEAQnG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../lib/debug.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,iBAAiB,CAAC;AAIrE,eAAO,MAAM,OAAO,aAAc,cAAc,SAiB/C,CAAC"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../lib/debug.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,iBAAiB,CAAC;AAErE,eAAO,MAAM,OAAO,GAAI,UAAU,cAAc,SAiB/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../lib/logger/console.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAiD9C,eAAO,MAAM,aAAa,YAAa,aAAa,SA0BnD,CAAC"}
1
+ {"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../lib/logger/console.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA+C9C,eAAO,MAAM,aAAa,GAAI,SAAS,aAAa,SA0BnD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"default-logger.d.ts","sourceRoot":"","sources":["../../../lib/logger/default-logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAGpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QAEZ,aAAa,CAAC,EAAE,YAAY,CAAC;KAChC;CACJ;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,aAAc,QAAQ,CAAC,aAAa,CAAC,KAAG,YAEjE,CAAC;AAsBF,eAAO,MAAM,aAAa,cAA0B,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,WAAY,QAAQ,CAAC,aAAa,CAAC,KAAG,IAS3D,CAAC;AAEF,QAAA,MAAM,uBAAuB,YAAoC,CAAC;AAGlE,OAAO,EAAE,uBAAuB,IAAI,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"default-logger.d.ts","sourceRoot":"","sources":["../../../lib/logger/default-logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAGpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QAEZ,aAAa,CAAC,EAAE,YAAY,CAAC;KAChC;CACJ;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,QAAQ,CAAC,aAAa,CAAC,KAAG,YAEjE,CAAC;AAsBF,eAAO,MAAM,aAAa,cAA0B,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,QAAQ,CAAC,aAAa,CAAC,KAAG,IAS3D,CAAC;AAEF,QAAA,MAAM,uBAAuB,YAAoC,CAAC;AAGlE,OAAO,EAAE,uBAAuB,IAAI,wBAAwB,EAAE,CAAC"}
package/lib/debug.ts CHANGED
@@ -2,8 +2,6 @@ import { isDebugEnabled, isLoggingEnabled } from './debug-state';
2
2
 
3
3
  import type { LoggerCallback, LoggerPayload } from './logger/logger';
4
4
  import { _loggerSubject, LogLevel } from './logger/logger';
5
-
6
- // eslint-disable-next-line import/prefer-default-export
7
5
  export const onDebug = (callback: LoggerCallback) => {
8
6
  // Return early if both debug and logging is disabled
9
7
  if (!isDebugEnabled() || !isLoggingEnabled()) {
@@ -47,8 +47,6 @@ function shouldDisplayLog(logLevel: LogLevel, eventLogLevel: LogLevel) {
47
47
 
48
48
  return Array.isArray(levels) ? levels.includes(eventLogLevel) : false;
49
49
  }
50
-
51
- // eslint-disable-next-line import/prefer-default-export
52
50
  export const consoleLogger = (payload: LoggerPayload) => {
53
51
  const eventLogLevel = payload.level;
54
52
  const logLevel = getLogLevel();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlassian/clientside-extensions-debug",
3
- "version": "5.1.6-eadeedb5-mltiipai",
3
+ "version": "6.0.0-m002",
4
4
  "description": "Implements debug capabilities for client-side extensions.",
5
5
  "license": "BSD-3-Clause",
6
6
  "homepage": "https://bitbucket.org/atlassian/atlassian-clientside-extensions#readme",
@@ -65,18 +65,18 @@
65
65
  "test:watch": "jest --watch"
66
66
  },
67
67
  "devDependencies": {
68
- "@types/jest-in-case": "1.0.5",
68
+ "@types/jest-in-case": "1.0.9",
69
69
  "jest": "27.3.1",
70
70
  "jest-in-case": "1.0.2",
71
71
  "jest-mock": "30.0.5",
72
- "ts-jest": "29.4.1"
72
+ "ts-jest": "29.4.9"
73
73
  },
74
74
  "dependencies": {
75
- "@atlassian/clientside-extensions-base": "^5.1.6-eadeedb5-mltiipai",
75
+ "@atlassian/clientside-extensions-base": "^6.0.0-m002",
76
76
  "tslib": "^2.2.0"
77
77
  },
78
78
  "engines": {
79
- "node": ">=20.18.1"
79
+ "node": ">=24.4.0"
80
80
  },
81
- "gitHead": "eadeedb5193db701b870a0bc46664d193ed9d69c"
81
+ "gitHead": "25782eb406fc2c5f22623556534442076c02fcc9"
82
82
  }