Abstract class definitions and type structures for Scriptable-iOS, providing the foundation for building mock implementations and type-safe Scriptable development tools.
- Complete type definitions extracted from @types/scriptable-ios
- Abstract class implementations with structural information
- Automatic code generation for class structures
- Used as the foundation for scriptable-mocks and other tools
- ESM and CommonJS module support
- Version tracking of source type definitions
npm install scriptable-abstract
# or
pnpm add scriptable-abstract
import { AbsAlert } from 'scriptable-abstract';
class MockAlert extends AbsAlert {
private _title: string = '';
private _message: string = '';
get title(): string {
return this._title;
}
set title(value: string) {
this._title = value;
}
get message(): string {
return this._message;
}
set message(value: string) {
this._message = value;
}
async present(): Promise<number> {
// Mock implementation
return 0;
}
}
import { AbsCallbackURL } from 'scriptable-abstract';
// With type parameter for shortcuts
const shortcutURL = new AbsCallbackURL<`shortcuts://x-callback-url/${string}`>();
scriptable-abstract/
├── src/
│ ├── core/ # Core parsing and generation
│ ├── generators/ # Structure generators
│ └── types/ # Type definitions
├── generated/ # Generated class structures
└── dist/ # Compiled output
-
pnpm generate
- Generate abstract structures -
pnpm build
- Build the project -
pnpm clean
- Clean generated files -
pnpm format
- Format code -
pnpm lint
- Lint code
MIT
This package uses semantic versioning independently from @types/scriptable-ios
. Each version specifies the compatible version of @types/scriptable-ios
in its dependencies.
For example:
- Package version:
1.0.0
works with @types/scriptable-ios@1.7.7 - Package version:
1.1.0
works with @types/scriptable-ios@1.7.8
This package uses automated version management to stay in sync with @types/scriptable-ios:
- Automatic daily checks for updates
- Version synchronization across all dependencies
- Automated releases for minor and patch updates
- Manual review process for major version updates
-
pnpm sync
- Check version consistency -
pnpm check-update
- Check for updates -
pnpm auto-release
- Automated release process
- Daily checks for @types/scriptable-ios updates
- Automatic version synchronization
- Automated testing and building
- Automatic releases for compatible updates
- Issue creation for major version changes