53 lines
1 KiB
JavaScript
53 lines
1 KiB
JavaScript
export class MyClassExtension {
|
|
// eslint-disable-next-line class-methods-use-this
|
|
provides() {
|
|
return {
|
|
shared: () => 'extension',
|
|
classExtMethod: () => 'class own method',
|
|
};
|
|
}
|
|
}
|
|
|
|
export function MyFnExtension() {
|
|
return {
|
|
fnExtMethod: () => 'fn own method',
|
|
provides: () => {
|
|
return {
|
|
fnExtMethod: () => 'class own method',
|
|
};
|
|
},
|
|
};
|
|
}
|
|
|
|
export const MyConstExt = () => {
|
|
return {
|
|
provides: () => {
|
|
return {
|
|
constExtMethod: () => 'const own method',
|
|
};
|
|
},
|
|
};
|
|
};
|
|
|
|
export const conflictingExtensions = {
|
|
WithInstanceExt: () => {
|
|
return {
|
|
provides: () => {
|
|
return {
|
|
use: () => 'A conflict with instance',
|
|
ownMethod: () => 'Non-conflicting method',
|
|
};
|
|
},
|
|
};
|
|
},
|
|
WithAnotherExt: () => {
|
|
return {
|
|
provides: () => {
|
|
return {
|
|
shared: () => 'A conflict with extension',
|
|
ownMethod: () => 'Non-conflicting method',
|
|
};
|
|
},
|
|
};
|
|
},
|
|
};
|