scriptable-abstract v1.8.0
Scriptable Abstract
Abstract class definitions and type structures for Scriptable-iOS, providing the foundation for building mock implementations and type-safe Scriptable development tools.
Features
- 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
Installation
npm install scriptable-abstract
# or
pnpm add scriptable-abstractUsage
Building Mock Implementations
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;
}
}Using Generic Types
import { AbsCallbackURL } from 'scriptable-abstract';
// With type parameter for shortcuts
const shortcutURL = new AbsCallbackURL<`shortcuts://x-callback-url/${string}`>();Project Structure
scriptable-abstract/
├── src/
│ ├── core/ # Core parsing and generation
│ ├── generators/ # Structure generators
│ └── types/ # Type definitions
├── generated/ # Generated class structures
└── dist/ # Compiled outputScripts
pnpm generate- Generate abstract structurespnpm build- Build the projectpnpm clean- Clean generated filespnpm format- Format codepnpm lint- Lint code
License
MIT
Version Compatibility
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.0works with @types/scriptable-ios@1.7.7 - Package version:
1.1.0works with @types/scriptable-ios@1.7.8
Version Management
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
Scripts
pnpm sync- Check version consistencypnpm check-update- Check for updatespnpm auto-release- Automated release process
Automated Workflow
- 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
10 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago