1.8.0 • Published 10 months ago

scriptable-abstract v1.8.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

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-abstract

Usage

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 output

Scripts

  • pnpm generate - Generate abstract structures
  • pnpm build - Build the project
  • pnpm clean - Clean generated files
  • pnpm format - Format code
  • pnpm 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.0 works with @types/scriptable-ios@1.7.7
  • Package version: 1.1.0 works 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 consistency
  • pnpm check-update - Check for updates
  • pnpm auto-release - Automated release process

Automated Workflow

  1. Daily checks for @types/scriptable-ios updates
  2. Automatic version synchronization
  3. Automated testing and building
  4. Automatic releases for compatible updates
  5. Issue creation for major version changes
1.8.0

10 months ago

1.7.0

11 months ago

1.6.1

11 months ago

1.6.0

11 months ago

1.5.1

12 months ago

1.5.0

12 months ago

1.4.0

12 months ago

1.3.2

12 months ago

1.3.1

12 months ago

1.3.0

12 months ago

1.2.0

12 months ago

1.1.0

12 months ago

1.0.12

12 months ago

1.0.11

12 months ago

1.0.10

12 months ago

1.0.9

12 months ago

1.0.8

12 months ago

1.0.7

12 months ago

1.0.6

12 months ago

1.0.5

12 months ago

1.0.4

12 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.7.7-1

12 months ago

1.0.1

12 months ago